From nobody Sat Aug 12 15:34:34 2023 X-Original-To: freebsd-arm@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RNPqM5ZZsz4qB6r for ; Sat, 12 Aug 2023 15:34:55 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic303-24.consmr.mail.gq1.yahoo.com (sonic303-24.consmr.mail.gq1.yahoo.com [98.137.64.205]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4RNPqK11lKz3DVD for ; Sat, 12 Aug 2023 15:34:53 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=yahoo.com header.s=s2048 header.b=L3zzFuT7; spf=pass (mx1.freebsd.org: domain of marklmi@yahoo.com designates 98.137.64.205 as permitted sender) smtp.mailfrom=marklmi@yahoo.com; dmarc=pass (policy=reject) header.from=yahoo.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1691854491; bh=kJiXftM/uFlSn+E9KfZ3QpYDiag7nEhB+WF4l+mHQ18=; h=From:Subject:Date:To:References:From:Subject:Reply-To; b=L3zzFuT7k0PjpHhiHnp8smNpalu9wwk2ZM41LnbB0YZtVNGDeDdU7ee6b+U3TLSXu37aDkcM8qe26E3rdXxvvdZyLvRlabP6o6Qj1tI7imLAntBMqjMRZ/IYsWlQkhgBZRI3SyRx37sN28E/Qrer+lFPnO9JhpiKiacjodkPg9CA4XoHsEuZqwQlZ+rU+p+LN+NKxqQrPioZ9YuSOaLsUuXt78Th3X31Bt6sYmxqIdb13rk5KnsULN04lAMXJrXgIOpMxblA7dgWyVWKv3/7j0LnfJtAtou93RzTV6AJSDpKImoBp/y2MAx8U5U8/bDp0l1TMVMhCat9jp6/jksP0Q== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1691854491; bh=O8vF8fCnCGHPQCMd5ItDdeozFasY00B/Ar0L5XZgzwH=; h=X-Sonic-MF:From:Subject:Date:To:From:Subject; b=N2YYjhtGCKXkBptVAsuDDMWwdfHuVBba104aOSUuRctw5ROcC6QRikPVbAKnn6oRWmxlIfV7ETH+U3XsC9yw0kdmS/1Cs4RaxvRG8eU1l7eaVVWkamDozOZA3Y9IHlX4mpS14+fgRBtfpNlk0nBzBW4oCXe5c/205RQQRx+0MOH6mY9TvDE79QRK3jTybepVo0f4YQFmsa+2/S02SRMBnXzbDa+JDeagVYBs1ib7sX3RMS/5jmDGzRxtB4wOZXEpPpcmyPRLWo6+46uTmY4BPXdExNqoRSq83NsyigyuIogTWxvCxEECeioYyfdEE2GLSxvR9eW6xPHztBn6ii/8bw== X-YMail-OSG: oZ53COMVM1mA_d.SlwiQa8qdVXkhgiFIutgLW5VoR_kacK5RWWId4Jdtt44DeNM N8RU9omtQW4V.T.Lz2JDf7Cu5DH_4QGPfAlIDy9BdtMPU4YXynlMDNKV5zGIBHRxHDZTrHkBXeRF kNwy2T7xzcmBr.yhGrLhoZds6TrFYGDtS0VPZTKYa8MNw.45F.0DEj.b8iMHt1TMsLoOdndsXSYW HHNYBebe5aSc5WKHNVrTvps3oeadTbDhCs2PxGzyVW99a8XOLQgotF6nC3Wpq9CkhAq1zfhAA8QP magM6B4Ai4xui0syzqTWut81qUsmwPEykMwb1ChPK7_RrB.3n1vfmlJhmMks52VGYTXC6vs30kG9 Vg7fwBcFJqCKnpAJaFapCME8KYBwA3YQoT1bjxDbexanUCpXOqYoVi.oGrXPegh3DxCAa7rVZlEh _KZUkiVuMsDGF4VW9ztfbX.ntglULNBvYnsu.8H2DQNaeV._6ScErCRnyMAC8QUWlS8__mhp9Mkp w2iSl.xC63LoP269WBXpqJwyZAyOgmAorqfzZJTJ2_LRb4QQJRu3WFpDGVC30goCr1IB9BaY4FOG MTCBtFzEzp3aMDKDUofqyd6wA5wJHcCZRE7RlYPYSQ7DgOVKpmuxi6is6nfRjBO9sryBI_j1NAjZ Wu_fivVSaURJ9KBrPpbwWgLPGz7vm4oKXTPzE9eOUuoaCs_A0pCrDx585uFslVwbjvB16ZUwIVQz 9m2daUsLl3GWqpWe.jNXfn0jXAes2p0Q91HQyA_H2xx8EQCl8kO7ESLxmG6qNkWYBJLaPWDZrx5e 4KTqOq7BRxdum2nSZIZ8Hsn7R9Ep8TMTsgleWzAHkQ71tqEd7pAceBDm0o1bYuQ4Y94kKkD6hZ6t b8Sc_3eEhVjcgXTVoUccnB9CQBgPiHslZv6mhRboJ_Z.eTSFPEHUFdSDzugvsjNwOV48KVc7TuPP NFFTLZwAc.EWLJZsLvxp1EybAa8f9ZI_cA49D8suO7kWE3enDzJ96kpsFvx5LcBLxdntOk_V.I8v BB6hsPdlcRegZKSmLqVozQfX11ou3qNZz9M5CKbfNSymjzOmlr7Tc6LyE_hN8f8Oal0a9A..2e80 wfFi3JnDTI2bIn7BzVNNaw0uEa9w7b8FH48eyZkocQ.5uu3eK8_FcKUx2XFrq_KRFXa_PLpAabuL PM0ExE0c172lajhhx0YeLlooil_ZbfANwHmHzJsxmgugYzCB6bY.UlAo6JkE470zjqfmv1K5Snyr GnK5DeBZcfe0SvEQIUoKBmswPAjxNepVWG0xtbTRu1bGtrS7tkzgHmF0FmL9hHAt0HGuSx9u_Pig zbNCXAvJQEMcd2i8QgoDmOhFPj.3e3FM33r6i.QyUPGLrsj4WKtmVQpO4r_oh3MhjsHsBfGBp9Tm lNu3PvgKlzKuOypnjaWJS7Ed0krrEQuj6gwjuSepSDRmsvmtr0BkNCEhGuEEF2_0zrnb9aI2ZoZo VQX_Al0nYHzytwPh9p2fd2IdhU6gRfjYg.PPhbWkI70F4X9vwYZFl3eEZd8VJuBvdssKIGRRi_EZ voxbRS03uiMxjx_sRmCIf9nfEDebb35OYKkuPhGOfJNe_IMg5aS4kxxMkGHVb12EIwsBLV194jh0 29efTb0v0YLgnKf7wG24FL90MIV05PHfif2cUIhqKnlIoNERx.v6pMn5dWOPw2TS6nFNBPDCyWiG sL9uQA7lv1nFw3zyUUzclSwxMSp.O6EbewykFNZbFDdmTj6RNd1b21ztj3XZDvoAa8VO0Rt0gprj Ckx_5SPnKXpaz9JUu99FJb5rfXMhUoaB.4FFleCCIPSwwlafhVLCLebZakdT4ELAV.7Llbm1DCHB CxRV_5Dw2YraLButtSyubmY_rQPQf3iGWvt.5ydfM_55VwPZbPKEF9yAozhCcOEupyLJhzHwEk.C 7rGSD0hwBJlGeewUtcE84Va9QNeTjinQUNKDg3nFEiTRxgfFnTUa09EiwUno0YadCH25rSjR3IqV _t5_mB8JFX_WBm5dh0lSScRzXfNFYNwathEsdf3trbB9rr3ga2rJWbwUpZ4cvHP8eeOeaDGwtnfa c72iZeCpHe_JVqjPHz36hWs3CsxdddMogSavrkrfPtSfyA9PxYGja0KIR8KItR5LdVfNDdnQNqH9 AUk6plB_mfkHJi5aEIpfxvcoXBxbKzVwRYr242LiyrdP9ocMHRzE3Z3feSfBllK6pvK.i6.Sk1lU Ljm10rqJntOIU9qQ0wMAbm0wg.LujKQAnjFuV1xM2OAqmCCyzHgAteHDzzUchutM- X-Sonic-MF: X-Sonic-ID: c503d428-5feb-40b2-a6cb-4b52ff2a7d6e Received: from sonic.gate.mail.ne1.yahoo.com by sonic303.consmr.mail.gq1.yahoo.com with HTTP; Sat, 12 Aug 2023 15:34:51 +0000 Received: by hermes--production-bf1-865889d799-cgv22 (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 079876f630f9441de4c858538d7ecfd4; Sat, 12 Aug 2023 15:34:46 +0000 (UTC) From: Mark Millard Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable List-Id: Porting FreeBSD to ARM processors List-Archive: https://lists.freebsd.org/archives/freebsd-arm List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-arm@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6\)) Subject: The bcm2711-rpi-4-b.dtb update that is part of the RPi firmware update to the most recent tagged version: a diff with the old Message-Id: Date: Sat, 12 Aug 2023 08:34:34 -0700 To: FreeBSD ARM List X-Mailer: Apple Mail (2.3731.700.6) References: X-Spamd-Result: default: False [-3.50 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; MV_CASE(0.50)[]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; MIME_GOOD(-0.10)[text/plain]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; BLOCKLISTDE_FAIL(0.00)[98.137.64.205:server fail]; RCPT_COUNT_ONE(0.00)[1]; MLMMJ_DEST(0.00)[freebsd-arm@freebsd.org]; RCVD_IN_DNSWL_NONE(0.00)[98.137.64.205:from]; ARC_NA(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[98.137.64.205:from]; DKIM_TRACE(0.00)[yahoo.com:+]; TO_DN_ALL(0.00)[]; FREEMAIL_FROM(0.00)[yahoo.com]; DWL_DNSWL_NONE(0.00)[yahoo.com:dkim]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; RCVD_COUNT_TWO(0.00)[2] X-Spamd-Bar: --- X-Rspamd-Queue-Id: 4RNPqK11lKz3DVD On distinct systems, one a 14.0-ALPHA1 snapshot image based system and the other with a record of the prior FreeBSD RPI* firmware: # dtc -Idtb -Odts -s -o ~/bcm2711-rpi-4-b-20230405.dts = /boot/efi/bcm2711-rpi-4-b.dtb # dtc -Idtb -Odts -s -o ~/bcm2711-rpi-4-b-20210303.dts = /boot/efi/Holding_area_for_fbsd_RPiFW_materials/bcm2711-rpi-4-b.dtb Note the use of the -s to sort the output for making diff reasonable to use on the *.dts files. I do warn that the RPi* firmware adjusts the live device tree to not match the *.dtb file in some details. This varies by hardware vintage, RAM size, and, and such. So the below is only suggestive of what the FreeBSD kernel ends up working with for some parts of the device tree. Note: # diff -u ~/bcm2711-rpi-4-b-*.dts | grep "phandle" | wc -l 435 So, after putting the *.dts files in a common place, I avoid documenting the phandle differences by first stripping them: # grep -v "phandle =3D <" ~/bcm2711-rpi-4-b-20210303.dts > = ~/bcm2711-rpi-4-b-20210303-no-phandles.dts # grep -v "phandle =3D <" ~/bcm2711-rpi-4-b-20230405.dts > = ~/bcm2711-rpi-4-b-20230405-no-phandles.dts # diff -u ~/bcm2711-rpi-4-b-*-no-phandles.dts | grep "^[-+]" | wc -l 488 # diff -u ~/bcm2711-rpi-4-b-*-no-phandles.dts | wc -l 1157 For reference (leading whitespace might not be fully preserved): # diff -u ~/bcm2711-rpi-4-b-*-no-phandles.dts --- /usr/home/root/bcm2711-rpi-4-b-20210303-no-phandles.dts = 2023-08-12 08:11:21.128888000 -0700 +++ /usr/home/root/bcm2711-rpi-4-b-20230405-no-phandles.dts = 2023-08-12 08:11:53.529703000 -0700 @@ -11,62 +11,73 @@ model =3D "Raspberry Pi 4 Model B"; __overrides__ { =20 - act_led_activelow =3D <0x3d 0x6770696f 0x733a3800>; - act_led_gpio =3D <0x3d 0x6770696f 0x733a3400>; - act_led_trigger =3D [00 00 00 3d 6c 69 6e 75 78 2c 64 65 = 66 61 75 6c 74 2d 74 72 69 67 67 65 72 00]; + act_led_activelow =3D <0x41 0x6770696f 0x733a3800>; + act_led_gpio =3D <0x41 0x6770696f 0x733a3400>; + act_led_trigger =3D [00 00 00 41 6c 69 6e 75 78 2c 64 65 = 66 61 75 6c 74 2d 74 72 69 67 67 65 72 00]; arm_freq; - audio =3D [00 00 00 36 73 74 61 74 75 73 00]; + audio =3D [00 00 00 3d 62 6f 6f 74 61 72 67 73 7b 6f 6e = 3d 27 73 6e 64 5f 62 63 6d 32 38 33 35 2e 65 6e 61 62 6c 65 5f 68 65 61 = 64 70 68 6f 6e 65 73 3d 31 20 73 6e 64 5f 62 63 6d 32 38 33 35 2e 65 6e = 61 62 6c 65 5f 68 64 6d 69 3d 31 27 2c 6f 66 66 3d 27 73 6e 64 5f 62 63 = 6d 32 38 33 35 2e 65 6e 61 62 6c 65 5f 68 65 61 64 70 68 6f 6e 65 73 3d = 30 20 73 6e 64 5f 62 63 6d 32 38 33 35 2e 65 6e 61 62 6c 65 5f 68 64 6d = 69 3d 30 27 7d 00]; axiperf =3D [00 00 00 3c 73 74 61 74 75 73 00]; cache_line_size; cam0-led; cam0-led-ctrl; cam0-pwdn; cam0-pwdn-ctrl; - eth_led0 =3D <0x2e 0x6c65642d 0x6d6f6465 0x733a3000>; - eth_led1 =3D <0x2e 0x6c65642d 0x6d6f6465 0x733a3400>; - i2c0 =3D [00 00 00 10 73 74 61 74 75 73 00 00 00 00 34 = 73 74 61 74 75 73 00]; - i2c0_baudrate =3D [00 00 00 10 63 6c 6f 63 6b 2d 66 72 = 65 71 75 65 6e 63 79 3a 30 00]; - i2c1 =3D [00 00 00 35 73 74 61 74 75 73 00]; - i2c1_baudrate =3D [00 00 00 35 63 6c 6f 63 6b 2d 66 72 = 65 71 75 65 6e 63 79 3a 30 00]; - i2s =3D [00 00 00 32 73 74 61 74 75 73 00]; - krnbt =3D [00 00 00 2f 73 74 61 74 75 73 00]; - krnbt_baudrate =3D <0x2f 0x6d61782d 0x73706565 = 0x643a3000>; - pwr_led_activelow =3D <0x3e 0x6770696f 0x733a3800>; - pwr_led_gpio =3D <0x3e 0x6770696f 0x733a3400>; - pwr_led_trigger =3D [00 00 00 3e 6c 69 6e 75 78 2c 64 65 = 66 61 75 6c 74 2d 74 72 69 67 67 65 72 00]; + eee =3D [00 00 00 3d 62 6f 6f 74 61 72 67 73 7b 6f 6e 3d = 27 27 2c 6f 66 66 3d 27 67 65 6e 65 74 2e 65 65 65 3d 4e 27 7d 00]; + eth_led0 =3D <0x2f 0x6c65642d 0x6d6f6465 0x733a3000>; + eth_led1 =3D <0x2f 0x6c65642d 0x6d6f6465 0x733a3400>; + hdmi =3D [00 00 00 3e 73 74 61 74 75 73 00 00 00 00 3f = 73 74 61 74 75 73 00]; + i2c0 =3D [00 00 00 21 73 74 61 74 75 73 00 00 00 00 35 = 73 74 61 74 75 73 00]; + i2c0_baudrate =3D [00 00 00 21 63 6c 6f 63 6b 2d 66 72 = 65 71 75 65 6e 63 79 3a 30 00]; + i2c1 =3D [00 00 00 36 73 74 61 74 75 73 00]; + i2c1_baudrate =3D [00 00 00 36 63 6c 6f 63 6b 2d 66 72 = 65 71 75 65 6e 63 79 3a 30 00]; + i2s =3D [00 00 00 33 73 74 61 74 75 73 00]; + krnbt =3D [00 00 00 30 73 74 61 74 75 73 00]; + krnbt_baudrate =3D <0x30 0x6d61782d 0x73706565 = 0x643a3000>; + pcie =3D [00 00 00 2d 73 74 61 74 75 73 00]; + pwr_led_activelow =3D <0x42 0x6770696f 0x733a3800>; + pwr_led_gpio =3D <0x42 0x6770696f 0x733a3400>; + pwr_led_trigger =3D [00 00 00 42 6c 69 6e 75 78 2c 64 65 = 66 61 75 6c 74 2d 74 72 69 67 67 65 72 00]; random =3D [00 00 00 38 73 74 61 74 75 73 00]; + sd =3D [00 00 00 40 73 74 61 74 75 73 00]; sd_debug =3D [00 00 00 39 62 72 63 6d 2c 64 65 62 75 67 = 00]; sd_force_pio =3D <0x39 0x6272636d 0x2c666f72 0x63652d70 = 0x696f3f00>; sd_overclock =3D <0x39 0x6272636d 0x2c6f7665 0x72636c6f = 0x636b2d35 0x303a3000>; sd_pio_limit =3D [00 00 00 39 62 72 63 6d 2c 70 69 6f 2d = 6c 69 6d 69 74 3a 30 00]; - sd_poll_once =3D [00 00 00 3f 6e 6f 6e 2d 72 65 6d 6f 76 = 61 62 6c 65 3f 00]; + sd_poll_once =3D [00 00 00 40 6e 6f 6e 2d 72 65 6d 6f 76 = 61 62 6c 65 3f 00]; sdio_overclock =3D <0x3a 0x6272636d 0x2c6f7665 = 0x72636c6f 0x636b2d35 0x303a3000 0x3b 0x6272636d 0x2c6f7665 0x72636c6f = 0x636b2d35 0x303a3000>; - spi =3D [00 00 00 33 73 74 61 74 75 73 00]; - spi_dma4 =3D <0x33 0x646d6173 0x3a303d00 0x40 0x33 = 0x646d6173 0x3a383d00 0x40>; - uart0 =3D [00 00 00 30 73 74 61 74 75 73 00]; - uart1 =3D [00 00 00 31 73 74 61 74 75 73 00]; + spi =3D [00 00 00 34 73 74 61 74 75 73 00]; + spi_dma4 =3D <0x34 0x646d6173 0x3a303d00 0x43 0x34 = 0x646d6173 0x3a383d00 0x43>; + uart0 =3D [00 00 00 31 73 74 61 74 75 73 00]; + uart1 =3D [00 00 00 32 73 74 61 74 75 73 00]; watchdog =3D [00 00 00 37 73 74 61 74 75 73 00]; }; __symbols__ { =20 - act_led =3D "/leds/act"; + act_led =3D "/leds/led-act"; alt0 =3D "/soc/gpio@7e200000/alt0"; aon_intr =3D "/soc/interrupt-controller@7ef00100"; - audio =3D "/soc/mailbox@7e00b840/bcm2835_audio"; audio_pins =3D "/soc/gpio@7e200000/audio_pins"; aux =3D "/soc/aux@7e215000"; avs_monitor =3D "/soc/avs-monitor@7d5d2000"; axiperf =3D "/soc/axiperf"; blconfig =3D "/reserved-memory/nvram@0"; + blpubkey =3D "/reserved-memory/nvram@1"; bt =3D "/soc/serial@7e201000/bluetooth"; bt_pins =3D "/soc/gpio@7e200000/bt_pins"; - cam1_reg =3D "/cam1_reg"; + cam0_clk =3D "/cam0_clk"; + cam0_reg =3D "/cam_dummy_reg"; + cam0_regulator =3D "/cam0_regulator"; + cam1_clk =3D "/cam1_clk"; + cam1_reg =3D "/cam1_regulator"; + cam_dummy_reg =3D "/cam_dummy_reg"; + chosen =3D "/chosen"; clk_108MHz =3D "/clk-108M"; clk_27MHz =3D "/clk-27M"; clk_osc =3D "/clocks/clk-osc"; clk_usb =3D "/clocks/clk-usb"; clocks =3D "/soc/cprman@7e101000"; cma =3D "/reserved-memory/linux,cma"; + cooling_maps =3D = "/thermal-zones/cpu-thermal/cooling-maps"; cpu0 =3D "/cpus/cpu@0"; cpu1 =3D "/cpus/cpu@1"; cpu2 =3D "/cpus/cpu@2"; @@ -80,13 +91,19 @@ dma =3D "/soc/dma@7e007000"; dma40 =3D "/scb/dma@7e007b00"; dpi =3D "/soc/dpi@7e208000"; + dpi_16bit_cpadhi_gpio0 =3D = "/soc/gpio@7e200000/dpi_16bit_cpadhi_gpio0"; + dpi_16bit_cpadhi_gpio2 =3D = "/soc/gpio@7e200000/dpi_16bit_cpadhi_gpio2"; + dpi_16bit_gpio0 =3D = "/soc/gpio@7e200000/dpi_16bit_gpio0"; + dpi_16bit_gpio2 =3D = "/soc/gpio@7e200000/dpi_16bit_gpio2"; + dpi_18bit_cpadhi_gpio0 =3D = "/soc/gpio@7e200000/dpi_18bit_cpadhi_gpio0"; + dpi_18bit_cpadhi_gpio2 =3D = "/soc/gpio@7e200000/dpi_18bit_cpadhi_gpio2"; dpi_18bit_gpio0 =3D = "/soc/gpio@7e200000/dpi_18bit_gpio0"; dpi_18bit_gpio2 =3D = "/soc/gpio@7e200000/dpi_18bit_gpio2"; dpi_gpio0 =3D "/soc/gpio@7e200000/dpi_gpio0"; dsi0 =3D "/soc/dsi@7e209000"; dsi1 =3D "/soc/dsi@7e700000"; dvp =3D "/soc/clock@7ef00000"; - emmc2 =3D "/emmc2bus/emmc2@7e340000"; + emmc2 =3D "/emmc2bus/mmc@7e340000"; emmc2bus =3D "/emmc2bus"; emmc_gpio22 =3D "/soc/gpio@7e200000/emmc_gpio22"; emmc_gpio34 =3D "/soc/gpio@7e200000/emmc_gpio34"; @@ -148,6 +165,7 @@ i2s_pins =3D "/soc/gpio@7e200000/i2s"; jtag_gpio22 =3D "/soc/gpio@7e200000/jtag_gpio22"; jtag_gpio48 =3D "/soc/gpio@7e200000/jtag_gpio48"; + l2 =3D "/cpus/l2-cache0"; leds =3D "/leds"; local_intc =3D "/soc/local_intc@40000000"; mailbox =3D "/soc/mailbox@7e00b880"; @@ -179,7 +197,7 @@ pwm1 =3D "/soc/pwm@7e20c800"; pwm1_0_gpio40 =3D "/soc/gpio@7e200000/pwm1_0_gpio40"; pwm1_1_gpio41 =3D "/soc/gpio@7e200000/pwm1_1_gpio41"; - pwr_led =3D "/leds/pwr"; + pwr_led =3D "/leds/led-pwr"; random =3D "/soc/rng@7e104000"; reset =3D "/soc/firmware/reset"; rgmii_gpio35 =3D "/soc/gpio@7e200000/rgmii_gpio35"; @@ -230,6 +248,7 @@ spidev1 =3D "/soc/spi@7e204000/spidev@1"; system_timer =3D "/soc/timer@7e003000"; thermal =3D "/soc/avs-monitor@7d5d2000/thermal"; + thermal_trips =3D "/thermal-zones/cpu-thermal/trips"; txp =3D "/soc/txp@7e004000"; uart0 =3D "/soc/serial@7e201000"; uart0_ctsrts_gpio16 =3D = "/soc/gpio@7e200000/uart0_ctsrts_gpio16"; @@ -269,19 +288,19 @@ v3dbus =3D "/v3dbus"; vc4 =3D "/gpu"; vchiq =3D "/soc/mailbox@7e00b840"; - vcsm =3D "/soc/vcsm"; + vcio =3D "/soc/firmware/vcio"; vdd_3v3_reg =3D "/fixedregulator_3v3"; vdd_5v0_reg =3D "/fixedregulator_5v0"; - vec =3D "/soc/vec@7e806000"; + vec =3D "/soc/vec@7ec13000"; watchdog =3D "/soc/watchdog@7e100000"; xhci =3D "/scb/xhci@7e9c0000"; }; aliases { =20 - audio =3D "/soc/mailbox@7e00b840/bcm2835_audio"; aux =3D "/soc/aux@7e215000"; axiperf =3D "/soc/axiperf"; blconfig =3D "/reserved-memory/nvram@0"; + blpubkey =3D "/reserved-memory/nvram@1"; dma =3D "/soc/dma@7e007000"; emmc2bus =3D "/emmc2bus"; ethernet0 =3D "/scb/ethernet@7d580000"; @@ -290,6 +309,8 @@ i2c0 =3D "/soc/i2c0mux/i2c@0"; i2c1 =3D "/soc/i2c@7e804000"; i2c10 =3D "/soc/i2c0mux/i2c@1"; + i2c20 =3D "/soc/i2c@7ef04500"; + i2c21 =3D "/soc/i2c@7ef09500"; i2c3 =3D "/soc/i2c@7e205600"; i2c4 =3D "/soc/i2c@7e205800"; i2c5 =3D "/soc/i2c@7e205a00"; @@ -298,7 +319,7 @@ leds =3D "/leds"; mailbox =3D "/soc/mailbox@7e00b880"; mmc =3D "/soc/mmc@7e300000"; - mmc0 =3D "/emmc2bus/emmc2@7e340000"; + mmc0 =3D "/emmc2bus/mmc@7e340000"; mmc1 =3D "/soc/mmcnr@7e300000"; mmc2 =3D "/soc/mmc@7e202000"; pcie0 =3D "/scb/pcie@7d500000"; @@ -311,6 +332,10 @@ spi0 =3D "/soc/spi@7e204000"; spi1 =3D "/soc/spi@7e215080"; spi2 =3D "/soc/spi@7e2150c0"; + spi3 =3D "/soc/spi@7e204600"; + spi4 =3D "/soc/spi@7e204800"; + spi5 =3D "/soc/spi@7e204a00"; + spi6 =3D "/soc/spi@7e204c00"; thermal =3D "/soc/avs-monitor@7d5d2000/thermal"; uart0 =3D "/soc/serial@7e201000"; uart1 =3D "/soc/serial@7e215040"; @@ -319,21 +344,46 @@ }; arm-pmu { =20 - compatible =3D "arm,cortex-a72-pmu", "arm,armv8-pmuv3"; + compatible =3D "arm,cortex-a72-pmu", "arm,armv8-pmuv3", = "arm,cortex-a7-pmu"; interrupt-affinity =3D <0x28 0x29 0x2a 0x2b>; interrupts =3D <0x0 0x10 0x4 0x0 0x11 0x4 0x0 0x12 0x4 = 0x0 0x13 0x4>; }; - cam1_reg { + cam0_clk { =20 + #clock-cells =3D <0x0>; + compatible =3D "fixed-clock"; + status =3D "disabled"; + }; + cam0_regulator { + compatible =3D "regulator-fixed"; enable-active-high; - gpio =3D <0xa 0x5 0x0>; - regulator-name =3D "cam1-reg"; + regulator-name =3D "cam0-reg"; status =3D "disabled"; }; + cam1_clk { + + #clock-cells =3D <0x0>; + compatible =3D "fixed-clock"; + status =3D "disabled"; + }; + cam1_regulator { + + compatible =3D "regulator-fixed"; + enable-active-high; + gpio =3D <0xb 0x5 0x0>; + regulator-name =3D "cam1-reg"; + status =3D "okay"; + }; + cam_dummy_reg { + + compatible =3D "regulator-fixed"; + regulator-name =3D "cam-dummy-reg"; + status =3D "okay"; + }; chosen { =20 - bootargs =3D "coherent_pool=3D1M 8250.nr_uarts=3D1 = snd_bcm2835.enable_compat_alsa=3D0 snd_bcm2835.enable_hdmi=3D1"; + bootargs =3D "coherent_pool=3D1M 8250.nr_uarts=3D1 = snd_bcm2835.enable_headphones=3D0"; }; clk-108M { =20 @@ -375,34 +425,70 @@ =20 compatible =3D "arm,cortex-a72"; cpu-release-addr =3D <0x0 0xd8>; + d-cache-line-size =3D <0x40>; + d-cache-sets =3D <0x100>; + d-cache-size =3D <0x8000>; device_type =3D "cpu"; enable-method =3D "spin-table"; + i-cache-line-size =3D <0x40>; + i-cache-sets =3D <0x100>; + i-cache-size =3D <0xc000>; + next-level-cache =3D <0x2c>; reg =3D <0x0>; }; cpu@1 { =20 compatible =3D "arm,cortex-a72"; cpu-release-addr =3D <0x0 0xe0>; + d-cache-line-size =3D <0x40>; + d-cache-sets =3D <0x100>; + d-cache-size =3D <0x8000>; device_type =3D "cpu"; enable-method =3D "spin-table"; + i-cache-line-size =3D <0x40>; + i-cache-sets =3D <0x100>; + i-cache-size =3D <0xc000>; + next-level-cache =3D <0x2c>; reg =3D <0x1>; }; cpu@2 { =20 compatible =3D "arm,cortex-a72"; cpu-release-addr =3D <0x0 0xe8>; + d-cache-line-size =3D <0x40>; + d-cache-sets =3D <0x100>; + d-cache-size =3D <0x8000>; device_type =3D "cpu"; enable-method =3D "spin-table"; + i-cache-line-size =3D <0x40>; + i-cache-sets =3D <0x100>; + i-cache-size =3D <0xc000>; + next-level-cache =3D <0x2c>; reg =3D <0x2>; }; cpu@3 { =20 compatible =3D "arm,cortex-a72"; cpu-release-addr =3D <0x0 0xf0>; + d-cache-line-size =3D <0x40>; + d-cache-sets =3D <0x100>; + d-cache-size =3D <0x8000>; device_type =3D "cpu"; enable-method =3D "spin-table"; + i-cache-line-size =3D <0x40>; + i-cache-sets =3D <0x100>; + i-cache-size =3D <0xc000>; + next-level-cache =3D <0x2c>; reg =3D <0x3>; }; + l2-cache0 { + + cache-level =3D <0x2>; + cache-line-size =3D <0x40>; + cache-sets =3D <0x400>; + cache-size =3D <0x100000>; + compatible =3D "cache"; + }; }; emmc2bus { =20 @@ -411,10 +497,10 @@ compatible =3D "simple-bus"; dma-ranges =3D <0x0 0xc0000000 0x0 0x0 0x40000000>; ranges =3D <0x0 0x7e000000 0x0 0xfe000000 0x1800000>; - emmc2@7e340000 { + mmc@7e340000 { =20 broken-cd; - clocks =3D <0x7 0x33>; + clocks =3D <0x8 0x33>; compatible =3D "brcm,bcm2711-emmc2"; interrupts =3D <0x0 0x7e 0x4>; mmc-ddr-3_3v; @@ -443,23 +529,24 @@ gpu { =20 compatible =3D "brcm,bcm2711-vc5"; + raspberrypi,firmware =3D <0x6>; status =3D "disabled"; }; leds { =20 compatible =3D "gpio-leds"; - act { + led-act { =20 - default-state =3D "keep"; - gpios =3D <0xf 0x2a 0x0>; - label =3D "led0"; + default-state =3D "off"; + gpios =3D <0x7 0x2a 0x0>; + label =3D "ACT"; linux,default-trigger =3D "mmc0"; }; - pwr { + led-pwr { =20 - default-state =3D "keep"; - gpios =3D <0xa 0x2 0x1>; - label =3D "led1"; + default-state =3D "off"; + gpios =3D <0xb 0x2 0x1>; + label =3D "PWR"; linux,default-trigger =3D "default-on"; }; }; @@ -495,6 +582,15 @@ reg =3D <0x0 0x0 0x0>; status =3D "disabled"; }; + nvram@1 { + + #address-cells =3D <0x1>; + #size-cells =3D <0x1>; + compatible =3D = "raspberrypi,bootloader-public-key", "nvmem-rmem"; + no-map; + reg =3D <0x0 0x0 0x0>; + status =3D "disabled"; + }; }; scb { =20 @@ -503,6 +599,15 @@ compatible =3D "simple-bus"; dma-ranges =3D <0x0 0x0 0x0 0x0 0x4 0x0>; ranges =3D <0x0 0x7c000000 0x0 0xfc000000 0x0 0x3800000 = 0x0 0x40000000 0x0 0xff800000 0x0 0x800000 0x6 0x0 0x6 0x0 0x0 = 0x40000000 0x0 0x0 0x0 0x0 0x0 0xfc000000>; + codec@7eb10000 { + + clock-names =3D "hevc"; + clocks =3D <0x14 0xb>; + compatible =3D "raspberrypi,rpivid-vid-decoder"; + interrupts =3D <0x0 0x62 0x4>; + reg =3D <0x0 0x7eb10000 0x0 0x1000 0x0 = 0x7eb00000 0x0 0x10000>; + reg-names =3D "intc", "hevc"; + }; dma@7e007b00 { =20 #dma-cells =3D <0x1>; @@ -518,14 +623,14 @@ #size-cells =3D <0x1>; compatible =3D "brcm,bcm2711-genet-v5"; interrupts =3D <0x0 0x9d 0x4 0x0 0x9e 0x4>; - phy-handle =3D <0x2e>; + phy-handle =3D <0x2f>; phy-mode =3D "rgmii-rxid"; reg =3D <0x0 0x7d580000 0x0 0x10000>; status =3D "okay"; mdio@e14 { =20 - #address-cells =3D <0x0>; - #size-cells =3D <0x1>; + #address-cells =3D <0x1>; + #size-cells =3D <0x0>; compatible =3D "brcm,genet-mdio-v5"; reg =3D <0xe14 0x8>; reg-names =3D "mdio"; @@ -536,18 +641,6 @@ }; }; }; - h264-decoder@7eb20000 { - - compatible =3D = "raspberrypi,rpivid-h264-decoder"; - reg =3D <0x0 0x7eb20000 0x0 0x10000>; - status =3D "okay"; - }; - hevc-decoder@7eb00000 { - - compatible =3D = "raspberrypi,rpivid-hevc-decoder"; - reg =3D <0x0 0x7eb00000 0x0 0x10000>; - status =3D "okay"; - }; pcie@7d500000 { =20 #address-cells =3D <0x3>; @@ -557,45 +650,33 @@ compatible =3D "brcm,bcm2711-pcie"; device_type =3D "pci"; dma-ranges =3D <0x2000000 0x0 0x0 0x0 0x0 0x0 = 0xc0000000>; - interrupt-map =3D <0x0 0x0 0x0 0x1 0x1 0x0 0x8f = 0x4>; + interrupt-map =3D <0x0 0x0 0x0 0x1 0x1 0x0 0x8f = 0x4 0x0 0x0 0x0 0x2 0x1 0x0 0x90 0x4 0x0 0x0 0x0 0x3 0x1 0x0 0x91 0x4 = 0x0 0x0 0x0 0x4 0x1 0x0 0x92 0x4>; interrupt-map-mask =3D <0x0 0x0 0x0 0x7>; interrupt-names =3D "pcie", "msi"; - interrupts =3D <0x0 0x94 0x4 0x0 0x94 0x4>; + interrupts =3D <0x0 0x93 0x4 0x0 0x94 0x4>; msi-controller; - msi-parent =3D <0x2c>; + msi-parent =3D <0x2d>; ranges =3D <0x2000000 0x0 0xc0000000 0x6 0x0 0x0 = 0x40000000>; reg =3D <0x0 0x7d500000 0x0 0x9310>; - pci@1,0 { + pci@0,0 { =20 #address-cells =3D <0x3>; #size-cells =3D <0x2>; + device_type =3D "pci"; ranges; reg =3D <0x0 0x0 0x0 0x0 0x0>; - usb@1,0 { + usb@0,0 { =20 - reg =3D <0x10000 0x0 0x0 0x0 = 0x0>; - resets =3D <0x2d 0x0>; + reg =3D <0x0 0x0 0x0 0x0 0x0>; + resets =3D <0x2e 0x0>; }; }; }; - rpivid-local-intc@7eb10000 { - - compatible =3D "raspberrypi,rpivid-local-intc"; - interrupts =3D <0x0 0x62 0x4>; - reg =3D <0x0 0x7eb10000 0x0 0x1000>; - status =3D "okay"; - }; - vp9-decoder@7eb30000 { - - compatible =3D "raspberrypi,rpivid-vp9-decoder"; - reg =3D <0x0 0x7eb30000 0x0 0x10000>; - status =3D "okay"; - }; xhci@7e9c0000 { =20 compatible =3D "generic-xhci"; interrupts =3D <0x0 0xb0 0x4>; - power-domains =3D <0x13 0x6>; + power-domains =3D <0x10 0x6>; reg =3D <0x0 0x7e9c0000 0x0 0x100000>; status =3D "disabled"; }; @@ -603,7 +684,7 @@ sd_io_1v8_reg { =20 compatible =3D "regulator-gpio"; - gpios =3D <0xa 0x4 0x0>; + gpios =3D <0xb 0x4 0x0>; regulator-always-on; regulator-boot-on; regulator-max-microvolt =3D <0x325aa0>; @@ -617,7 +698,7 @@ =20 compatible =3D "regulator-fixed"; enable-active-high; - gpio =3D <0xa 0x6 0x0>; + gpio =3D <0xb 0x6 0x0>; regulator-boot-on; regulator-max-microvolt =3D <0x325aa0>; regulator-min-microvolt =3D <0x325aa0>; @@ -633,7 +714,7 @@ aux@7e215000 { =20 #clock-cells =3D <0x1>; - clocks =3D <0x7 0x14>; + clocks =3D <0x8 0x14>; compatible =3D "brcm,bcm2835-aux"; reg =3D <0x7e215000 0x8>; }; @@ -658,7 +739,7 @@ =20 #clock-cells =3D <0x1>; #reset-cells =3D <0x1>; - clocks =3D <0x1c>; + clocks =3D <0x1a>; compatible =3D "brcm,brcm2711-dvp"; reg =3D <0x7ef00000 0x10>; status =3D "disabled"; @@ -677,10 +758,10 @@ #clock-cells =3D <0x1>; #size-cells =3D <0x0>; clock-names =3D "lp", "vpu"; - clocks =3D <0x7 0x2d 0x16 0x4>; + clocks =3D <0x8 0x2d 0x14 0x4>; compatible =3D "brcm,bcm2835-unicam"; interrupts =3D <0x0 0x66 0x4>; - power-domains =3D <0x13 0xc>; + power-domains =3D <0x10 0xc>; reg =3D <0x7e800000 0x800 0x7e802000 0x4>; status =3D "disabled"; }; @@ -691,10 +772,10 @@ #size-cells =3D <0x0>; brcm,num-data-lanes =3D <0x2>; clock-names =3D "lp", "vpu"; - clocks =3D <0x7 0x2e 0x16 0x4>; + clocks =3D <0x8 0x2e 0x14 0x4>; compatible =3D "brcm,bcm2835-unicam"; interrupts =3D <0x0 0x67 0x4>; - power-domains =3D <0x13 0xd>; + power-domains =3D <0x10 0xd>; reg =3D <0x7e801000 0x800 0x7e802004 0x4>; status =3D "disabled"; }; @@ -709,10 +790,8 @@ }; dpi@7e208000 { =20 - #address-cells =3D <0x1>; - #size-cells =3D <0x0>; clock-names =3D "core", "pixel"; - clocks =3D <0x7 0x14 0x7 0x2c>; + clocks =3D <0x8 0x14 0x8 0x2c>; compatible =3D "brcm,bcm2835-dpi"; reg =3D <0x7e208000 0x8c>; status =3D "disabled"; @@ -724,10 +803,10 @@ #size-cells =3D <0x0>; clock-names =3D "phy", "escape", "pixel"; clock-output-names =3D "dsi0_byte", "dsi0_ddr2", = "dsi0_ddr"; - clocks =3D <0x7 0x20 0x7 0x2f 0x7 0x31>; + clocks =3D <0x8 0x20 0x8 0x2f 0x8 0x31>; compatible =3D "brcm,bcm2835-dsi0"; interrupts =3D <0x0 0x64 0x4>; - power-domains =3D <0x13 0x11>; + power-domains =3D <0x10 0x11>; reg =3D <0x7e209000 0x78>; status =3D "disabled"; }; @@ -738,10 +817,10 @@ #size-cells =3D <0x0>; clock-names =3D "phy", "escape", "pixel"; clock-output-names =3D "dsi1_byte", "dsi1_ddr2", = "dsi1_ddr"; - clocks =3D <0x7 0x23 0x7 0x30 0x7 0x32>; + clocks =3D <0x8 0x23 0x8 0x30 0x8 0x32>; compatible =3D "brcm,bcm2711-dsi1"; interrupts =3D <0x0 0x6c 0x4>; - power-domains =3D <0x13 0x12>; + power-domains =3D <0x10 0x12>; reg =3D <0x7e700000 0x8c>; status =3D "disabled"; }; @@ -757,7 +836,7 @@ #size-cells =3D <0x1>; compatible =3D "raspberrypi,bcm2835-firmware", = "simple-mfd"; dma-ranges; - mboxes =3D <0x22>; + mboxes =3D <0x24>; clocks { =20 #clock-cells =3D <0x1>; @@ -776,6 +855,10 @@ #reset-cells =3D <0x1>; compatible =3D = "raspberrypi,firmware-reset"; }; + vcio { + + compatible =3D "raspberrypi,vcio"; + }; }; firmwarekms@7e600000 { =20 @@ -792,6 +875,7 @@ compatible =3D "brcm,bcm2711-gpio"; gpio-controller; gpio-line-names =3D "ID_SDA", "ID_SCL", "SDA1", = "SCL1", "GPIO_GCLK", "GPIO5", "GPIO6", "SPI_CE1_N", "SPI_CE0_N", = "SPI_MISO", "SPI_MOSI", "SPI_SCLK", "GPIO12", "GPIO13", "TXD1", "RXD1", = "GPIO16", "GPIO17", "GPIO18", "GPIO19", "GPIO20", "GPIO21", "GPIO22", = "GPIO23", "GPIO24", "GPIO25", "GPIO26", "GPIO27", "RGMII_MDIO", = "RGMIO_MDC", "CTS0", "RTS0", "TXD0", "RXD0", "SD1_CLK", "SD1_CMD", = "SD1_DATA0", "SD1_DATA1", "SD1_DATA2", "SD1_DATA3", "PWM0_MISO", = "PWM1_MOSI", "STATUS_LED_G_CLK", "SPIFLASH_CE_N", "SDA0", "SCL0", = "RGMII_RXCLK", "RGMII_RXCTL", "RGMII_RXD0", "RGMII_RXD1", "RGMII_RXD2", = "RGMII_RXD3", "RGMII_TXCLK", "RGMII_TXCTL", "RGMII_TXD0", "RGMII_TXD1", = "RGMII_TXD2", "RGMII_TXD3"; + gpio-ranges =3D <0x7 0x0 0x0 0x3a>; interrupt-controller; interrupts =3D <0x0 0x71 0x4 0x0 0x72 0x4>; pinctrl-names =3D "default"; @@ -805,6 +889,7 @@ =20 brcm,function =3D <0x4>; brcm,pins =3D <0x28 0x29>; + brcm,pull =3D <0x0>; }; bt_pins { =20 @@ -812,6 +897,37 @@ brcm,pins =3D "-"; brcm,pull =3D <0x2>; }; + dpi_16bit_cpadhi_gpio0 { + + brcm,function =3D <0x6>; + brcm,pins =3D <0x0 0x1 0x2 0x3 0x4 0x5 = 0x6 0x7 0x8 0xc 0xd 0xe 0xf 0x10 0x11 0x14 0x15 0x16 0x17 0x18>; + }; + dpi_16bit_cpadhi_gpio2 { + + brcm,function =3D <0x6>; + brcm,pins =3D <0x2 0x3 0x4 0x5 0x6 0x7 = 0x8 0xc 0xd 0xe 0xf 0x10 0x11 0x14 0x15 0x16 0x17 0x18>; + }; + dpi_16bit_gpio0 { + + brcm,function =3D <0x6>; + brcm,pins =3D <0x0 0x1 0x2 0x3 0x4 0x5 = 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10 0x11 0x12 0x13>; + }; + dpi_16bit_gpio2 { + + brcm,function =3D <0x6>; + brcm,pins =3D <0x2 0x3 0x4 0x5 0x6 0x7 = 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10 0x11 0x12 0x13>; + }; + dpi_18bit_cpadhi_gpio0 { + + brcm,function =3D <0x6>; + brcm,pins =3D <0x0 0x1 0x2 0x3 0x4 0x5 = 0x6 0x7 0x8 0x9 0xc 0xd 0xe 0xf 0x10 0x11 0x14 0x15 0x16 0x17 0x18 = 0x19>; + brcm,pull =3D <0x0>; + }; + dpi_18bit_cpadhi_gpio2 { + + brcm,function =3D <0x6>; + brcm,pins =3D <0x2 0x3 0x4 0x5 0x6 0x7 = 0x8 0x9 0xc 0xd 0xe 0xf 0x10 0x11 0x14 0x15 0x16 0x17 0x18 0x19>; + }; dpi_18bit_gpio0 { =20 brcm,function =3D <0x6>; @@ -1659,41 +1775,43 @@ hdmi@7ef00700 { =20 clock-names =3D "hdmi", "bvb", "audio", "cec"; - clocks =3D <0x16 0xd 0x16 0xe 0x1d 0x0 0x1e>; + clocks =3D <0x14 0xd 0x14 0xe 0x1b 0x0 0x1e>; compatible =3D "brcm,bcm2711-hdmi0"; - ddc =3D <0x20>; + ddc =3D <0x1d>; dma-names =3D "audio-rx"; - dmas =3D <0xb 0x9f0000a>; + dmas =3D <0xc 0x9fa000a>; interrupt-names =3D "cec-tx", "cec-rx", = "cec-low", "wakeup", "hpd-connected", "hpd-removed"; - interrupt-parent =3D <0x1f>; + interrupt-parent =3D <0x1c>; interrupts =3D <0x0 0x1 0x2 0x3 0x4 0x5>; reg =3D <0x7ef00700 0x300 0x7ef00300 0x200 = 0x7ef00f00 0x80 0x7ef00f80 0x80 0x7ef01b00 0x200 0x7ef01f00 0x400 = 0x7ef00200 0x80 0x7ef04300 0x100 0x7ef20000 0x100 0x7ef00100 0x30>; reg-names =3D "hdmi", "dvp", "phy", "rm", = "packet", "metadata", "csc", "cec", "hd", "intr2"; - resets =3D <0x1d 0x0>; + resets =3D <0x1b 0x0>; status =3D "disabled"; + wifi-2.4ghz-coexistence; }; hdmi@7ef05700 { =20 clock-names =3D "hdmi", "bvb", "audio", "cec"; - clocks =3D <0x16 0xd 0x16 0xe 0x1d 0x1 0x1e>; + clocks =3D <0x14 0xd 0x14 0xe 0x1b 0x1 0x1e>; compatible =3D "brcm,bcm2711-hdmi1"; - ddc =3D <0x21>; + ddc =3D <0x1f>; dma-names =3D "audio-rx"; - dmas =3D <0xb 0x9f00011>; + dmas =3D <0xc 0x9fa0011>; interrupt-names =3D "cec-tx", "cec-rx", = "cec-low", "wakeup", "hpd-connected", "hpd-removed"; - interrupt-parent =3D <0x1f>; + interrupt-parent =3D <0x1c>; interrupts =3D <0x8 0x7 0x6 0x9 0xa 0xb>; reg =3D <0x7ef05700 0x300 0x7ef05300 0x200 = 0x7ef05f00 0x80 0x7ef05f80 0x80 0x7ef06b00 0x200 0x7ef06f00 0x400 = 0x7ef00280 0x80 0x7ef09300 0x100 0x7ef20000 0x100 0x7ef00100 0x30>; reg-names =3D "hdmi", "dvp", "phy", "rm", = "packet", "metadata", "csc", "cec", "hd", "intr2"; - resets =3D <0x1d 0x1>; + resets =3D <0x1b 0x1>; status =3D "disabled"; + wifi-2.4ghz-coexistence; }; hvs@7e400000 { =20 - clocks =3D <0x16 0x4>; + clocks =3D <0x14 0x4>; compatible =3D "brcm,bcm2711-hvs"; interrupts =3D <0x0 0x61 0x4>; - reg =3D <0x7e400000 0x6000>; + reg =3D <0x7e400000 0x8000>; status =3D "disabled"; }; i2c@7e205000 { @@ -1701,7 +1819,7 @@ #address-cells =3D <0x1>; #size-cells =3D <0x0>; clock-frequency =3D <0x186a0>; - clocks =3D <0x7 0x14>; + clocks =3D <0x8 0x14>; compatible =3D "brcm,bcm2711-i2c", = "brcm,bcm2835-i2c"; interrupts =3D <0x0 0x75 0x4>; reg =3D <0x7e205000 0x200>; @@ -1711,7 +1829,7 @@ =20 #address-cells =3D <0x1>; #size-cells =3D <0x0>; - clocks =3D <0x7 0x14>; + clocks =3D <0x8 0x14>; compatible =3D "brcm,bcm2711-i2c", = "brcm,bcm2835-i2c"; interrupts =3D <0x0 0x75 0x4>; reg =3D <0x7e205600 0x200>; @@ -1721,7 +1839,7 @@ =20 #address-cells =3D <0x1>; #size-cells =3D <0x0>; - clocks =3D <0x7 0x14>; + clocks =3D <0x8 0x14>; compatible =3D "brcm,bcm2711-i2c", = "brcm,bcm2835-i2c"; interrupts =3D <0x0 0x75 0x4>; reg =3D <0x7e205800 0x200>; @@ -1731,7 +1849,7 @@ =20 #address-cells =3D <0x1>; #size-cells =3D <0x0>; - clocks =3D <0x7 0x14>; + clocks =3D <0x8 0x14>; compatible =3D "brcm,bcm2711-i2c", = "brcm,bcm2835-i2c"; interrupts =3D <0x0 0x75 0x4>; reg =3D <0x7e205a00 0x200>; @@ -1741,7 +1859,7 @@ =20 #address-cells =3D <0x1>; #size-cells =3D <0x0>; - clocks =3D <0x7 0x14>; + clocks =3D <0x8 0x14>; compatible =3D "brcm,bcm2711-i2c", = "brcm,bcm2835-i2c"; interrupts =3D <0x0 0x75 0x4>; reg =3D <0x7e205c00 0x200>; @@ -1752,10 +1870,10 @@ #address-cells =3D <0x1>; #size-cells =3D <0x0>; clock-frequency =3D <0x186a0>; - clocks =3D <0x7 0x14>; + clocks =3D <0x8 0x14>; compatible =3D "brcm,bcm2711-i2c", = "brcm,bcm2835-i2c"; interrupts =3D <0x0 0x75 0x4>; - pinctrl-0 =3D <0x17>; + pinctrl-0 =3D <0x15>; pinctrl-names =3D "default"; reg =3D <0x7e804000 0x1000>; status =3D "disabled"; @@ -1781,9 +1899,9 @@ #address-cells =3D <0x1>; #size-cells =3D <0x0>; compatible =3D "i2c-mux-pinctrl"; - i2c-parent =3D <0x10>; - pinctrl-0 =3D <0x11>; - pinctrl-1 =3D <0x12>; + i2c-parent =3D <0x21>; + pinctrl-0 =3D <0x22>; + pinctrl-1 =3D <0x23>; pinctrl-names =3D "i2c0", "i2c_csi_dsi"; status =3D "disabled"; i2c@0 { @@ -1802,11 +1920,11 @@ i2s@7e203000 { =20 #sound-dai-cells =3D <0x0>; - clocks =3D <0x7 0x1f>; + clocks =3D <0x8 0x1f>; compatible =3D "brcm,bcm2835-i2s"; dma-names =3D "tx", "rx"; - dmas =3D <0xb 0x2 0xb 0x3>; - pinctrl-0 =3D <0xc>; + dmas =3D <0xc 0x2 0xc 0x3>; + pinctrl-0 =3D <0xd>; pinctrl-names =3D "default"; reg =3D <0x7e203000 0x24>; status =3D "disabled"; @@ -1824,7 +1942,7 @@ #interrupt-cells =3D <0x1>; compatible =3D "brcm,bcm2711-l2-intc", = "brcm,l2-intc"; interrupt-controller; - interrupts =3D <0x0 0x60 0x4>; + interrupts =3D <0x0 0x60 0x1>; reg =3D <0x7ef00100 0x30>; status =3D "disabled"; }; @@ -1837,15 +1955,9 @@ =20 compatible =3D "brcm,bcm2711-vchiq"; interrupts =3D <0x0 0x22 0x4>; + pinctrl-0 =3D <0x25>; + pinctrl-names =3D "default"; reg =3D <0x7e00b840 0x3c>; - bcm2835_audio { - - brcm,pwm-channels =3D <0x8>; - compatible =3D "brcm,bcm2835-audio"; - pinctrl-0 =3D <0x23>; - pinctrl-names =3D "default"; - status =3D "disabled"; - }; }; mailbox@7e00b880 { =20 @@ -1859,10 +1971,11 @@ brcm,overclock-50 =3D <0x0>; brcm,pio-limit =3D <0x1>; bus-width =3D <0x4>; - clocks =3D <0x7 0x14>; + clocks =3D <0x8 0x14>; compatible =3D "brcm,bcm2835-sdhost"; dma-names =3D "rx-tx"; - dmas =3D <0xb 0x2000000d>; + dmas =3D <0xc 0x2000000d>; + firmware =3D <0x6>; interrupts =3D <0x0 0x78 0x4>; reg =3D <0x7e202000 0x100>; status =3D "disabled"; @@ -1871,12 +1984,12 @@ =20 brcm,overclock-50 =3D <0x0>; bus-width =3D <0x4>; - clocks =3D <0x7 0x1c>; + clocks =3D <0x8 0x1c>; compatible =3D "brcm,bcm2835-mmc", = "brcm,bcm2835-sdhci"; dma-names =3D "rx-tx"; - dmas =3D <0xb 0xb>; + dmas =3D <0xc 0xb>; interrupts =3D <0x0 0x7e 0x4>; - pinctrl-0 =3D <0x24>; + pinctrl-0 =3D <0x13>; pinctrl-names =3D "default"; reg =3D <0x7e300000 0x100>; status =3D "disabled"; @@ -1885,13 +1998,13 @@ =20 brcm,overclock-50 =3D <0x0>; bus-width =3D <0x4>; - clocks =3D <0x7 0x1c>; + clocks =3D <0x8 0x1c>; compatible =3D "brcm,bcm2835-mmc", = "brcm,bcm2835-sdhci"; dma-names =3D "rx-tx"; - dmas =3D <0xb 0xb>; + dmas =3D <0xc 0xb>; interrupts =3D <0x0 0x7e 0x4>; non-removable; - pinctrl-0 =3D <0x25>; + pinctrl-0 =3D <0x20>; pinctrl-names =3D "default"; reg =3D <0x7e300000 0x100>; status =3D "okay"; @@ -1941,8 +2054,8 @@ =20 #pwm-cells =3D <0x2>; assigned-clock-rates =3D <0x989680>; - assigned-clocks =3D <0x7 0x1e>; - clocks =3D <0x7 0x1e>; + assigned-clocks =3D <0x8 0x1e>; + clocks =3D <0x8 0x1e>; compatible =3D "brcm,bcm2835-pwm"; reg =3D <0x7e20c000 0x28>; status =3D "disabled"; @@ -1951,10 +2064,10 @@ =20 #pwm-cells =3D <0x2>; assigned-clock-rates =3D <0x989680>; - assigned-clocks =3D <0x7 0x1e>; - clocks =3D <0x7 0x1e>; + assigned-clocks =3D <0x8 0x1e>; + clocks =3D <0x8 0x1e>; compatible =3D "brcm,bcm2835-pwm"; - pinctrl-0 =3D <0x1a 0x1b>; + pinctrl-0 =3D <0x18 0x19>; pinctrl-names =3D "default"; reg =3D <0x7e20c800 0x28>; status =3D "disabled"; @@ -1969,11 +2082,11 @@ =20 arm,primecell-periphid =3D <0x241011>; clock-names =3D "uartclk", "apb_pclk"; - clocks =3D <0x7 0x13 0x7 0x14>; + clocks =3D <0x8 0x13 0x8 0x14>; compatible =3D "arm,pl011", "arm,primecell"; cts-event-workaround; interrupts =3D <0x0 0x79 0x4>; - pinctrl-0 =3D <0x8 0x9>; + pinctrl-0 =3D <0x9 0xa>; pinctrl-names =3D "default"; reg =3D <0x7e201000 0x200>; skip-init; @@ -1983,7 +2096,7 @@ =20 compatible =3D "brcm,bcm43438-bt"; max-speed =3D <0x2dc6c0>; - shutdown-gpios =3D <0xa 0x0 0x0>; + shutdown-gpios =3D <0xb 0x0 0x0>; status =3D "disabled"; }; }; @@ -1991,7 +2104,7 @@ =20 arm,primecell-periphid =3D <0x241011>; clock-names =3D "uartclk", "apb_pclk"; - clocks =3D <0x7 0x13 0x7 0x14>; + clocks =3D <0x8 0x13 0x8 0x14>; compatible =3D "arm,pl011", "arm,primecell"; interrupts =3D <0x0 0x79 0x4>; reg =3D <0x7e201400 0x200>; @@ -2001,7 +2114,7 @@ =20 arm,primecell-periphid =3D <0x241011>; clock-names =3D "uartclk", "apb_pclk"; - clocks =3D <0x7 0x13 0x7 0x14>; + clocks =3D <0x8 0x13 0x8 0x14>; compatible =3D "arm,pl011", "arm,primecell"; interrupts =3D <0x0 0x79 0x4>; reg =3D <0x7e201600 0x200>; @@ -2011,7 +2124,7 @@ =20 arm,primecell-periphid =3D <0x241011>; clock-names =3D "uartclk", "apb_pclk"; - clocks =3D <0x7 0x13 0x7 0x14>; + clocks =3D <0x8 0x13 0x8 0x14>; compatible =3D "arm,pl011", "arm,primecell"; interrupts =3D <0x0 0x79 0x4>; reg =3D <0x7e201800 0x200>; @@ -2021,7 +2134,7 @@ =20 arm,primecell-periphid =3D <0x241011>; clock-names =3D "uartclk", "apb_pclk"; - clocks =3D <0x7 0x13 0x7 0x14>; + clocks =3D <0x8 0x13 0x8 0x14>; compatible =3D "arm,pl011", "arm,primecell"; interrupts =3D <0x0 0x79 0x4>; reg =3D <0x7e201a00 0x200>; @@ -2029,10 +2142,10 @@ }; serial@7e215040 { =20 - clocks =3D <0x14 0x0>; + clocks =3D <0x11 0x0>; compatible =3D "brcm,bcm2835-aux-uart"; interrupts =3D <0x0 0x5d 0x4>; - pinctrl-0 =3D <0x15>; + pinctrl-0 =3D <0x12>; pinctrl-names =3D "default"; reg =3D <0x7e215040 0x40>; skip-init; @@ -2041,18 +2154,18 @@ =20 compatible =3D "brcm,bcm43438-bt"; max-speed =3D <0x70800>; - shutdown-gpios =3D <0xa 0x0 0x0>; + shutdown-gpios =3D <0xb 0x0 0x0>; status =3D "disabled"; }; }; smi@7e600000 { =20 assigned-clock-rates =3D <0x7735940>; - assigned-clocks =3D <0x7 0x2a>; - clocks =3D <0x7 0x2a>; + assigned-clocks =3D <0x8 0x2a>; + clocks =3D <0x8 0x2a>; compatible =3D "brcm,bcm2835-smi"; dma-names =3D "rx-tx"; - dmas =3D <0xb 0x4>; + dmas =3D <0xc 0x4>; interrupts =3D <0x0 0x70 0x4>; reg =3D <0x7e600000 0x100>; status =3D "disabled"; @@ -2065,13 +2178,13 @@ =20 #address-cells =3D <0x1>; #size-cells =3D <0x0>; - clocks =3D <0x7 0x14>; + clocks =3D <0x8 0x14>; compatible =3D "brcm,bcm2835-spi"; - cs-gpios =3D <0xf 0x8 0x1 0xf 0x7 0x1>; + cs-gpios =3D <0x7 0x8 0x1 0x7 0x7 0x1>; dma-names =3D "tx", "rx"; - dmas =3D <0xb 0x6 0xb 0x7>; + dmas =3D <0xc 0x6 0xc 0x7>; interrupts =3D <0x0 0x76 0x4>; - pinctrl-0 =3D <0xd 0xe>; + pinctrl-0 =3D <0xe 0xf>; pinctrl-names =3D "default"; reg =3D <0x7e204000 0x200>; status =3D "disabled"; @@ -2096,7 +2209,7 @@ =20 #address-cells =3D <0x1>; #size-cells =3D <0x0>; - clocks =3D <0x7 0x14>; + clocks =3D <0x8 0x14>; compatible =3D "brcm,bcm2835-spi"; interrupts =3D <0x0 0x76 0x4>; reg =3D <0x7e204600 0x200>; @@ -2106,7 +2219,7 @@ =20 #address-cells =3D <0x1>; #size-cells =3D <0x0>; - clocks =3D <0x7 0x14>; + clocks =3D <0x8 0x14>; compatible =3D "brcm,bcm2835-spi"; interrupts =3D <0x0 0x76 0x4>; reg =3D <0x7e204800 0x200>; @@ -2116,7 +2229,7 @@ =20 #address-cells =3D <0x1>; #size-cells =3D <0x0>; - clocks =3D <0x7 0x14>; + clocks =3D <0x8 0x14>; compatible =3D "brcm,bcm2835-spi"; interrupts =3D <0x0 0x76 0x4>; reg =3D <0x7e204a00 0x200>; @@ -2126,7 +2239,7 @@ =20 #address-cells =3D <0x1>; #size-cells =3D <0x0>; - clocks =3D <0x7 0x14>; + clocks =3D <0x8 0x14>; compatible =3D "brcm,bcm2835-spi"; interrupts =3D <0x0 0x76 0x4>; reg =3D <0x7e204c00 0x200>; @@ -2136,7 +2249,7 @@ =20 #address-cells =3D <0x1>; #size-cells =3D <0x0>; - clocks =3D <0x14 0x1>; + clocks =3D <0x11 0x1>; compatible =3D "brcm,bcm2835-aux-spi"; interrupts =3D <0x0 0x5d 0x4>; reg =3D <0x7e215080 0x40>; @@ -2146,7 +2259,7 @@ =20 #address-cells =3D <0x1>; #size-cells =3D <0x0>; - clocks =3D <0x14 0x2>; + clocks =3D <0x11 0x2>; compatible =3D "brcm,bcm2835-aux-spi"; interrupts =3D <0x0 0x5d 0x4>; reg =3D <0x7e2150c0 0x40>; @@ -2158,6 +2271,7 @@ compatible =3D "brcm,bcm2835-system-timer"; interrupts =3D <0x0 0x40 0x4 0x0 0x41 0x4 0x0 = 0x42 0x4 0x0 0x43 0x4>; reg =3D <0x7e003000 0x1000>; + status =3D "disabled"; }; txp@7e004000 { =20 @@ -2171,29 +2285,23 @@ #address-cells =3D <0x1>; #size-cells =3D <0x0>; clock-names =3D "otg"; - clocks =3D <0x18>; + clocks =3D <0x16>; compatible =3D "brcm,bcm2708-usb"; interrupt-names =3D "usb", "soft"; interrupts =3D <0x0 0x49 0x4 0x0 0x28 0x4>; phy-names =3D "usb2-phy"; - phys =3D <0x19>; - power-domains =3D <0x13 0x6>; + phys =3D <0x17>; + power-domains =3D <0x10 0x6>; reg =3D <0x7e980000 0x10000 0x7e00b200 0x200>; status =3D "disabled"; }; - vcsm { + vec@7ec13000 { =20 - compatible =3D "raspberrypi,bcm2835-vcsm"; - firmware =3D <0x6>; - status =3D "okay"; - }; - vec@7e806000 { - - clocks =3D <0x7 0x18>; - compatible =3D "brcm,bcm2835-vec"; + clocks =3D <0x14 0xf>; + compatible =3D "brcm,bcm2711-vec"; interrupts =3D <0x0 0x7b 0x4>; - power-domains =3D <0x13 0x7>; - reg =3D <0x7e806000 0x1000>; + power-domains =3D <0x10 0x7>; + reg =3D <0x7ec13000 0x1000>; status =3D "disabled"; }; watchdog@7e100000 { @@ -2201,9 +2309,10 @@ #power-domain-cells =3D <0x1>; #reset-cells =3D <0x1>; clock-names =3D "v3d", "peri_image", "h264", = "isp"; - clocks =3D <0x7 0x15 0x7 0x1d 0x7 0x17 0x7 = 0x16>; - compatible =3D "brcm,bcm2835-pm", = "brcm,bcm2835-pm-wdt"; + clocks =3D <0x8 0x15 0x8 0x1d 0x8 0x17 0x8 = 0x16>; + compatible =3D "brcm,bcm2711-pm", = "brcm,bcm2835-pm-wdt"; reg =3D <0x7e100000 0x114 0x7e00a000 0x24 = 0x7ec11000 0x20>; + reg-names =3D "pm", "asb", "rpivid_asb"; system-power-controller; }; }; @@ -2218,6 +2327,15 @@ cooling-maps { =20 }; + trips { + + cpu-crit { + + hysteresis =3D <0x0>; + temperature =3D <0x1adb0>; + type =3D "critical"; + }; + }; }; }; timer { @@ -2235,7 +2353,7 @@ ranges =3D <0x7c500000 0x0 0xfc500000 0x0 0x3300000 = 0x40000000 0x0 0xff800000 0x0 0x800000>; v3d@7ec04000 { =20 - clocks =3D <0x16 0x5>; + clocks =3D <0x14 0x5>; clocks-names =3D "v3d"; compatible =3D "brcm,2711-v3d"; interrupts =3D <0x0 0x4a 0x4>; =3D=3D=3D Mark Millard marklmi at yahoo.com