1b67262e1SXuhui Lin// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2b67262e1SXuhui Lin/* 3b67262e1SXuhui Lin * Copyright (c) 2023 Rockchip Electronics Co., Ltd. 4b67262e1SXuhui Lin */ 5b67262e1SXuhui Lin 6b67262e1SXuhui Lin#include <dt-bindings/clock/rockchip,rk3576-cru.h> 7b67262e1SXuhui Lin#include <dt-bindings/interrupt-controller/arm-gic.h> 8b67262e1SXuhui Lin#include <dt-bindings/interrupt-controller/irq.h> 9b67262e1SXuhui Lin#include <dt-bindings/phy/phy.h> 10b67262e1SXuhui Lin#include <dt-bindings/power/rk3576-power.h> 11b67262e1SXuhui Lin#include <dt-bindings/pinctrl/rockchip.h> 12b67262e1SXuhui Lin#include <dt-bindings/soc/rockchip,boot-mode.h> 13b67262e1SXuhui Lin#include <dt-bindings/soc/rockchip-system-status.h> 14b67262e1SXuhui Lin#include <dt-bindings/thermal/thermal.h> 15b67262e1SXuhui Lin 16b67262e1SXuhui Lin/ { 17b67262e1SXuhui Lin compatible = "rockchip,rk3576"; 18b67262e1SXuhui Lin 19b67262e1SXuhui Lin interrupt-parent = <&gic>; 20b67262e1SXuhui Lin #address-cells = <2>; 21b67262e1SXuhui Lin #size-cells = <2>; 22b67262e1SXuhui Lin 23b67262e1SXuhui Lin aliases { 24b67262e1SXuhui Lin csi2dcphy0 = &csi2_dcphy0; 25b67262e1SXuhui Lin csi2dphy0 = &csi2_dphy0; 26b67262e1SXuhui Lin csi2dphy1 = &csi2_dphy1; 27b67262e1SXuhui Lin csi2dphy2 = &csi2_dphy2; 28b67262e1SXuhui Lin csi2dphy3 = &csi2_dphy3; 29b67262e1SXuhui Lin csi2dphy4 = &csi2_dphy4; 30b67262e1SXuhui Lin csi2dphy5 = &csi2_dphy5; 31b67262e1SXuhui Lin ethernet0 = &gmac0; 32b67262e1SXuhui Lin ethernet1 = &gmac1; 33b67262e1SXuhui Lin gpio0 = &gpio0; 34b67262e1SXuhui Lin gpio1 = &gpio1; 35b67262e1SXuhui Lin gpio2 = &gpio2; 36b67262e1SXuhui Lin gpio3 = &gpio3; 37b67262e1SXuhui Lin gpio4 = &gpio4; 38b67262e1SXuhui Lin hdcp0 = &hdcp0; 39b67262e1SXuhui Lin hdcp1 = &hdcp1; 40b67262e1SXuhui Lin i2c0 = &i2c0; 41b67262e1SXuhui Lin i2c1 = &i2c1; 42b67262e1SXuhui Lin i2c2 = &i2c2; 43b67262e1SXuhui Lin i2c3 = &i2c3; 44b67262e1SXuhui Lin i2c4 = &i2c4; 45b67262e1SXuhui Lin i2c5 = &i2c5; 46b67262e1SXuhui Lin i2c6 = &i2c6; 47b67262e1SXuhui Lin i2c7 = &i2c7; 48b67262e1SXuhui Lin i2c8 = &i2c8; 49b67262e1SXuhui Lin i2c9 = &i2c9; 50b67262e1SXuhui Lin i3c0 = &i3c0; 51b67262e1SXuhui Lin i3c1 = &i3c1; 52b67262e1SXuhui Lin rkcif_mipi_lvds0 = &rkcif_mipi_lvds; 53b67262e1SXuhui Lin rkcif_mipi_lvds1 = &rkcif_mipi_lvds1; 54b67262e1SXuhui Lin rkcif_mipi_lvds2 = &rkcif_mipi_lvds2; 55b67262e1SXuhui Lin rkcif_mipi_lvds3 = &rkcif_mipi_lvds3; 56b67262e1SXuhui Lin rkcif_mipi_lvds4 = &rkcif_mipi_lvds4; 57b67262e1SXuhui Lin serial0 = &uart0; 58b67262e1SXuhui Lin serial1 = &uart1; 59b67262e1SXuhui Lin serial2 = &uart2; 60b67262e1SXuhui Lin serial3 = &uart3; 61b67262e1SXuhui Lin serial4 = &uart4; 62b67262e1SXuhui Lin serial5 = &uart5; 63b67262e1SXuhui Lin serial6 = &uart6; 64b67262e1SXuhui Lin serial7 = &uart7; 65b67262e1SXuhui Lin serial8 = &uart8; 66b67262e1SXuhui Lin serial9 = &uart9; 67b67262e1SXuhui Lin serial10 = &uart10; 68b67262e1SXuhui Lin serial11 = &uart11; 69b67262e1SXuhui Lin spi0 = &spi0; 70b67262e1SXuhui Lin spi1 = &spi1; 71b67262e1SXuhui Lin spi2 = &spi2; 72b67262e1SXuhui Lin spi3 = &spi3; 73b67262e1SXuhui Lin spi4 = &spi4; 74b67262e1SXuhui Lin spi5 = &sfc0; 75b67262e1SXuhui Lin spi6 = &sfc1; 76b67262e1SXuhui Lin }; 77b67262e1SXuhui Lin 78b67262e1SXuhui Lin clocks { 79b67262e1SXuhui Lin compatible = "simple-bus"; 80b67262e1SXuhui Lin #address-cells = <2>; 81b67262e1SXuhui Lin #size-cells = <2>; 82b67262e1SXuhui Lin ranges; 83b67262e1SXuhui Lin 84b67262e1SXuhui Lin xin32k: xin32k { 85b67262e1SXuhui Lin compatible = "fixed-clock"; 86b67262e1SXuhui Lin #clock-cells = <0>; 87b67262e1SXuhui Lin clock-frequency = <32768>; 88b67262e1SXuhui Lin clock-output-names = "xin32k"; 89b67262e1SXuhui Lin }; 90b67262e1SXuhui Lin 91b67262e1SXuhui Lin xin24m: xin24m { 92b67262e1SXuhui Lin compatible = "fixed-clock"; 93b67262e1SXuhui Lin #clock-cells = <0>; 94b67262e1SXuhui Lin clock-frequency = <24000000>; 95b67262e1SXuhui Lin clock-output-names = "xin24m"; 96b67262e1SXuhui Lin }; 97b67262e1SXuhui Lin 98b67262e1SXuhui Lin spll: spll { 99b67262e1SXuhui Lin compatible = "fixed-clock"; 100b67262e1SXuhui Lin #clock-cells = <0>; 101b67262e1SXuhui Lin clock-frequency = <702000000>; 102b67262e1SXuhui Lin clock-output-names = "spll"; 103b67262e1SXuhui Lin }; 104b67262e1SXuhui Lin 105b67262e1SXuhui Lin mclkin_sai0: mclkin-sai0 { 106b67262e1SXuhui Lin compatible = "fixed-clock"; 107b67262e1SXuhui Lin #clock-cells = <0>; 108b67262e1SXuhui Lin clock-frequency = <0>; 109b67262e1SXuhui Lin clock-output-names = "sai0_mclkin"; 110b67262e1SXuhui Lin }; 111b67262e1SXuhui Lin 112b67262e1SXuhui Lin mclkin_sai1: mclkin-sai1 { 113b67262e1SXuhui Lin compatible = "fixed-clock"; 114b67262e1SXuhui Lin #clock-cells = <0>; 115b67262e1SXuhui Lin clock-frequency = <0>; 116b67262e1SXuhui Lin clock-output-names = "sai1_mclkin"; 117b67262e1SXuhui Lin }; 118b67262e1SXuhui Lin 119b67262e1SXuhui Lin mclkin_sai2: mclkin-sai2 { 120b67262e1SXuhui Lin compatible = "fixed-clock"; 121b67262e1SXuhui Lin #clock-cells = <0>; 122b67262e1SXuhui Lin clock-frequency = <0>; 123b67262e1SXuhui Lin clock-output-names = "sai2_mclkin"; 124b67262e1SXuhui Lin }; 125b67262e1SXuhui Lin 126b67262e1SXuhui Lin mclkin_sai3: mclkin-sai3 { 127b67262e1SXuhui Lin compatible = "fixed-clock"; 128b67262e1SXuhui Lin #clock-cells = <0>; 129b67262e1SXuhui Lin clock-frequency = <0>; 130b67262e1SXuhui Lin clock-output-names = "sai3_mclkin"; 131b67262e1SXuhui Lin }; 132b67262e1SXuhui Lin 133b67262e1SXuhui Lin mclkin_sai4: mclkin-sai4 { 134b67262e1SXuhui Lin compatible = "fixed-clock"; 135b67262e1SXuhui Lin #clock-cells = <0>; 136b67262e1SXuhui Lin clock-frequency = <0>; 137b67262e1SXuhui Lin clock-output-names = "sai4_mclkin"; 138b67262e1SXuhui Lin }; 139b67262e1SXuhui Lin 140b67262e1SXuhui Lin mclkout_sai0: mclkout-sai0@26046400 { 141b67262e1SXuhui Lin compatible = "rockchip,clk-out"; 142b67262e1SXuhui Lin reg = <0 0x26046400 0 0x4>; 143b67262e1SXuhui Lin clocks = <&cru CLK_SAI0_MCLKOUT>; 144b67262e1SXuhui Lin #clock-cells = <0>; 145b67262e1SXuhui Lin clock-output-names = "mclk_sai0_to_io"; 146b67262e1SXuhui Lin rockchip,bit-shift = <0>; 147b67262e1SXuhui Lin rockchip,bit-set-to-disable; 148b67262e1SXuhui Lin }; 149b67262e1SXuhui Lin 150b67262e1SXuhui Lin mclkout_sai1: mclkout-sai1@26046400 { 151b67262e1SXuhui Lin compatible = "rockchip,clk-out"; 152b67262e1SXuhui Lin reg = <0 0x26046400 0 0x4>; 153b67262e1SXuhui Lin clocks = <&cru CLK_SAI1_MCLKOUT>; 154b67262e1SXuhui Lin #clock-cells = <0>; 155b67262e1SXuhui Lin clock-output-names = "mclk_sai1_to_io"; 156b67262e1SXuhui Lin rockchip,bit-shift = <1>; 157b67262e1SXuhui Lin rockchip,bit-set-to-disable; 158b67262e1SXuhui Lin }; 159b67262e1SXuhui Lin 160b67262e1SXuhui Lin mclkout_sai2: mclkout-sai2@26046400 { 161b67262e1SXuhui Lin compatible = "rockchip,clk-out"; 162b67262e1SXuhui Lin reg = <0 0x26046400 0 0x4>; 163b67262e1SXuhui Lin clocks = <&cru CLK_SAI2_MCLKOUT>; 164b67262e1SXuhui Lin #clock-cells = <0>; 165b67262e1SXuhui Lin clock-output-names = "mclk_sai2_to_io"; 166b67262e1SXuhui Lin rockchip,bit-shift = <2>; 167b67262e1SXuhui Lin rockchip,bit-set-to-disable; 168b67262e1SXuhui Lin }; 169b67262e1SXuhui Lin 170b67262e1SXuhui Lin mclkout_sai3: mclkout-sai3@26046400 { 171b67262e1SXuhui Lin compatible = "rockchip,clk-out"; 172b67262e1SXuhui Lin reg = <0 0x26046400 0 0x4>; 173b67262e1SXuhui Lin clocks = <&cru CLK_SAI3_MCLKOUT>; 174b67262e1SXuhui Lin #clock-cells = <0>; 175b67262e1SXuhui Lin clock-output-names = "mclk_sai3_to_io"; 176b67262e1SXuhui Lin rockchip,bit-shift = <3>; 177b67262e1SXuhui Lin rockchip,bit-set-to-disable; 178b67262e1SXuhui Lin }; 179b67262e1SXuhui Lin 180b67262e1SXuhui Lin mclkout_sai4: mclkout-sai4@26046400 { 181b67262e1SXuhui Lin compatible = "rockchip,clk-out"; 182b67262e1SXuhui Lin reg = <0 0x26046400 0 0x4>; 183b67262e1SXuhui Lin clocks = <&cru CLK_SAI4_MCLKOUT>; 184b67262e1SXuhui Lin #clock-cells = <0>; 185b67262e1SXuhui Lin clock-output-names = "mclk_sai4_to_io"; 186b67262e1SXuhui Lin rockchip,bit-shift = <4>; 187b67262e1SXuhui Lin rockchip,bit-set-to-disable; 188b67262e1SXuhui Lin }; 189b67262e1SXuhui Lin 190b67262e1SXuhui Lin mclkout_sai4m2: mclkout-sai4m2@2604a400 { 191b67262e1SXuhui Lin compatible = "rockchip,clk-out"; 192b67262e1SXuhui Lin reg = <0 0x2604a400 0 0x4>; 193b67262e1SXuhui Lin clocks = <&cru CLK_SAI4_MCLKOUT>; 194b67262e1SXuhui Lin #clock-cells = <0>; 195b67262e1SXuhui Lin clock-output-names = "mclk_sai4_to_io"; 196b67262e1SXuhui Lin rockchip,bit-shift = <0>; 197b67262e1SXuhui Lin rockchip,bit-set-to-disable; 198b67262e1SXuhui Lin }; 199b67262e1SXuhui Lin 200b67262e1SXuhui Lin sclkin_sai0: sclkin-sai0 { 201b67262e1SXuhui Lin compatible = "fixed-clock"; 202b67262e1SXuhui Lin #clock-cells = <0>; 203b67262e1SXuhui Lin clock-frequency = <0>; 204b67262e1SXuhui Lin clock-output-names = "sai0_sclk_in"; 205b67262e1SXuhui Lin }; 206b67262e1SXuhui Lin 207b67262e1SXuhui Lin sclkin_sai1: sclkin-sai1 { 208b67262e1SXuhui Lin compatible = "fixed-clock"; 209b67262e1SXuhui Lin #clock-cells = <0>; 210b67262e1SXuhui Lin clock-frequency = <0>; 211b67262e1SXuhui Lin clock-output-names = "sai1_sclk_in"; 212b67262e1SXuhui Lin }; 213b67262e1SXuhui Lin 214b67262e1SXuhui Lin sclkin_sai2: sclkin-sai2 { 215b67262e1SXuhui Lin compatible = "fixed-clock"; 216b67262e1SXuhui Lin #clock-cells = <0>; 217b67262e1SXuhui Lin clock-frequency = <0>; 218b67262e1SXuhui Lin clock-output-names = "sai2_sclk_in"; 219b67262e1SXuhui Lin }; 220b67262e1SXuhui Lin 221b67262e1SXuhui Lin sclkin_sai3: sclkin-sai3 { 222b67262e1SXuhui Lin compatible = "fixed-clock"; 223b67262e1SXuhui Lin #clock-cells = <0>; 224b67262e1SXuhui Lin clock-frequency = <0>; 225b67262e1SXuhui Lin clock-output-names = "sai3_sclk_in"; 226b67262e1SXuhui Lin }; 227b67262e1SXuhui Lin 228b67262e1SXuhui Lin sclkin_sai4: sclkin-sai4 { 229b67262e1SXuhui Lin compatible = "fixed-clock"; 230b67262e1SXuhui Lin #clock-cells = <0>; 231b67262e1SXuhui Lin clock-frequency = <0>; 232b67262e1SXuhui Lin clock-output-names = "sai4_sclk_in"; 233b67262e1SXuhui Lin }; 234b67262e1SXuhui Lin 235b67262e1SXuhui Lin clk_pvtm_clkout: clk_pvtm_clkout { 236b67262e1SXuhui Lin compatible = "fixed-clock"; 237b67262e1SXuhui Lin #clock-cells = <0>; 238b67262e1SXuhui Lin clock-frequency = <32768>; 239b67262e1SXuhui Lin clock-output-names = "clk_pvtm_clkout"; 240b67262e1SXuhui Lin }; 241b67262e1SXuhui Lin 242b67262e1SXuhui Lin aclk_usb: aclk_usb@272008bc { 243b67262e1SXuhui Lin compatible = "rockchip,rk3576-clock-gate-link"; 244b67262e1SXuhui Lin reg = <0 0x272008bc 0 0x10>; 245b67262e1SXuhui Lin clock-names = "link"; 246b67262e1SXuhui Lin clocks = <&cru ACLK_VOP_ROOT>; 247b67262e1SXuhui Lin #power-domain-cells = <1>; 248b67262e1SXuhui Lin #clock-cells = <0>; 249b67262e1SXuhui Lin }; 250b67262e1SXuhui Lin 251b67262e1SXuhui Lin aclk_ufs: aclk_ufs@272008bc { 252b67262e1SXuhui Lin compatible = "rockchip,rk3576-clock-gate-link"; 253b67262e1SXuhui Lin reg = <0 0x272008bc 0 0x10>; 254b67262e1SXuhui Lin clock-names = "link"; 255b67262e1SXuhui Lin clocks = <&aclk_usb>; 256b67262e1SXuhui Lin #power-domain-cells = <1>; 257b67262e1SXuhui Lin #clock-cells = <0>; 258b67262e1SXuhui Lin }; 259b67262e1SXuhui Lin 260b67262e1SXuhui Lin pclk_usbufs: pclk_usbufs@272008bc { 261b67262e1SXuhui Lin compatible = "rockchip,rk3576-clock-gate-link"; 262b67262e1SXuhui Lin reg = <0 0x272008bc 0 0x10>; 263b67262e1SXuhui Lin clock-names = "link"; 264b67262e1SXuhui Lin clocks = <&cru HCLK_VOP_ROOT>; 265b67262e1SXuhui Lin #power-domain-cells = <1>; 266b67262e1SXuhui Lin #clock-cells = <0>; 267b67262e1SXuhui Lin }; 268b67262e1SXuhui Lin 269b67262e1SXuhui Lin aclk_hdcp1: aclk_hdcp1@27200910 { 270b67262e1SXuhui Lin compatible = "rockchip,rk3576-clock-gate-link"; 271b67262e1SXuhui Lin reg = <0 0x27200910 0 0x10>; 272b67262e1SXuhui Lin clock-names = "link"; 273b67262e1SXuhui Lin clocks = <&cru ACLK_VOP_ROOT>; 274b67262e1SXuhui Lin #power-domain-cells = <1>; 275b67262e1SXuhui Lin #clock-cells = <0>; 276b67262e1SXuhui Lin }; 277b67262e1SXuhui Lin 278b67262e1SXuhui Lin aclk_hdcp0: aclk_hdcp0@272008fc { 279b67262e1SXuhui Lin compatible = "rockchip,rk3576-clock-gate-link"; 280b67262e1SXuhui Lin reg = <0 0x272008fc 0 0x10>; 281b67262e1SXuhui Lin clock-names = "link"; 282b67262e1SXuhui Lin clocks = <&cru ACLK_VOP_ROOT>; 283b67262e1SXuhui Lin #power-domain-cells = <1>; 284b67262e1SXuhui Lin #clock-cells = <0>; 285b67262e1SXuhui Lin }; 286b67262e1SXuhui Lin 287b67262e1SXuhui Lin aclk_sdgmac: aclk_sdgmac@272008a8 { 288b67262e1SXuhui Lin compatible = "rockchip,rk3576-clock-gate-link"; 289b67262e1SXuhui Lin reg = <0 0x272008a8 0 0x10>; 290b67262e1SXuhui Lin clock-names = "link"; 291b67262e1SXuhui Lin clocks = <&cru ACLK_NVM_ROOT>; 292b67262e1SXuhui Lin #power-domain-cells = <1>; 293b67262e1SXuhui Lin #clock-cells = <0>; 294b67262e1SXuhui Lin }; 295b67262e1SXuhui Lin 296b67262e1SXuhui Lin hclk_sdgmac: hclk_sdgmac@272008a8 { 297b67262e1SXuhui Lin compatible = "rockchip,rk3576-clock-gate-link"; 298b67262e1SXuhui Lin reg = <0 0x272008a8 0 0x10>; 299b67262e1SXuhui Lin clock-names = "link"; 300b67262e1SXuhui Lin clocks = <&aclk_sdgmac>; 301b67262e1SXuhui Lin #power-domain-cells = <1>; 302b67262e1SXuhui Lin #clock-cells = <0>; 303b67262e1SXuhui Lin }; 304b67262e1SXuhui Lin 305b67262e1SXuhui Lin aclk_vdpp: aclk_vdpp@272008c8 { 306b67262e1SXuhui Lin compatible = "rockchip,rk3576-clock-gate-link"; 307b67262e1SXuhui Lin reg = <0 0x272008c8 0 0x10>; 308b67262e1SXuhui Lin clock-names = "link"; 309b67262e1SXuhui Lin clocks = <&cru ACLK_VPU_ROOT>; 310b67262e1SXuhui Lin #power-domain-cells = <1>; 311b67262e1SXuhui Lin #clock-cells = <0>; 312b67262e1SXuhui Lin }; 313b67262e1SXuhui Lin 314b67262e1SXuhui Lin aclk_ebc: aclk_ebc@272008c8 { 315b67262e1SXuhui Lin compatible = "rockchip,rk3576-clock-gate-link"; 316b67262e1SXuhui Lin reg = <0 0x272008c8 0 0x10>; 317b67262e1SXuhui Lin clock-names = "link"; 318b67262e1SXuhui Lin clocks = <&cru ACLK_VPU_ROOT>; 319b67262e1SXuhui Lin #power-domain-cells = <1>; 320b67262e1SXuhui Lin #clock-cells = <0>; 321b67262e1SXuhui Lin }; 322b67262e1SXuhui Lin 323b67262e1SXuhui Lin aclk_jpeg: aclk_jpeg@272008c8 { 324b67262e1SXuhui Lin compatible = "rockchip,rk3576-clock-gate-link"; 325b67262e1SXuhui Lin reg = <0 0x272008c8 0 0x10>; 326b67262e1SXuhui Lin clock-names = "link"; 327b67262e1SXuhui Lin clocks = <&cru ACLK_VPU_ROOT>; 328b67262e1SXuhui Lin #power-domain-cells = <1>; 329b67262e1SXuhui Lin #clock-cells = <0>; 330b67262e1SXuhui Lin }; 331b67262e1SXuhui Lin 332b67262e1SXuhui Lin aclk_vepu0: aclk_vepu0@272008cc { 333b67262e1SXuhui Lin compatible = "rockchip,rk3576-clock-gate-link"; 334b67262e1SXuhui Lin reg = <0 0x272008cc 0 0x10>; 335b67262e1SXuhui Lin clock-names = "link"; 336b67262e1SXuhui Lin clocks = <&cru ACLK_VI_ROOT>; 337b67262e1SXuhui Lin #power-domain-cells = <1>; 338b67262e1SXuhui Lin #clock-cells = <0>; 339b67262e1SXuhui Lin }; 340b67262e1SXuhui Lin 341b67262e1SXuhui Lin hclk_vo1: hclk_vo1@2720090c { 342b67262e1SXuhui Lin compatible = "rockchip,rk3576-clock-gate-link"; 343b67262e1SXuhui Lin reg = <0 0x2720090c 0 0x10>; 344b67262e1SXuhui Lin clock-names = "link"; 345b67262e1SXuhui Lin clocks = <&cru HCLK_VOP_ROOT>; 346b67262e1SXuhui Lin #power-domain-cells = <1>; 347b67262e1SXuhui Lin #clock-cells = <0>; 348b67262e1SXuhui Lin }; 349b67262e1SXuhui Lin 350b67262e1SXuhui Lin hclk_vo0: hclk_vo0@272008fc { 351b67262e1SXuhui Lin compatible = "rockchip,rk3576-clock-gate-link"; 352b67262e1SXuhui Lin reg = <0 0x272008fc 0 0x10>; 353b67262e1SXuhui Lin clock-names = "link"; 354b67262e1SXuhui Lin clocks = <&cru HCLK_VOP_ROOT>; 355b67262e1SXuhui Lin #power-domain-cells = <1>; 356b67262e1SXuhui Lin #clock-cells = <0>; 357b67262e1SXuhui Lin }; 358b67262e1SXuhui Lin 359b67262e1SXuhui Lin aclk_dsmc: aclk_dsmc@272008ac { 360b67262e1SXuhui Lin compatible = "rockchip,rk3576-clock-gate-link"; 361b67262e1SXuhui Lin reg = <0 0x272008ac 0 0x10>; 362b67262e1SXuhui Lin clock-names = "link"; 363b67262e1SXuhui Lin clocks = <&cru HCLK_NVM_ROOT>; 364b67262e1SXuhui Lin #power-domain-cells = <1>; 365b67262e1SXuhui Lin #clock-cells = <0>; 366b67262e1SXuhui Lin }; 367b67262e1SXuhui Lin 368b67262e1SXuhui Lin pclk_sdgmac: pclk_sdgmac@272008a8 { 369b67262e1SXuhui Lin compatible = "rockchip,rk3576-clock-gate-link"; 370b67262e1SXuhui Lin reg = <0 0x272008a8 0 0x10>; 371b67262e1SXuhui Lin clock-names = "link"; 372b67262e1SXuhui Lin clocks = <&aclk_dsmc>; 373b67262e1SXuhui Lin #power-domain-cells = <1>; 374b67262e1SXuhui Lin #clock-cells = <0>; 375b67262e1SXuhui Lin }; 376b67262e1SXuhui Lin 377b67262e1SXuhui Lin hclk_vepu0: hclk_vepu0@272008cc { 378b67262e1SXuhui Lin compatible = "rockchip,rk3576-clock-gate-link"; 379b67262e1SXuhui Lin reg = <0 0x272008cc 0 0x10>; 380b67262e1SXuhui Lin clock-names = "link"; 381b67262e1SXuhui Lin clocks = <&cru HCLK_VI_ROOT>; 382b67262e1SXuhui Lin #power-domain-cells = <1>; 383b67262e1SXuhui Lin #clock-cells = <0>; 384b67262e1SXuhui Lin }; 385b67262e1SXuhui Lin }; 386b67262e1SXuhui Lin 387b67262e1SXuhui Lin cpus { 388b67262e1SXuhui Lin #address-cells = <1>; 389b67262e1SXuhui Lin #size-cells = <0>; 390b67262e1SXuhui Lin 391b67262e1SXuhui Lin cpu-map { 392b67262e1SXuhui Lin cluster0 { 393b67262e1SXuhui Lin core0 { 394b67262e1SXuhui Lin cpu = <&cpu_l0>; 395b67262e1SXuhui Lin }; 396b67262e1SXuhui Lin core1 { 397b67262e1SXuhui Lin cpu = <&cpu_l1>; 398b67262e1SXuhui Lin }; 399b67262e1SXuhui Lin core2 { 400b67262e1SXuhui Lin cpu = <&cpu_l2>; 401b67262e1SXuhui Lin }; 402b67262e1SXuhui Lin core3 { 403b67262e1SXuhui Lin cpu = <&cpu_l3>; 404b67262e1SXuhui Lin }; 405b67262e1SXuhui Lin }; 406b67262e1SXuhui Lin cluster1 { 407b67262e1SXuhui Lin core0 { 408b67262e1SXuhui Lin cpu = <&cpu_b0>; 409b67262e1SXuhui Lin }; 410b67262e1SXuhui Lin core1 { 411b67262e1SXuhui Lin cpu = <&cpu_b1>; 412b67262e1SXuhui Lin }; 413b67262e1SXuhui Lin core2 { 414b67262e1SXuhui Lin cpu = <&cpu_b2>; 415b67262e1SXuhui Lin }; 416b67262e1SXuhui Lin core3 { 417b67262e1SXuhui Lin cpu = <&cpu_b3>; 418b67262e1SXuhui Lin }; 419b67262e1SXuhui Lin }; 420b67262e1SXuhui Lin }; 421b67262e1SXuhui Lin 422b67262e1SXuhui Lin cpu_l0: cpu@0 { 423b67262e1SXuhui Lin device_type = "cpu"; 424b67262e1SXuhui Lin compatible = "arm,cortex-a53"; 425b67262e1SXuhui Lin reg = <0x0>; 426b67262e1SXuhui Lin enable-method = "psci"; 427b67262e1SXuhui Lin capacity-dmips-mhz = <485>; 428b67262e1SXuhui Lin clocks = <&cru ARMCLK_L>; 429b67262e1SXuhui Lin operating-points-v2 = <&cluster0_opp_table>; 430b67262e1SXuhui Lin }; 431b67262e1SXuhui Lin 432b67262e1SXuhui Lin cpu_l1: cpu@1 { 433b67262e1SXuhui Lin device_type = "cpu"; 434b67262e1SXuhui Lin compatible = "arm,cortex-a53"; 435b67262e1SXuhui Lin reg = <0x1>; 436b67262e1SXuhui Lin enable-method = "psci"; 437b67262e1SXuhui Lin capacity-dmips-mhz = <485>; 438b67262e1SXuhui Lin clocks = <&cru ARMCLK_L>; 439b67262e1SXuhui Lin operating-points-v2 = <&cluster0_opp_table>; 440b67262e1SXuhui Lin }; 441b67262e1SXuhui Lin 442b67262e1SXuhui Lin cpu_l2: cpu@2 { 443b67262e1SXuhui Lin device_type = "cpu"; 444b67262e1SXuhui Lin compatible = "arm,cortex-a53"; 445b67262e1SXuhui Lin reg = <0x2>; 446b67262e1SXuhui Lin enable-method = "psci"; 447b67262e1SXuhui Lin capacity-dmips-mhz = <485>; 448b67262e1SXuhui Lin clocks = <&cru ARMCLK_L>; 449b67262e1SXuhui Lin operating-points-v2 = <&cluster0_opp_table>; 450b67262e1SXuhui Lin }; 451b67262e1SXuhui Lin 452b67262e1SXuhui Lin cpu_l3: cpu@3 { 453b67262e1SXuhui Lin device_type = "cpu"; 454b67262e1SXuhui Lin compatible = "arm,cortex-a53"; 455b67262e1SXuhui Lin reg = <0x3>; 456b67262e1SXuhui Lin enable-method = "psci"; 457b67262e1SXuhui Lin capacity-dmips-mhz = <485>; 458b67262e1SXuhui Lin clocks = <&cru ARMCLK_L>; 459b67262e1SXuhui Lin operating-points-v2 = <&cluster0_opp_table>; 460b67262e1SXuhui Lin }; 461b67262e1SXuhui Lin 462b67262e1SXuhui Lin cpu_b0: cpu@100 { 463b67262e1SXuhui Lin device_type = "cpu"; 464b67262e1SXuhui Lin compatible = "arm,cortex-a72"; 465b67262e1SXuhui Lin reg = <0x100>; 466b67262e1SXuhui Lin enable-method = "psci"; 467b67262e1SXuhui Lin capacity-dmips-mhz = <1024>; 468b67262e1SXuhui Lin clocks = <&cru ARMCLK_B>; 469b67262e1SXuhui Lin operating-points-v2 = <&cluster1_opp_table>; 470b67262e1SXuhui Lin }; 471b67262e1SXuhui Lin 472b67262e1SXuhui Lin cpu_b1: cpu@101 { 473b67262e1SXuhui Lin device_type = "cpu"; 474b67262e1SXuhui Lin compatible = "arm,cortex-a72"; 475b67262e1SXuhui Lin reg = <0x101>; 476b67262e1SXuhui Lin enable-method = "psci"; 477b67262e1SXuhui Lin capacity-dmips-mhz = <1024>; 478b67262e1SXuhui Lin clocks = <&cru ARMCLK_B>; 479b67262e1SXuhui Lin operating-points-v2 = <&cluster1_opp_table>; 480b67262e1SXuhui Lin }; 481b67262e1SXuhui Lin 482b67262e1SXuhui Lin cpu_b2: cpu@102 { 483b67262e1SXuhui Lin device_type = "cpu"; 484b67262e1SXuhui Lin compatible = "arm,cortex-a72"; 485b67262e1SXuhui Lin reg = <0x102>; 486b67262e1SXuhui Lin enable-method = "psci"; 487b67262e1SXuhui Lin capacity-dmips-mhz = <1024>; 488b67262e1SXuhui Lin clocks = <&cru ARMCLK_B>; 489b67262e1SXuhui Lin operating-points-v2 = <&cluster1_opp_table>; 490b67262e1SXuhui Lin }; 491b67262e1SXuhui Lin 492b67262e1SXuhui Lin cpu_b3: cpu@103 { 493b67262e1SXuhui Lin device_type = "cpu"; 494b67262e1SXuhui Lin compatible = "arm,cortex-a72"; 495b67262e1SXuhui Lin reg = <0x103>; 496b67262e1SXuhui Lin enable-method = "psci"; 497b67262e1SXuhui Lin capacity-dmips-mhz = <1024>; 498b67262e1SXuhui Lin clocks = <&cru ARMCLK_B>; 499b67262e1SXuhui Lin operating-points-v2 = <&cluster1_opp_table>; 500b67262e1SXuhui Lin }; 501b67262e1SXuhui Lin }; 502b67262e1SXuhui Lin 503b67262e1SXuhui Lin cluster0_opp_table: cluster0-opp-table { 504b67262e1SXuhui Lin compatible = "operating-points-v2"; 505b67262e1SXuhui Lin opp-shared; 506b67262e1SXuhui Lin 507b67262e1SXuhui Lin opp-408000000 { 508b67262e1SXuhui Lin opp-hz = /bits/ 64 <408000000>; 509b67262e1SXuhui Lin opp-microvolt = <950000 950000 950000>; 510b67262e1SXuhui Lin clock-latency-ns = <40000>; 511b67262e1SXuhui Lin }; 512b67262e1SXuhui Lin opp-600000000 { 513b67262e1SXuhui Lin opp-hz = /bits/ 64 <600000000>; 514b67262e1SXuhui Lin opp-microvolt = <950000 950000 950000>; 515b67262e1SXuhui Lin clock-latency-ns = <40000>; 516b67262e1SXuhui Lin }; 517b67262e1SXuhui Lin opp-816000000 { 518b67262e1SXuhui Lin opp-hz = /bits/ 64 <816000000>; 519b67262e1SXuhui Lin opp-microvolt = <950000 950000 950000>; 520b67262e1SXuhui Lin clock-latency-ns = <40000>; 521b67262e1SXuhui Lin }; 522b67262e1SXuhui Lin opp-1008000000 { 523b67262e1SXuhui Lin opp-hz = /bits/ 64 <1008000000>; 524b67262e1SXuhui Lin opp-microvolt = <950000 950000 950000>; 525b67262e1SXuhui Lin clock-latency-ns = <40000>; 526b67262e1SXuhui Lin }; 527b67262e1SXuhui Lin opp-1200000000 { 528b67262e1SXuhui Lin opp-hz = /bits/ 64 <1200000000>; 529b67262e1SXuhui Lin opp-microvolt = <950000 950000 950000>; 530b67262e1SXuhui Lin clock-latency-ns = <40000>; 531b67262e1SXuhui Lin }; 532b67262e1SXuhui Lin opp-1416000000 { 533b67262e1SXuhui Lin opp-hz = /bits/ 64 <1416000000>; 534b67262e1SXuhui Lin opp-microvolt = <950000 950000 950000>; 535b67262e1SXuhui Lin clock-latency-ns = <40000>; 536b67262e1SXuhui Lin }; 537b67262e1SXuhui Lin }; 538b67262e1SXuhui Lin 539b67262e1SXuhui Lin cluster1_opp_table: cluster1-opp-table { 540b67262e1SXuhui Lin compatible = "operating-points-v2"; 541b67262e1SXuhui Lin opp-shared; 542b67262e1SXuhui Lin 543b67262e1SXuhui Lin opp-408000000 { 544b67262e1SXuhui Lin opp-hz = /bits/ 64 <408000000>; 545b67262e1SXuhui Lin opp-microvolt = <950000 950000 950000>; 546b67262e1SXuhui Lin clock-latency-ns = <40000>; 547b67262e1SXuhui Lin }; 548b67262e1SXuhui Lin opp-600000000 { 549b67262e1SXuhui Lin opp-hz = /bits/ 64 <600000000>; 550b67262e1SXuhui Lin opp-microvolt = <950000 950000 950000>; 551b67262e1SXuhui Lin clock-latency-ns = <40000>; 552b67262e1SXuhui Lin }; 553b67262e1SXuhui Lin opp-816000000 { 554b67262e1SXuhui Lin opp-hz = /bits/ 64 <816000000>; 555b67262e1SXuhui Lin opp-microvolt = <950000 950000 950000>; 556b67262e1SXuhui Lin clock-latency-ns = <40000>; 557b67262e1SXuhui Lin }; 558b67262e1SXuhui Lin opp-1008000000 { 559b67262e1SXuhui Lin opp-hz = /bits/ 64 <1008000000>; 560b67262e1SXuhui Lin opp-microvolt = <950000 950000 950000>; 561b67262e1SXuhui Lin clock-latency-ns = <40000>; 562b67262e1SXuhui Lin }; 563b67262e1SXuhui Lin opp-1200000000 { 564b67262e1SXuhui Lin opp-hz = /bits/ 64 <1200000000>; 565b67262e1SXuhui Lin opp-microvolt = <950000 950000 950000>; 566b67262e1SXuhui Lin clock-latency-ns = <40000>; 567b67262e1SXuhui Lin }; 568b67262e1SXuhui Lin opp-1416000000 { 569b67262e1SXuhui Lin opp-hz = /bits/ 64 <1416000000>; 570b67262e1SXuhui Lin opp-microvolt = <950000 950000 950000>; 571b67262e1SXuhui Lin clock-latency-ns = <40000>; 572b67262e1SXuhui Lin }; 573b67262e1SXuhui Lin opp-1608000000 { 574b67262e1SXuhui Lin opp-hz = /bits/ 64 <1608000000>; 575b67262e1SXuhui Lin opp-microvolt = <950000 950000 950000>; 576b67262e1SXuhui Lin clock-latency-ns = <40000>; 577b67262e1SXuhui Lin }; 578b67262e1SXuhui Lin }; 579b67262e1SXuhui Lin 580b67262e1SXuhui Lin cpuinfo { 581b67262e1SXuhui Lin compatible = "rockchip,cpuinfo"; 582b67262e1SXuhui Lin nvmem-cells = <&otp_id>, <&otp_cpu_version>, <&cpu_code>; 583b67262e1SXuhui Lin nvmem-cell-names = "id", "cpu-version", "cpu-code"; 584b67262e1SXuhui Lin }; 585b67262e1SXuhui Lin 586b67262e1SXuhui Lin csi2_dcphy0: csi2-dcphy0 { 587b67262e1SXuhui Lin compatible = "rockchip,rk3576-csi2-dphy"; 588b67262e1SXuhui Lin rockchip,hw = <&csi2_dphy0_hw>, <&csi2_dphy1_hw>; 589b67262e1SXuhui Lin phys = <&mipidcphy0>; 590b67262e1SXuhui Lin phy-names = "dcphy0"; 591b67262e1SXuhui Lin status = "disabled"; 592b67262e1SXuhui Lin }; 593b67262e1SXuhui Lin 594b67262e1SXuhui Lin csi2_dphy0: csi2-dphy0 { 595b67262e1SXuhui Lin compatible = "rockchip,rk3576-csi2-dphy"; 596b67262e1SXuhui Lin rockchip,hw = <&csi2_dphy0_hw>, <&csi2_dphy1_hw>; 597b67262e1SXuhui Lin phys = <&mipidcphy0>; 598b67262e1SXuhui Lin phy-names = "dcphy0"; 599b67262e1SXuhui Lin status = "disabled"; 600b67262e1SXuhui Lin }; 601b67262e1SXuhui Lin 602b67262e1SXuhui Lin csi2_dphy1: csi2-dphy1 { 603b67262e1SXuhui Lin compatible = "rockchip,rk3576-csi2-dphy"; 604b67262e1SXuhui Lin rockchip,hw = <&csi2_dphy0_hw>, <&csi2_dphy1_hw>; 605b67262e1SXuhui Lin phys = <&mipidcphy0>; 606b67262e1SXuhui Lin phy-names = "dcphy0"; 607b67262e1SXuhui Lin status = "disabled"; 608b67262e1SXuhui Lin }; 609b67262e1SXuhui Lin 610b67262e1SXuhui Lin csi2_dphy2: csi2-dphy2 { 611b67262e1SXuhui Lin compatible = "rockchip,rk3576-csi2-dphy"; 612b67262e1SXuhui Lin rockchip,hw = <&csi2_dphy0_hw>, <&csi2_dphy1_hw>; 613b67262e1SXuhui Lin phys = <&mipidcphy0>; 614b67262e1SXuhui Lin phy-names = "dcphy0"; 615b67262e1SXuhui Lin status = "disabled"; 616b67262e1SXuhui Lin }; 617b67262e1SXuhui Lin 618b67262e1SXuhui Lin csi2_dphy3: csi2-dphy3 { 619b67262e1SXuhui Lin compatible = "rockchip,rk3576-csi2-dphy"; 620b67262e1SXuhui Lin rockchip,hw = <&csi2_dphy0_hw>, <&csi2_dphy1_hw>; 621b67262e1SXuhui Lin phys = <&mipidcphy0>; 622b67262e1SXuhui Lin phy-names = "dcphy0"; 623b67262e1SXuhui Lin status = "disabled"; 624b67262e1SXuhui Lin }; 625b67262e1SXuhui Lin 626b67262e1SXuhui Lin csi2_dphy4: csi2-dphy4 { 627b67262e1SXuhui Lin compatible = "rockchip,rk3576-csi2-dphy"; 628b67262e1SXuhui Lin rockchip,hw = <&csi2_dphy0_hw>, <&csi2_dphy1_hw>; 629b67262e1SXuhui Lin phys = <&mipidcphy0>; 630b67262e1SXuhui Lin phy-names = "dcphy0"; 631b67262e1SXuhui Lin status = "disabled"; 632b67262e1SXuhui Lin }; 633b67262e1SXuhui Lin 634b67262e1SXuhui Lin csi2_dphy5: csi2-dphy5 { 635b67262e1SXuhui Lin compatible = "rockchip,rk3576-csi2-dphy"; 636b67262e1SXuhui Lin rockchip,hw = <&csi2_dphy0_hw>, <&csi2_dphy1_hw>; 637b67262e1SXuhui Lin phys = <&mipidcphy0>; 638b67262e1SXuhui Lin phy-names = "dcphy0"; 639b67262e1SXuhui Lin status = "disabled"; 640b67262e1SXuhui Lin }; 641b67262e1SXuhui Lin 642b67262e1SXuhui Lin display_subsystem: display-subsystem { 643b67262e1SXuhui Lin compatible = "rockchip,display-subsystem"; 644b67262e1SXuhui Lin ports = <&vop_out>, <&vopl_out>; 645b67262e1SXuhui Lin 646b67262e1SXuhui Lin route { 647b67262e1SXuhui Lin route_dsi: route-dsi { 648b67262e1SXuhui Lin status = "disabled"; 649b67262e1SXuhui Lin logo,uboot = "logo.bmp"; 650b67262e1SXuhui Lin logo,kernel = "logo_kernel.bmp"; 651b67262e1SXuhui Lin logo,mode = "center"; 652b67262e1SXuhui Lin charge_logo,mode = "center"; 653b67262e1SXuhui Lin connect = <&vp2_out_dsi>; 654b67262e1SXuhui Lin }; 655b67262e1SXuhui Lin 656b67262e1SXuhui Lin route_edp: route-edp { 657b67262e1SXuhui Lin status = "disabled"; 658b67262e1SXuhui Lin logo,uboot = "logo.bmp"; 659b67262e1SXuhui Lin logo,kernel = "logo_kernel.bmp"; 660b67262e1SXuhui Lin logo,mode = "center"; 661b67262e1SXuhui Lin charge_logo,mode = "center"; 662b67262e1SXuhui Lin connect = <&vp1_out_edp>; 663b67262e1SXuhui Lin }; 664b67262e1SXuhui Lin 665b67262e1SXuhui Lin route_hdmi: route-hdmi { 666b67262e1SXuhui Lin status = "disabled"; 667b67262e1SXuhui Lin logo,uboot = "logo.bmp"; 668b67262e1SXuhui Lin logo,kernel = "logo_kernel.bmp"; 669b67262e1SXuhui Lin logo,mode = "center"; 670b67262e1SXuhui Lin charge_logo,mode = "center"; 671b67262e1SXuhui Lin connect = <&vp0_out_hdmi>; 672b67262e1SXuhui Lin }; 673b67262e1SXuhui Lin 674b67262e1SXuhui Lin route_dp0: route-dp0 { 675b67262e1SXuhui Lin status = "disabled"; 676b67262e1SXuhui Lin logo,uboot = "logo.bmp"; 677b67262e1SXuhui Lin logo,kernel = "logo_kernel.bmp"; 678b67262e1SXuhui Lin logo,mode = "center"; 679b67262e1SXuhui Lin charge_logo,mode = "center"; 680b67262e1SXuhui Lin connect = <&vp0_out_dp0>; 681b67262e1SXuhui Lin }; 682b67262e1SXuhui Lin 683b67262e1SXuhui Lin route_rgb: route-rgb { 684b67262e1SXuhui Lin status = "disabled"; 685b67262e1SXuhui Lin logo,uboot = "logo.bmp"; 686b67262e1SXuhui Lin logo,kernel = "logo_kernel.bmp"; 687b67262e1SXuhui Lin logo,mode = "center"; 688b67262e1SXuhui Lin charge_logo,mode = "center"; 689b67262e1SXuhui Lin connect = <&vp2_out_rgb>; 690b67262e1SXuhui Lin }; 691b67262e1SXuhui Lin }; 692b67262e1SXuhui Lin }; 693b67262e1SXuhui Lin 694f63a7390SFinley Xiao firmware: firmware { 695b67262e1SXuhui Lin scmi: scmi { 696b67262e1SXuhui Lin compatible = "arm,scmi-smc"; 697b67262e1SXuhui Lin arm,smc-id = <0x82000010>; 698b67262e1SXuhui Lin shmem = <&scmi_shmem>; 699b67262e1SXuhui Lin #address-cells = <1>; 700b67262e1SXuhui Lin #size-cells = <0>; 701b67262e1SXuhui Lin 702b67262e1SXuhui Lin scmi_clk: protocol@14 { 703b67262e1SXuhui Lin reg = <0x14>; 704b67262e1SXuhui Lin #clock-cells = <1>; 705b67262e1SXuhui Lin }; 706b67262e1SXuhui Lin }; 707b67262e1SXuhui Lin }; 708b67262e1SXuhui Lin 709b67262e1SXuhui Lin mipi0_csi2: mipi0-csi2 { 710b67262e1SXuhui Lin compatible = "rockchip,rk3576-mipi-csi2"; 711b67262e1SXuhui Lin rockchip,hw = <&mipi0_csi2_hw>, <&mipi1_csi2_hw>, 712b67262e1SXuhui Lin <&mipi2_csi2_hw>, <&mipi3_csi2_hw>, 713b67262e1SXuhui Lin <&mipi4_csi2_hw>; 714b67262e1SXuhui Lin status = "disabled"; 715b67262e1SXuhui Lin }; 716b67262e1SXuhui Lin 717b67262e1SXuhui Lin mipi1_csi2: mipi1-csi2 { 718b67262e1SXuhui Lin compatible = "rockchip,rk3576-mipi-csi2"; 719b67262e1SXuhui Lin rockchip,hw = <&mipi0_csi2_hw>, <&mipi1_csi2_hw>, 720b67262e1SXuhui Lin <&mipi2_csi2_hw>, <&mipi3_csi2_hw>, 721b67262e1SXuhui Lin <&mipi4_csi2_hw>; 722b67262e1SXuhui Lin status = "disabled"; 723b67262e1SXuhui Lin }; 724b67262e1SXuhui Lin 725b67262e1SXuhui Lin mipi2_csi2: mipi2-csi2 { 726b67262e1SXuhui Lin compatible = "rockchip,rk3576-mipi-csi2"; 727b67262e1SXuhui Lin rockchip,hw = <&mipi0_csi2_hw>, <&mipi1_csi2_hw>, 728b67262e1SXuhui Lin <&mipi2_csi2_hw>, <&mipi3_csi2_hw>, 729b67262e1SXuhui Lin <&mipi4_csi2_hw>; 730b67262e1SXuhui Lin status = "disabled"; 731b67262e1SXuhui Lin }; 732b67262e1SXuhui Lin 733b67262e1SXuhui Lin mipi3_csi2: mipi3-csi2 { 734b67262e1SXuhui Lin compatible = "rockchip,rk3576-mipi-csi2"; 735b67262e1SXuhui Lin rockchip,hw = <&mipi0_csi2_hw>, <&mipi1_csi2_hw>, 736b67262e1SXuhui Lin <&mipi2_csi2_hw>, <&mipi3_csi2_hw>, 737b67262e1SXuhui Lin <&mipi4_csi2_hw>; 738b67262e1SXuhui Lin status = "disabled"; 739b67262e1SXuhui Lin }; 740b67262e1SXuhui Lin 741b67262e1SXuhui Lin mipi4_csi2: mipi4-csi2 { 742b67262e1SXuhui Lin compatible = "rockchip,rk3576-mipi-csi2"; 743b67262e1SXuhui Lin rockchip,hw = <&mipi0_csi2_hw>, <&mipi1_csi2_hw>, 744b67262e1SXuhui Lin <&mipi2_csi2_hw>, <&mipi3_csi2_hw>, 745b67262e1SXuhui Lin <&mipi4_csi2_hw>; 746b67262e1SXuhui Lin status = "disabled"; 747b67262e1SXuhui Lin }; 748b67262e1SXuhui Lin 749b67262e1SXuhui Lin mpp_srv: mpp-srv { 750b67262e1SXuhui Lin compatible = "rockchip,mpp-service"; 751b67262e1SXuhui Lin rockchip,taskqueue-count = <6>; 752b67262e1SXuhui Lin rockchip,resetgroup-count = <1>; 753b67262e1SXuhui Lin status = "disabled"; 754b67262e1SXuhui Lin }; 755b67262e1SXuhui Lin 756b67262e1SXuhui Lin pmu_a53: pmu-a53 { 757b67262e1SXuhui Lin compatible = "arm,cortex-a53-pmu"; 758b67262e1SXuhui Lin interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, 759b67262e1SXuhui Lin <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, 760b67262e1SXuhui Lin <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, 761b67262e1SXuhui Lin <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 762b67262e1SXuhui Lin interrupt-affinity = <&cpu_l0>, <&cpu_l1>, <&cpu_l2>, <&cpu_l3>; 763b67262e1SXuhui Lin }; 764b67262e1SXuhui Lin 765b67262e1SXuhui Lin pmu_a72: pmu-a72 { 766b67262e1SXuhui Lin compatible = "arm,cortex-a72-pmu"; 767b67262e1SXuhui Lin interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, 768b67262e1SXuhui Lin <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>, 769b67262e1SXuhui Lin <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, 770b67262e1SXuhui Lin <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 771b67262e1SXuhui Lin interrupt-affinity = <&cpu_b0>, <&cpu_b1>, <&cpu_b2>, <&cpu_b3>; 772b67262e1SXuhui Lin }; 773b67262e1SXuhui Lin 774b67262e1SXuhui Lin psci: psci { 775b67262e1SXuhui Lin compatible = "arm,psci-1.0"; 776b67262e1SXuhui Lin method = "smc"; 777b67262e1SXuhui Lin }; 778b67262e1SXuhui Lin 779b67262e1SXuhui Lin rkcif_dvp: rkcif-dvp { 780b67262e1SXuhui Lin compatible = "rockchip,rkcif-dvp"; 781b67262e1SXuhui Lin rockchip,hw = <&rkcif>; 782b67262e1SXuhui Lin iommus = <&rkcif_mmu>; 783b67262e1SXuhui Lin status = "disabled"; 784b67262e1SXuhui Lin }; 785b67262e1SXuhui Lin 786b67262e1SXuhui Lin rkcif_dvp_sditf: rkcif-dvp-sditf { 787b67262e1SXuhui Lin compatible = "rockchip,rkcif-sditf"; 788b67262e1SXuhui Lin rockchip,cif = <&rkcif_dvp>; 789b67262e1SXuhui Lin status = "disabled"; 790b67262e1SXuhui Lin }; 791b67262e1SXuhui Lin 792b67262e1SXuhui Lin rkcif_mipi_lvds: rkcif-mipi-lvds { 793b67262e1SXuhui Lin compatible = "rockchip,rkcif-mipi-lvds"; 794b67262e1SXuhui Lin rockchip,hw = <&rkcif>; 795b67262e1SXuhui Lin iommus = <&rkcif_mmu>; 796b67262e1SXuhui Lin status = "disabled"; 797b67262e1SXuhui Lin }; 798b67262e1SXuhui Lin 799b67262e1SXuhui Lin rkcif_mipi_lvds_sditf: rkcif-mipi-lvds-sditf { 800b67262e1SXuhui Lin compatible = "rockchip,rkcif-sditf"; 801b67262e1SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds>; 802b67262e1SXuhui Lin status = "disabled"; 803b67262e1SXuhui Lin }; 804b67262e1SXuhui Lin 805b67262e1SXuhui Lin rkcif_mipi_lvds_sditf_vir1: rkcif-mipi-lvds-sditf-vir1 { 806b67262e1SXuhui Lin compatible = "rockchip,rkcif-sditf"; 807b67262e1SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds>; 808b67262e1SXuhui Lin status = "disabled"; 809b67262e1SXuhui Lin }; 810b67262e1SXuhui Lin 811b67262e1SXuhui Lin rkcif_mipi_lvds_sditf_vir2: rkcif-mipi-lvds-sditf-vir2 { 812b67262e1SXuhui Lin compatible = "rockchip,rkcif-sditf"; 813b67262e1SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds>; 814b67262e1SXuhui Lin status = "disabled"; 815b67262e1SXuhui Lin }; 816b67262e1SXuhui Lin 817b67262e1SXuhui Lin rkcif_mipi_lvds_sditf_vir3: rkcif-mipi-lvds-sditf-vir3 { 818b67262e1SXuhui Lin compatible = "rockchip,rkcif-sditf"; 819b67262e1SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds>; 820b67262e1SXuhui Lin status = "disabled"; 821b67262e1SXuhui Lin }; 822b67262e1SXuhui Lin 823b67262e1SXuhui Lin rkcif_mipi_lvds1: rkcif-mipi-lvds1 { 824b67262e1SXuhui Lin compatible = "rockchip,rkcif-mipi-lvds"; 825b67262e1SXuhui Lin rockchip,hw = <&rkcif>; 826b67262e1SXuhui Lin iommus = <&rkcif_mmu>; 827b67262e1SXuhui Lin status = "disabled"; 828b67262e1SXuhui Lin }; 829b67262e1SXuhui Lin 830b67262e1SXuhui Lin rkcif_mipi_lvds1_sditf: rkcif-mipi-lvds1-sditf { 831b67262e1SXuhui Lin compatible = "rockchip,rkcif-sditf"; 832b67262e1SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds1>; 833b67262e1SXuhui Lin status = "disabled"; 834b67262e1SXuhui Lin }; 835b67262e1SXuhui Lin 836b67262e1SXuhui Lin rkcif_mipi_lvds1_sditf_vir1: rkcif-mipi-lvds1-sditf-vir1 { 837b67262e1SXuhui Lin compatible = "rockchip,rkcif-sditf"; 838b67262e1SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds1>; 839b67262e1SXuhui Lin status = "disabled"; 840b67262e1SXuhui Lin }; 841b67262e1SXuhui Lin 842b67262e1SXuhui Lin rkcif_mipi_lvds1_sditf_vir2: rkcif-mipi-lvds1-sditf-vir2 { 843b67262e1SXuhui Lin compatible = "rockchip,rkcif-sditf"; 844b67262e1SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds1>; 845b67262e1SXuhui Lin status = "disabled"; 846b67262e1SXuhui Lin }; 847b67262e1SXuhui Lin 848b67262e1SXuhui Lin rkcif_mipi_lvds1_sditf_vir3: rkcif-mipi-lvds1-sditf-vir3 { 849b67262e1SXuhui Lin compatible = "rockchip,rkcif-sditf"; 850b67262e1SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds1>; 851b67262e1SXuhui Lin status = "disabled"; 852b67262e1SXuhui Lin }; 853b67262e1SXuhui Lin 854b67262e1SXuhui Lin rkcif_mipi_lvds2: rkcif-mipi-lvds2 { 855b67262e1SXuhui Lin compatible = "rockchip,rkcif-mipi-lvds"; 856b67262e1SXuhui Lin rockchip,hw = <&rkcif>; 857b67262e1SXuhui Lin iommus = <&rkcif_mmu>; 858b67262e1SXuhui Lin status = "disabled"; 859b67262e1SXuhui Lin }; 860b67262e1SXuhui Lin 861b67262e1SXuhui Lin rkcif_mipi_lvds2_sditf: rkcif-mipi-lvds2-sditf { 862b67262e1SXuhui Lin compatible = "rockchip,rkcif-sditf"; 863b67262e1SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds2>; 864b67262e1SXuhui Lin status = "disabled"; 865b67262e1SXuhui Lin }; 866b67262e1SXuhui Lin 867b67262e1SXuhui Lin rkcif_mipi_lvds2_sditf_vir1: rkcif-mipi-lvds2-sditf-vir1 { 868b67262e1SXuhui Lin compatible = "rockchip,rkcif-sditf"; 869b67262e1SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds2>; 870b67262e1SXuhui Lin status = "disabled"; 871b67262e1SXuhui Lin }; 872b67262e1SXuhui Lin 873b67262e1SXuhui Lin rkcif_mipi_lvds2_sditf_vir2: rkcif-mipi-lvds2-sditf-vir2 { 874b67262e1SXuhui Lin compatible = "rockchip,rkcif-sditf"; 875b67262e1SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds2>; 876b67262e1SXuhui Lin status = "disabled"; 877b67262e1SXuhui Lin }; 878b67262e1SXuhui Lin 879b67262e1SXuhui Lin rkcif_mipi_lvds2_sditf_vir3: rkcif-mipi-lvds2-sditf-vir3 { 880b67262e1SXuhui Lin compatible = "rockchip,rkcif-sditf"; 881b67262e1SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds2>; 882b67262e1SXuhui Lin status = "disabled"; 883b67262e1SXuhui Lin }; 884b67262e1SXuhui Lin 885b67262e1SXuhui Lin rkcif_mipi_lvds3: rkcif-mipi-lvds3 { 886b67262e1SXuhui Lin compatible = "rockchip,rkcif-mipi-lvds"; 887b67262e1SXuhui Lin rockchip,hw = <&rkcif>; 888b67262e1SXuhui Lin iommus = <&rkcif_mmu>; 889b67262e1SXuhui Lin status = "disabled"; 890b67262e1SXuhui Lin }; 891b67262e1SXuhui Lin 892b67262e1SXuhui Lin rkcif_mipi_lvds3_sditf: rkcif-mipi-lvds3-sditf { 893b67262e1SXuhui Lin compatible = "rockchip,rkcif-sditf"; 894b67262e1SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds3>; 895b67262e1SXuhui Lin status = "disabled"; 896b67262e1SXuhui Lin }; 897b67262e1SXuhui Lin 898b67262e1SXuhui Lin rkcif_mipi_lvds3_sditf_vir1: rkcif-mipi-lvds3-sditf-vir1 { 899b67262e1SXuhui Lin compatible = "rockchip,rkcif-sditf"; 900b67262e1SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds3>; 901b67262e1SXuhui Lin status = "disabled"; 902b67262e1SXuhui Lin }; 903b67262e1SXuhui Lin 904b67262e1SXuhui Lin rkcif_mipi_lvds3_sditf_vir2: rkcif-mipi-lvds3-sditf-vir2 { 905b67262e1SXuhui Lin compatible = "rockchip,rkcif-sditf"; 906b67262e1SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds3>; 907b67262e1SXuhui Lin status = "disabled"; 908b67262e1SXuhui Lin }; 909b67262e1SXuhui Lin 910b67262e1SXuhui Lin rkcif_mipi_lvds3_sditf_vir3: rkcif-mipi-lvds3-sditf-vir3 { 911b67262e1SXuhui Lin compatible = "rockchip,rkcif-sditf"; 912b67262e1SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds3>; 913b67262e1SXuhui Lin status = "disabled"; 914b67262e1SXuhui Lin }; 915b67262e1SXuhui Lin 916b67262e1SXuhui Lin rkcif_mipi_lvds4: rkcif-mipi-lvds4 { 917b67262e1SXuhui Lin compatible = "rockchip,rkcif-mipi-lvds"; 918b67262e1SXuhui Lin rockchip,hw = <&rkcif>; 919b67262e1SXuhui Lin iommus = <&rkcif_mmu>; 920b67262e1SXuhui Lin status = "disabled"; 921b67262e1SXuhui Lin }; 922b67262e1SXuhui Lin 923b67262e1SXuhui Lin rkcif_mipi_lvds4_sditf: rkcif-mipi-lvds4-sditf { 924b67262e1SXuhui Lin compatible = "rockchip,rkcif-sditf"; 925b67262e1SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds4>; 926b67262e1SXuhui Lin status = "disabled"; 927b67262e1SXuhui Lin }; 928b67262e1SXuhui Lin 929b67262e1SXuhui Lin rkcif_mipi_lvds4_sditf_vir1: rkcif-mipi-lvds4-sditf-vir1 { 930b67262e1SXuhui Lin compatible = "rockchip,rkcif-sditf"; 931b67262e1SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds4>; 932b67262e1SXuhui Lin status = "disabled"; 933b67262e1SXuhui Lin }; 934b67262e1SXuhui Lin 935b67262e1SXuhui Lin rkcif_mipi_lvds4_sditf_vir2: rkcif-mipi-lvds4-sditf-vir2 { 936b67262e1SXuhui Lin compatible = "rockchip,rkcif-sditf"; 937b67262e1SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds4>; 938b67262e1SXuhui Lin status = "disabled"; 939b67262e1SXuhui Lin }; 940b67262e1SXuhui Lin 941b67262e1SXuhui Lin rkcif_mipi_lvds4_sditf_vir3: rkcif-mipi-lvds4-sditf-vir3 { 942b67262e1SXuhui Lin compatible = "rockchip,rkcif-sditf"; 943b67262e1SXuhui Lin rockchip,cif = <&rkcif_mipi_lvds4>; 944b67262e1SXuhui Lin status = "disabled"; 945b67262e1SXuhui Lin }; 946b67262e1SXuhui Lin 947b67262e1SXuhui Lin rkisp_vir0: rkisp-vir0 { 948b67262e1SXuhui Lin compatible = "rockchip,rkisp-vir"; 949b67262e1SXuhui Lin rockchip,hw = <&rkisp>; 950b67262e1SXuhui Lin status = "disabled"; 951b67262e1SXuhui Lin }; 952b67262e1SXuhui Lin 953b67262e1SXuhui Lin rkisp_vir1: rkisp-vir1 { 954b67262e1SXuhui Lin compatible = "rockchip,rkisp-vir"; 955b67262e1SXuhui Lin rockchip,hw = <&rkisp>; 956b67262e1SXuhui Lin status = "disabled"; 957b67262e1SXuhui Lin }; 958b67262e1SXuhui Lin 959b67262e1SXuhui Lin rkisp_vir2: rkisp-vir2 { 960b67262e1SXuhui Lin compatible = "rockchip,rkisp-vir"; 961b67262e1SXuhui Lin rockchip,hw = <&rkisp>; 962b67262e1SXuhui Lin status = "disabled"; 963b67262e1SXuhui Lin }; 964b67262e1SXuhui Lin 965b67262e1SXuhui Lin rkisp_vir3: rkisp-vir3 { 966b67262e1SXuhui Lin compatible = "rockchip,rkisp-vir"; 967b67262e1SXuhui Lin rockchip,hw = <&rkisp>; 968b67262e1SXuhui Lin status = "disabled"; 969b67262e1SXuhui Lin }; 970b67262e1SXuhui Lin 971b67262e1SXuhui Lin rkisp_vir4: rkisp-vir4 { 972b67262e1SXuhui Lin compatible = "rockchip,rkisp-vir"; 973b67262e1SXuhui Lin rockchip,hw = <&rkisp>; 974b67262e1SXuhui Lin status = "disabled"; 975b67262e1SXuhui Lin }; 976b67262e1SXuhui Lin 977b67262e1SXuhui Lin rkisp_vir5: rkisp-vir5 { 978b67262e1SXuhui Lin compatible = "rockchip,rkisp-vir"; 979b67262e1SXuhui Lin rockchip,hw = <&rkisp>; 980b67262e1SXuhui Lin status = "disabled"; 981b67262e1SXuhui Lin }; 982b67262e1SXuhui Lin 983b67262e1SXuhui Lin rkisp_vir0_sditf: rkisp-vir0-sditf { 984b67262e1SXuhui Lin compatible = "rockchip,rkisp-sditf"; 985b67262e1SXuhui Lin rockchip,isp = <&rkisp_vir0>; 986b67262e1SXuhui Lin status = "disabled"; 987b67262e1SXuhui Lin 988b67262e1SXuhui Lin port { 989b67262e1SXuhui Lin isp_sditf0: endpoint { 990b67262e1SXuhui Lin remote-endpoint = <&vpss0_in>; 991b67262e1SXuhui Lin }; 992b67262e1SXuhui Lin }; 993b67262e1SXuhui Lin }; 994b67262e1SXuhui Lin 995b67262e1SXuhui Lin rkisp_vir1_sditf: rkisp-vir1-sditf { 996b67262e1SXuhui Lin compatible = "rockchip,rkisp-sditf"; 997b67262e1SXuhui Lin rockchip,isp = <&rkisp_vir1>; 998b67262e1SXuhui Lin status = "disabled"; 999b67262e1SXuhui Lin 1000b67262e1SXuhui Lin port { 1001b67262e1SXuhui Lin isp_sditf1: endpoint { 1002b67262e1SXuhui Lin remote-endpoint = <&vpss1_in>; 1003b67262e1SXuhui Lin }; 1004b67262e1SXuhui Lin }; 1005b67262e1SXuhui Lin }; 1006b67262e1SXuhui Lin 1007b67262e1SXuhui Lin rkisp_vir2_sditf: rkisp-vir2-sditf { 1008b67262e1SXuhui Lin compatible = "rockchip,rkisp-sditf"; 1009b67262e1SXuhui Lin rockchip,isp = <&rkisp_vir2>; 1010b67262e1SXuhui Lin status = "disabled"; 1011b67262e1SXuhui Lin 1012b67262e1SXuhui Lin port { 1013b67262e1SXuhui Lin isp_sditf2: endpoint { 1014b67262e1SXuhui Lin remote-endpoint = <&vpss2_in>; 1015b67262e1SXuhui Lin }; 1016b67262e1SXuhui Lin }; 1017b67262e1SXuhui Lin }; 1018b67262e1SXuhui Lin 1019b67262e1SXuhui Lin rkisp_vir3_sditf: rkisp-vir3-sditf { 1020b67262e1SXuhui Lin compatible = "rockchip,rkisp-sditf"; 1021b67262e1SXuhui Lin rockchip,isp = <&rkisp_vir3>; 1022b67262e1SXuhui Lin status = "disabled"; 1023b67262e1SXuhui Lin 1024b67262e1SXuhui Lin port { 1025b67262e1SXuhui Lin isp_sditf3: endpoint { 1026b67262e1SXuhui Lin remote-endpoint = <&vpss3_in>; 1027b67262e1SXuhui Lin }; 1028b67262e1SXuhui Lin }; 1029b67262e1SXuhui Lin }; 1030b67262e1SXuhui Lin 1031b67262e1SXuhui Lin rkisp_vir4_sditf: rkisp-vir4-sditf { 1032b67262e1SXuhui Lin compatible = "rockchip,rkisp-sditf"; 1033b67262e1SXuhui Lin rockchip,isp = <&rkisp_vir4>; 1034b67262e1SXuhui Lin status = "disabled"; 1035b67262e1SXuhui Lin 1036b67262e1SXuhui Lin port { 1037b67262e1SXuhui Lin isp_sditf4: endpoint { 1038b67262e1SXuhui Lin remote-endpoint = <&vpss4_in>; 1039b67262e1SXuhui Lin }; 1040b67262e1SXuhui Lin }; 1041b67262e1SXuhui Lin }; 1042b67262e1SXuhui Lin 1043b67262e1SXuhui Lin rkisp_vir5_sditf: rkisp-vir5-sditf { 1044b67262e1SXuhui Lin compatible = "rockchip,rkisp-sditf"; 1045b67262e1SXuhui Lin rockchip,isp = <&rkisp_vir5>; 1046b67262e1SXuhui Lin status = "disabled"; 1047b67262e1SXuhui Lin 1048b67262e1SXuhui Lin port { 1049b67262e1SXuhui Lin isp_sditf5: endpoint { 1050b67262e1SXuhui Lin remote-endpoint = <&vpss5_in>; 1051b67262e1SXuhui Lin }; 1052b67262e1SXuhui Lin }; 1053b67262e1SXuhui Lin }; 1054b67262e1SXuhui Lin 1055b67262e1SXuhui Lin rkvenc_ccu: rkvenc-ccu { 1056b67262e1SXuhui Lin compatible = "rockchip,rkv-encoder-rk3576-ccu", "rockchip,rkv-encoder-v2-ccu"; 1057b67262e1SXuhui Lin status = "disabled"; 1058b67262e1SXuhui Lin }; 1059b67262e1SXuhui Lin 1060b67262e1SXuhui Lin rkvpss_vir0: rkvpss-vir0 { 1061b67262e1SXuhui Lin compatible = "rockchip,rkvpss-vir"; 1062b67262e1SXuhui Lin rockchip,hw = <&rkvpss>; 1063b67262e1SXuhui Lin status = "disabled"; 1064b67262e1SXuhui Lin 1065b67262e1SXuhui Lin port { 1066b67262e1SXuhui Lin vpss0_in: endpoint { 1067b67262e1SXuhui Lin remote-endpoint = <&isp_sditf0>; 1068b67262e1SXuhui Lin }; 1069b67262e1SXuhui Lin }; 1070b67262e1SXuhui Lin }; 1071b67262e1SXuhui Lin 1072b67262e1SXuhui Lin rkvpss_vir1: rkvpss-vir1 { 1073b67262e1SXuhui Lin compatible = "rockchip,rkvpss-vir"; 1074b67262e1SXuhui Lin rockchip,hw = <&rkvpss>; 1075b67262e1SXuhui Lin status = "disabled"; 1076b67262e1SXuhui Lin 1077b67262e1SXuhui Lin port { 1078b67262e1SXuhui Lin vpss1_in: endpoint { 1079b67262e1SXuhui Lin remote-endpoint = <&isp_sditf1>; 1080b67262e1SXuhui Lin }; 1081b67262e1SXuhui Lin }; 1082b67262e1SXuhui Lin }; 1083b67262e1SXuhui Lin 1084b67262e1SXuhui Lin rkvpss_vir2: rkvpss-vir2 { 1085b67262e1SXuhui Lin compatible = "rockchip,rkvpss-vir"; 1086b67262e1SXuhui Lin rockchip,hw = <&rkvpss>; 1087b67262e1SXuhui Lin status = "disabled"; 1088b67262e1SXuhui Lin 1089b67262e1SXuhui Lin port { 1090b67262e1SXuhui Lin vpss2_in: endpoint { 1091b67262e1SXuhui Lin remote-endpoint = <&isp_sditf2>; 1092b67262e1SXuhui Lin }; 1093b67262e1SXuhui Lin }; 1094b67262e1SXuhui Lin }; 1095b67262e1SXuhui Lin 1096b67262e1SXuhui Lin rkvpss_vir3: rkvpss-vir3 { 1097b67262e1SXuhui Lin compatible = "rockchip,rkvpss-vir"; 1098b67262e1SXuhui Lin rockchip,hw = <&rkvpss>; 1099b67262e1SXuhui Lin status = "disabled"; 1100b67262e1SXuhui Lin 1101b67262e1SXuhui Lin port { 1102b67262e1SXuhui Lin vpss3_in: endpoint { 1103b67262e1SXuhui Lin remote-endpoint = <&isp_sditf3>; 1104b67262e1SXuhui Lin }; 1105b67262e1SXuhui Lin }; 1106b67262e1SXuhui Lin }; 1107b67262e1SXuhui Lin 1108b67262e1SXuhui Lin rkvpss_vir4: rkvpss-vir4 { 1109b67262e1SXuhui Lin compatible = "rockchip,rkvpss-vir"; 1110b67262e1SXuhui Lin rockchip,hw = <&rkvpss>; 1111b67262e1SXuhui Lin status = "disabled"; 1112b67262e1SXuhui Lin 1113b67262e1SXuhui Lin port { 1114b67262e1SXuhui Lin vpss4_in: endpoint { 1115b67262e1SXuhui Lin remote-endpoint = <&isp_sditf4>; 1116b67262e1SXuhui Lin }; 1117b67262e1SXuhui Lin }; 1118b67262e1SXuhui Lin }; 1119b67262e1SXuhui Lin 1120b67262e1SXuhui Lin rkvpss_vir5: rkvpss-vir5 { 1121b67262e1SXuhui Lin compatible = "rockchip,rkvpss-vir"; 1122b67262e1SXuhui Lin rockchip,hw = <&rkvpss>; 1123b67262e1SXuhui Lin status = "disabled"; 1124b67262e1SXuhui Lin 1125b67262e1SXuhui Lin port { 1126b67262e1SXuhui Lin vpss5_in: endpoint { 1127b67262e1SXuhui Lin remote-endpoint = <&isp_sditf5>; 1128b67262e1SXuhui Lin }; 1129b67262e1SXuhui Lin }; 1130b67262e1SXuhui Lin }; 1131b67262e1SXuhui Lin 1132b67262e1SXuhui Lin thermal_zones: thermal-zones { 1133b67262e1SXuhui Lin soc_thermal: soc-thermal { 1134b67262e1SXuhui Lin polling-delay-passive = <20>; /* milliseconds */ 1135b67262e1SXuhui Lin polling-delay = <1000>; /* milliseconds */ 1136b67262e1SXuhui Lin thermal-sensors = <&tsadc 0>; 1137b67262e1SXuhui Lin trips { 1138b67262e1SXuhui Lin soc_crit: soc-crit { 1139b67262e1SXuhui Lin /* millicelsius */ 1140b67262e1SXuhui Lin temperature = <115000>; 1141b67262e1SXuhui Lin /* millicelsius */ 1142b67262e1SXuhui Lin hysteresis = <2000>; 1143b67262e1SXuhui Lin type = "critical"; 1144b67262e1SXuhui Lin }; 1145b67262e1SXuhui Lin }; 1146b67262e1SXuhui Lin }; 1147b67262e1SXuhui Lin bigcore_thermal: bigcore-thermal { 1148b67262e1SXuhui Lin polling-delay-passive = <20>; /* milliseconds */ 1149b67262e1SXuhui Lin polling-delay = <1000>; /* milliseconds */ 1150b67262e1SXuhui Lin thermal-sensors = <&tsadc 1>; 1151b67262e1SXuhui Lin trips { 1152b67262e1SXuhui Lin bigcore_crit: bigcore-crit { 1153b67262e1SXuhui Lin /* millicelsius */ 1154b67262e1SXuhui Lin temperature = <115000>; 1155b67262e1SXuhui Lin /* millicelsius */ 1156b67262e1SXuhui Lin hysteresis = <2000>; 1157b67262e1SXuhui Lin type = "critical"; 1158b67262e1SXuhui Lin }; 1159b67262e1SXuhui Lin }; 1160b67262e1SXuhui Lin }; 1161b67262e1SXuhui Lin little_core_thermal: little-core-thermal { 1162b67262e1SXuhui Lin polling-delay-passive = <20>; /* milliseconds */ 1163b67262e1SXuhui Lin polling-delay = <1000>; /* milliseconds */ 1164b67262e1SXuhui Lin thermal-sensors = <&tsadc 2>; 1165b67262e1SXuhui Lin trips { 1166b67262e1SXuhui Lin little_core_crit: little-core-crit { 1167b67262e1SXuhui Lin /* millicelsius */ 1168b67262e1SXuhui Lin temperature = <115000>; 1169b67262e1SXuhui Lin /* millicelsius */ 1170b67262e1SXuhui Lin hysteresis = <2000>; 1171b67262e1SXuhui Lin type = "critical"; 1172b67262e1SXuhui Lin }; 1173b67262e1SXuhui Lin }; 1174b67262e1SXuhui Lin }; 1175b67262e1SXuhui Lin ddr_thermal: ddr-thermal { 1176b67262e1SXuhui Lin polling-delay-passive = <20>; /* milliseconds */ 1177b67262e1SXuhui Lin polling-delay = <1000>; /* milliseconds */ 1178b67262e1SXuhui Lin thermal-sensors = <&tsadc 3>; 1179b67262e1SXuhui Lin trips { 1180b67262e1SXuhui Lin ddr_crit: ddr-crit { 1181b67262e1SXuhui Lin /* millicelsius */ 1182b67262e1SXuhui Lin temperature = <115000>; 1183b67262e1SXuhui Lin /* millicelsius */ 1184b67262e1SXuhui Lin hysteresis = <2000>; 1185b67262e1SXuhui Lin type = "critical"; 1186b67262e1SXuhui Lin }; 1187b67262e1SXuhui Lin }; 1188b67262e1SXuhui Lin }; 1189b67262e1SXuhui Lin npu_thermal: npu-thermal { 1190b67262e1SXuhui Lin polling-delay-passive = <20>; /* milliseconds */ 1191b67262e1SXuhui Lin polling-delay = <1000>; /* milliseconds */ 1192b67262e1SXuhui Lin thermal-sensors = <&tsadc 4>; 1193b67262e1SXuhui Lin trips { 1194b67262e1SXuhui Lin npu_crit: npu-crit { 1195b67262e1SXuhui Lin /* millicelsius */ 1196b67262e1SXuhui Lin temperature = <115000>; 1197b67262e1SXuhui Lin /* millicelsius */ 1198b67262e1SXuhui Lin hysteresis = <2000>; 1199b67262e1SXuhui Lin type = "critical"; 1200b67262e1SXuhui Lin }; 1201b67262e1SXuhui Lin }; 1202b67262e1SXuhui Lin }; 1203b67262e1SXuhui Lin gpu_thermal: gpu-thermal { 1204b67262e1SXuhui Lin polling-delay-passive = <20>; /* milliseconds */ 1205b67262e1SXuhui Lin polling-delay = <1000>; /* milliseconds */ 1206b67262e1SXuhui Lin thermal-sensors = <&tsadc 5>; 1207b67262e1SXuhui Lin trips { 1208b67262e1SXuhui Lin gpu_crit: gpu-crit { 1209b67262e1SXuhui Lin /* millicelsius */ 1210b67262e1SXuhui Lin temperature = <115000>; 1211b67262e1SXuhui Lin /* millicelsius */ 1212b67262e1SXuhui Lin hysteresis = <2000>; 1213b67262e1SXuhui Lin type = "critical"; 1214b67262e1SXuhui Lin }; 1215b67262e1SXuhui Lin }; 1216b67262e1SXuhui Lin }; 1217b67262e1SXuhui Lin }; 1218b67262e1SXuhui Lin 1219b67262e1SXuhui Lin timer { 1220b67262e1SXuhui Lin compatible = "arm,armv8-timer"; 1221b67262e1SXuhui Lin interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, 1222b67262e1SXuhui Lin <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, 1223b67262e1SXuhui Lin <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, 1224b67262e1SXuhui Lin <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; 1225b67262e1SXuhui Lin }; 1226b67262e1SXuhui Lin 1227b67262e1SXuhui Lin usb_drd0_dwc3: usb@23000000 { 1228b67262e1SXuhui Lin compatible = "rockchip,rk3576-dwc3", "snps,dwc3"; 1229b67262e1SXuhui Lin reg = <0x0 0x23000000 0x0 0x400000>; 1230b67262e1SXuhui Lin clocks = <&cru CLK_REF_USB3OTG0>, 1231b67262e1SXuhui Lin <&cru CLK_SUSPEND_USB3OTG0>, 1232b67262e1SXuhui Lin <&cru ACLK_USB3OTG0>; 1233b67262e1SXuhui Lin clock-names = "ref", "suspend", "bus_clk"; 1234b67262e1SXuhui Lin interrupts = <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>; 1235b67262e1SXuhui Lin power-domains = <&power RK3576_PD_USB>; 1236b67262e1SXuhui Lin resets = <&cru SRST_A_USB3OTG0>; 1237b67262e1SXuhui Lin reset-names = "usb3-otg"; 1238b67262e1SXuhui Lin dr_mode = "otg"; 1239b67262e1SXuhui Lin phys = <&u2phy0_otg>, <&usbdp_phy_u3>; 1240b67262e1SXuhui Lin phy-names = "usb2-phy", "usb3-phy"; 1241b67262e1SXuhui Lin phy_type = "utmi_wide"; 1242b67262e1SXuhui Lin snps,dis_enblslpm_quirk; 1243b67262e1SXuhui Lin snps,dis-u1-entry-quirk; 1244b67262e1SXuhui Lin snps,dis-u2-entry-quirk; 1245b67262e1SXuhui Lin snps,dis-u2-freeclk-exists-quirk; 1246b67262e1SXuhui Lin snps,dis-del-phy-power-chg-quirk; 1247b67262e1SXuhui Lin snps,dis-tx-ipgap-linecheck-quirk; 1248b67262e1SXuhui Lin snps,parkmode-disable-hs-quirk; 1249b67262e1SXuhui Lin snps,parkmode-disable-ss-quirk; 1250b67262e1SXuhui Lin status = "disabled"; 1251b67262e1SXuhui Lin }; 1252b67262e1SXuhui Lin 1253b67262e1SXuhui Lin usb_drd1_dwc3: usb@23400000 { 1254b67262e1SXuhui Lin compatible = "rockchip,rk3576-dwc3", "snps,dwc3"; 1255b67262e1SXuhui Lin reg = <0x0 0x23400000 0x0 0x400000>; 1256b67262e1SXuhui Lin clocks = <&cru CLK_REF_USB3OTG1>, 1257b67262e1SXuhui Lin <&cru CLK_SUSPEND_USB3OTG1>, 1258b67262e1SXuhui Lin <&cru ACLK_USB3OTG1>; 1259b67262e1SXuhui Lin clock-names = "ref", "suspend", "bus_clk"; 1260b67262e1SXuhui Lin interrupts = <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>; 1261b67262e1SXuhui Lin power-domains = <&power RK3576_PD_PHP>; 1262b67262e1SXuhui Lin resets = <&cru SRST_A_USB3OTG1>; 1263b67262e1SXuhui Lin reset-names = "usb3-otg"; 1264b67262e1SXuhui Lin dr_mode = "otg"; 1265b67262e1SXuhui Lin phys = <&u2phy1_otg>, <&combphy1_psu PHY_TYPE_USB3>; 1266b67262e1SXuhui Lin phy-names = "usb2-phy", "usb3-phy"; 1267b67262e1SXuhui Lin phy_type = "utmi_wide"; 1268b67262e1SXuhui Lin snps,dis_enblslpm_quirk; 1269b67262e1SXuhui Lin snps,dis-u1-entry-quirk; 1270b67262e1SXuhui Lin snps,dis-u2-entry-quirk; 1271b67262e1SXuhui Lin snps,dis-u2-freeclk-exists-quirk; 1272b67262e1SXuhui Lin snps,dis-del-phy-power-chg-quirk; 1273b67262e1SXuhui Lin snps,dis-tx-ipgap-linecheck-quirk; 1274b67262e1SXuhui Lin snps,dis_rxdet_inp3_quirk; 1275b67262e1SXuhui Lin snps,parkmode-disable-hs-quirk; 1276b67262e1SXuhui Lin snps,parkmode-disable-ss-quirk; 1277b67262e1SXuhui Lin status = "disabled"; 1278b67262e1SXuhui Lin }; 1279b67262e1SXuhui Lin 1280b67262e1SXuhui Lin sys_grf: syscon@2600a000 { 1281b67262e1SXuhui Lin compatible = "rockchip,rk3576-sys-grf", "syscon", "simple-mfd"; 1282b67262e1SXuhui Lin reg = <0x0 0x2600a000 0x0 0x10000>; 1283b67262e1SXuhui Lin }; 1284b67262e1SXuhui Lin 1285b67262e1SXuhui Lin vo0_grf: syscon@2601a000 { 1286b67262e1SXuhui Lin compatible = "rockchip,rk3576-vo0-grf", "syscon"; 1287b67262e1SXuhui Lin reg = <0x0 0x2601a000 0x0 0x2000>; 1288b67262e1SXuhui Lin clocks = <&cru PCLK_VO0_ROOT>; 1289b67262e1SXuhui Lin }; 1290b67262e1SXuhui Lin 1291b67262e1SXuhui Lin usb_grf: syscon@2601e000 { 1292b67262e1SXuhui Lin compatible = "rockchip,rk3576-usb-grf", "syscon"; 1293b67262e1SXuhui Lin reg = <0x0 0x2601e000 0x0 0x1000>; 1294b67262e1SXuhui Lin clocks = <&cru PCLK_USB_ROOT>; 1295b67262e1SXuhui Lin }; 1296b67262e1SXuhui Lin 1297b67262e1SXuhui Lin php_grf: syscon@26020000 { 1298b67262e1SXuhui Lin compatible = "rockchip,rk3576-php-grf", "syscon"; 1299b67262e1SXuhui Lin reg = <0x0 0x26020000 0x0 0x2000>; 1300b67262e1SXuhui Lin clocks = <&cru PCLK_PHP_ROOT>; 1301b67262e1SXuhui Lin }; 1302b67262e1SXuhui Lin 1303b67262e1SXuhui Lin pmu0_grf: syscon@26024000 { 1304b67262e1SXuhui Lin compatible = "rockchip,rk3576-pmu0-grf", "syscon", "simple-mfd"; 1305b67262e1SXuhui Lin reg = <0x0 0x26024000 0x0 0x1000>; 1306b67262e1SXuhui Lin 1307b67262e1SXuhui Lin reboot_mode: reboot-mode { 1308b67262e1SXuhui Lin compatible = "syscon-reboot-mode"; 1309b67262e1SXuhui Lin offset = <0x40>; 1310b67262e1SXuhui Lin mode-bootloader = <BOOT_BL_DOWNLOAD>; 1311b67262e1SXuhui Lin mode-charge = <BOOT_CHARGING>; 1312b67262e1SXuhui Lin mode-fastboot = <BOOT_FASTBOOT>; 1313b67262e1SXuhui Lin mode-loader = <BOOT_BL_DOWNLOAD>; 1314b67262e1SXuhui Lin mode-normal = <BOOT_NORMAL>; 1315b67262e1SXuhui Lin mode-recovery = <BOOT_RECOVERY>; 1316b67262e1SXuhui Lin mode-ums = <BOOT_UMS>; 1317b67262e1SXuhui Lin mode-panic = <BOOT_PANIC>; 1318b67262e1SXuhui Lin mode-watchdog = <BOOT_WATCHDOG>; 1319b67262e1SXuhui Lin mode-quiescent = <BOOT_QUIESCENT>; 1320b67262e1SXuhui Lin /* add a mode to capture the ramdump through usb */ 1321b67262e1SXuhui Lin mode-winusb = <BOOT_WINUSB>; 1322b67262e1SXuhui Lin }; 1323b67262e1SXuhui Lin }; 1324b67262e1SXuhui Lin 1325b67262e1SXuhui Lin pipe_phy0_grf: syscon@26028000 { 1326b67262e1SXuhui Lin compatible = "rockchip,rk3576-pipe-phy-grf", "syscon"; 1327b67262e1SXuhui Lin reg = <0x0 0x26028000 0x0 0x2000>; 1328b67262e1SXuhui Lin clocks = <&cru PCLK_PCIE2_COMBOPHY0>; 1329b67262e1SXuhui Lin }; 1330b67262e1SXuhui Lin 1331b67262e1SXuhui Lin pipe_phy1_grf: syscon@2602a000 { 1332b67262e1SXuhui Lin compatible = "rockchip,rk3576-pipe-phy-grf", "syscon"; 1333b67262e1SXuhui Lin reg = <0x0 0x2602a000 0x0 0x2000>; 1334b67262e1SXuhui Lin clocks = <&cru PCLK_PCIE2_COMBOPHY1>; 1335b67262e1SXuhui Lin }; 1336b67262e1SXuhui Lin 1337b67262e1SXuhui Lin usbdpphy_grf: syscon@2602c000 { 1338b67262e1SXuhui Lin compatible = "rockchip,rk3576-usbdpphy-grf", "syscon"; 1339b67262e1SXuhui Lin reg = <0x0 0x2602c000 0x0 0x2000>; 1340b67262e1SXuhui Lin clocks = <&cru PCLK_PMUPHY_ROOT>; 1341b67262e1SXuhui Lin }; 1342b67262e1SXuhui Lin 1343b67262e1SXuhui Lin usb2phy_grf: syscon@2602e000 { 1344b67262e1SXuhui Lin compatible = "rockchip,rk3576-usb2phy-grf", "syscon", "simple-mfd"; 1345b67262e1SXuhui Lin reg = <0x0 0x2602e000 0x0 0x4000>; 1346b67262e1SXuhui Lin #address-cells = <1>; 1347b67262e1SXuhui Lin #size-cells = <1>; 1348b67262e1SXuhui Lin clocks = <&cru PCLK_PMUPHY_ROOT>; 1349b67262e1SXuhui Lin 1350b67262e1SXuhui Lin u2phy0: usb2-phy@0 { 1351b67262e1SXuhui Lin compatible = "rockchip,rk3576-usb2phy"; 1352b67262e1SXuhui Lin reg = <0x0 0x10>; 1353b67262e1SXuhui Lin resets = <&cru SRST_OTGPHY_0>, <&cru SRST_P_USBPHY_GRF_0>; 1354b67262e1SXuhui Lin reset-names = "phy", "apb"; 1355b67262e1SXuhui Lin clocks = <&cru CLK_PHY_REF_SRC>; 1356b67262e1SXuhui Lin clock-names = "phyclk"; 1357b67262e1SXuhui Lin clock-output-names = "usb480m_phy0"; 1358b67262e1SXuhui Lin #clock-cells = <0>; 1359b67262e1SXuhui Lin rockchip,usbctrl-grf = <&usb_grf>; 1360b67262e1SXuhui Lin status = "disabled"; 1361b67262e1SXuhui Lin 1362b67262e1SXuhui Lin u2phy0_otg: otg-port { 1363b67262e1SXuhui Lin #phy-cells = <0>; 1364b67262e1SXuhui Lin interrupts = <GIC_SPI 350 IRQ_TYPE_LEVEL_HIGH>, 1365b67262e1SXuhui Lin <GIC_SPI 351 IRQ_TYPE_LEVEL_HIGH>, 1366b67262e1SXuhui Lin <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>; 1367b67262e1SXuhui Lin interrupt-names = "otg-bvalid", "otg-id", "linestate"; 1368b67262e1SXuhui Lin status = "disabled"; 1369b67262e1SXuhui Lin }; 1370b67262e1SXuhui Lin }; 1371b67262e1SXuhui Lin 1372b67262e1SXuhui Lin u2phy1: usb2-phy@2000 { 1373b67262e1SXuhui Lin compatible = "rockchip,rk3576-usb2phy"; 1374b67262e1SXuhui Lin reg = <0x2000 0x10>; 1375b67262e1SXuhui Lin resets = <&cru SRST_OTGPHY_1>, <&cru SRST_P_USBPHY_GRF_1>; 1376b67262e1SXuhui Lin reset-names = "phy", "apb"; 1377b67262e1SXuhui Lin clocks = <&cru CLK_PHY_REF_SRC>; 1378b67262e1SXuhui Lin clock-names = "phyclk"; 1379b67262e1SXuhui Lin clock-output-names = "usb480m_phy1"; 1380b67262e1SXuhui Lin #clock-cells = <0>; 1381b67262e1SXuhui Lin rockchip,usbctrl-grf = <&php_grf>; 1382b67262e1SXuhui Lin status = "disabled"; 1383b67262e1SXuhui Lin 1384b67262e1SXuhui Lin u2phy1_otg: otg-port { 1385b67262e1SXuhui Lin #phy-cells = <0>; 1386b67262e1SXuhui Lin interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>, 1387b67262e1SXuhui Lin <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>, 1388b67262e1SXuhui Lin <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>; 1389b67262e1SXuhui Lin interrupt-names = "otg-bvalid", "otg-id", "linestate"; 1390b67262e1SXuhui Lin status = "disabled"; 1391b67262e1SXuhui Lin }; 1392b67262e1SXuhui Lin }; 1393b67262e1SXuhui Lin }; 1394b67262e1SXuhui Lin 1395b67262e1SXuhui Lin hdptxphy_grf: syscon@26032000 { 1396b67262e1SXuhui Lin compatible = "rockchip,rk3576-hdptxphy-grf", "syscon"; 1397b67262e1SXuhui Lin reg = <0x0 0x26032000 0x0 0x100>; 1398b67262e1SXuhui Lin clocks = <&cru PCLK_PMUPHY_ROOT>; 1399b67262e1SXuhui Lin }; 1400b67262e1SXuhui Lin 1401b67262e1SXuhui Lin mipidcphy0_grf: syscon@26034000 { 1402b67262e1SXuhui Lin compatible = "rockchip,rk3576-mipi-dcphy-grf", "syscon"; 1403b67262e1SXuhui Lin reg = <0x0 0x26034000 0x0 0x2000>; 1404b67262e1SXuhui Lin clocks = <&cru PCLK_PMUPHY_ROOT>; 1405b67262e1SXuhui Lin }; 1406b67262e1SXuhui Lin 1407b67262e1SXuhui Lin vo1_grf: syscon@26036000 { 1408b67262e1SXuhui Lin compatible = "rockchip,rk3576-vo-grf", "syscon"; 1409b67262e1SXuhui Lin reg = <0x0 0x26036000 0x0 0x100>; 1410b67262e1SXuhui Lin clocks = <&cru PCLK_VO1_ROOT>; 1411b67262e1SXuhui Lin }; 1412b67262e1SXuhui Lin 1413b67262e1SXuhui Lin sdgmac_grf: syscon@26038000 { 1414b67262e1SXuhui Lin compatible = "rockchip,rk3576-sdgmac-grf", "syscon"; 1415b67262e1SXuhui Lin reg = <0x0 0x26038000 0x0 0x1000>; 1416b67262e1SXuhui Lin clocks = <&cru PCLK_SDGMAC_ROOT>; 1417b67262e1SXuhui Lin }; 1418b67262e1SXuhui Lin 1419b67262e1SXuhui Lin mipidphy0_grf: syscon@2603a000 { 1420b67262e1SXuhui Lin compatible = "rockchip,rk3576-mipi-dphy-grf", "syscon"; 1421b67262e1SXuhui Lin reg = <0x0 0x2603a000 0x0 0x2000>; 1422b67262e1SXuhui Lin clocks = <&cru PCLK_PMUPHY_ROOT>; 1423b67262e1SXuhui Lin }; 1424b67262e1SXuhui Lin 1425b67262e1SXuhui Lin ioc_grf: syscon@26040000 { 1426b67262e1SXuhui Lin compatible = "rockchip,rk3576-ioc-grf", "syscon", "simple-mfd"; 1427b67262e1SXuhui Lin reg = <0x0 0x26040000 0x0 0xc000>; 1428b67262e1SXuhui Lin 1429b67262e1SXuhui Lin rgb: rgb { 1430b67262e1SXuhui Lin compatible = "rockchip,rk3576-rgb"; 1431b67262e1SXuhui Lin pinctrl-names = "default"; 1432b67262e1SXuhui Lin status = "disabled"; 1433b67262e1SXuhui Lin 1434b67262e1SXuhui Lin ports { 1435b67262e1SXuhui Lin #address-cells = <1>; 1436b67262e1SXuhui Lin #size-cells = <0>; 1437b67262e1SXuhui Lin 1438b67262e1SXuhui Lin port@0 { 1439b67262e1SXuhui Lin reg = <0>; 1440b67262e1SXuhui Lin #address-cells = <1>; 1441b67262e1SXuhui Lin #size-cells = <0>; 1442b67262e1SXuhui Lin 1443b67262e1SXuhui Lin rgb_in_vopl: endpoint@0 { 1444b67262e1SXuhui Lin reg = <0>; 1445b67262e1SXuhui Lin remote-endpoint = <&vopl_out_rgb>; 1446b67262e1SXuhui Lin status = "disabled"; 1447b67262e1SXuhui Lin }; 1448b67262e1SXuhui Lin 1449b67262e1SXuhui Lin rgb_in_vp1: endpoint@1 { 1450b67262e1SXuhui Lin reg = <1>; 1451b67262e1SXuhui Lin remote-endpoint = <&vp1_out_rgb>; 1452b67262e1SXuhui Lin status = "disabled"; 1453b67262e1SXuhui Lin }; 1454b67262e1SXuhui Lin 1455b67262e1SXuhui Lin rgb_in_vp2: endpoint@2 { 1456b67262e1SXuhui Lin reg = <2>; 1457b67262e1SXuhui Lin remote-endpoint = <&vp2_out_rgb>; 1458b67262e1SXuhui Lin status = "disabled"; 1459b67262e1SXuhui Lin }; 1460b67262e1SXuhui Lin }; 1461b67262e1SXuhui Lin }; 1462b67262e1SXuhui Lin }; 1463b67262e1SXuhui Lin }; 1464b67262e1SXuhui Lin 1465b67262e1SXuhui Lin mipidphy1_grf: syscon@2604c000 { 1466b67262e1SXuhui Lin compatible = "rockchip,rk3576-mipi-dphy-grf", "syscon"; 1467b67262e1SXuhui Lin reg = <0x0 0x2604c000 0x0 0x2000>; 1468b67262e1SXuhui Lin }; 1469b67262e1SXuhui Lin 1470b67262e1SXuhui Lin cru: clock-controller@27200000 { 1471b67262e1SXuhui Lin compatible = "rockchip,rk3576-cru"; 1472b67262e1SXuhui Lin reg = <0x0 0x27200000 0x0 0x50000>; 1473b67262e1SXuhui Lin rockchip,grf = <&pmu0_grf>; 1474b67262e1SXuhui Lin #clock-cells = <1>; 1475b67262e1SXuhui Lin #reset-cells = <1>; 1476b67262e1SXuhui Lin 1477b67262e1SXuhui Lin assigned-clocks = 1478b67262e1SXuhui Lin <&cru PLL_GPLL>, <&cru PLL_CPLL>, 1479b67262e1SXuhui Lin <&cru PLL_AUPLL>, <&cru CLK_UART_FRAC_0>, 1480b67262e1SXuhui Lin <&cru CLK_UART_FRAC_1>, <&cru CLK_UART_FRAC_2>; 1481b67262e1SXuhui Lin assigned-clock-rates = 1482b67262e1SXuhui Lin <1188000000>, <1000000000>, 1483b67262e1SXuhui Lin <786432000>, <18432000>, 1484b67262e1SXuhui Lin <48000000>, <64000000>; 1485b67262e1SXuhui Lin }; 1486b67262e1SXuhui Lin 1487b67262e1SXuhui Lin i2c0: i2c@27300000 { 1488b67262e1SXuhui Lin compatible = "rockchip,rk3576-i2c", "rockchip,rk3399-i2c"; 1489b67262e1SXuhui Lin reg = <0x0 0x27300000 0x0 0x1000>; 1490b67262e1SXuhui Lin clocks = <&cru CLK_I2C0>, <&cru PCLK_I2C0>; 1491b67262e1SXuhui Lin clock-names = "i2c", "pclk"; 1492b67262e1SXuhui Lin interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; 1493b67262e1SXuhui Lin pinctrl-names = "default"; 1494b67262e1SXuhui Lin pinctrl-0 = <&i2c0m0_xfer>; 1495b67262e1SXuhui Lin resets = <&cru SRST_I2C0>, <&cru SRST_P_I2C0>; 1496b67262e1SXuhui Lin reset-names = "i2c", "apb"; 1497b67262e1SXuhui Lin #address-cells = <1>; 1498b67262e1SXuhui Lin #size-cells = <0>; 1499b67262e1SXuhui Lin status = "disabled"; 1500b67262e1SXuhui Lin }; 1501b67262e1SXuhui Lin 1502b67262e1SXuhui Lin uart1: serial@27310000 { 1503b67262e1SXuhui Lin compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart"; 1504b67262e1SXuhui Lin reg = <0x0 0x27310000 0x0 0x100>; 1505b67262e1SXuhui Lin interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; 1506b67262e1SXuhui Lin clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; 1507b67262e1SXuhui Lin clock-names = "baudclk", "apb_pclk"; 1508b67262e1SXuhui Lin reg-shift = <2>; 1509b67262e1SXuhui Lin reg-io-width = <4>; 1510b67262e1SXuhui Lin dmas = <&dmac0 8>, <&dmac0 9>; 1511b67262e1SXuhui Lin pinctrl-names = "default"; 1512b67262e1SXuhui Lin pinctrl-0 = <&uart1m0_xfer>; 1513b67262e1SXuhui Lin status = "disabled"; 1514b67262e1SXuhui Lin }; 1515b67262e1SXuhui Lin 1516b67262e1SXuhui Lin pwm0_2ch_0: pwm@27330000 { 1517b67262e1SXuhui Lin compatible = "rockchip,rk3576-pwm"; 1518b67262e1SXuhui Lin reg = <0x0 0x27330000 0x0 0x1000>; 1519b67262e1SXuhui Lin interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>; 1520b67262e1SXuhui Lin #pwm-cells = <3>; 1521b67262e1SXuhui Lin pinctrl-names = "active"; 1522b67262e1SXuhui Lin pinctrl-0 = <&pwm0m0_ch0>; 1523b67262e1SXuhui Lin clocks = <&cru CLK_PMU1PWM>, <&cru PCLK_PMU1PWM>; 1524b67262e1SXuhui Lin clock-names = "pwm", "pclk"; 1525b67262e1SXuhui Lin status = "disabled"; 1526b67262e1SXuhui Lin }; 1527b67262e1SXuhui Lin 1528b67262e1SXuhui Lin pwm0_2ch_1: pwm@27331000 { 1529b67262e1SXuhui Lin compatible = "rockchip,rk3576-pwm"; 1530b67262e1SXuhui Lin reg = <0x0 0x27331000 0x0 0x1000>; 1531b67262e1SXuhui Lin interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 1532b67262e1SXuhui Lin #pwm-cells = <3>; 1533b67262e1SXuhui Lin pinctrl-names = "active"; 1534b67262e1SXuhui Lin pinctrl-0 = <&pwm0m0_ch1>; 1535b67262e1SXuhui Lin clocks = <&cru CLK_PMU1PWM>, <&cru PCLK_PMU1PWM>; 1536b67262e1SXuhui Lin clock-names = "pwm", "pclk"; 1537b67262e1SXuhui Lin status = "disabled"; 1538b67262e1SXuhui Lin }; 1539b67262e1SXuhui Lin 1540b67262e1SXuhui Lin pmu: power-management@27380000 { 1541b67262e1SXuhui Lin compatible = "rockchip,rk3576-pmu", "syscon", "simple-mfd"; 1542b67262e1SXuhui Lin reg = <0x0 0x27380000 0x0 0x800>; 1543b67262e1SXuhui Lin 1544b67262e1SXuhui Lin power: power-controller { 1545b67262e1SXuhui Lin compatible = "rockchip,rk3576-power-controller"; 1546b67262e1SXuhui Lin #power-domain-cells = <1>; 1547b67262e1SXuhui Lin #address-cells = <1>; 1548b67262e1SXuhui Lin #size-cells = <0>; 1549b67262e1SXuhui Lin status = "okay"; 1550b67262e1SXuhui Lin 1551b67262e1SXuhui Lin /* These power domains are grouped by VD_NPU */ 1552b67262e1SXuhui Lin power-domain@RK3576_PD_NPU { 1553b67262e1SXuhui Lin reg = <RK3576_PD_NPU>; 1554b67262e1SXuhui Lin #address-cells = <1>; 1555b67262e1SXuhui Lin #size-cells = <0>; 1556b67262e1SXuhui Lin 1557b67262e1SXuhui Lin power-domain@RK3576_PD_NPUTOP { 1558b67262e1SXuhui Lin reg = <RK3576_PD_NPUTOP>; 1559b67262e1SXuhui Lin #address-cells = <1>; 1560b67262e1SXuhui Lin #size-cells = <0>; 1561b67262e1SXuhui Lin 1562b67262e1SXuhui Lin power-domain@RK3576_PD_NPU0 { 1563b67262e1SXuhui Lin reg = <RK3576_PD_NPU0>; 1564b67262e1SXuhui Lin }; 1565b67262e1SXuhui Lin power-domain@RK3576_PD_NPU1 { 1566b67262e1SXuhui Lin reg = <RK3576_PD_NPU1>; 1567b67262e1SXuhui Lin }; 1568b67262e1SXuhui Lin }; 1569b67262e1SXuhui Lin }; 1570b67262e1SXuhui Lin /* These power domains are grouped by VD_GPU */ 1571b67262e1SXuhui Lin power-domain@RK3576_PD_GPU { 1572b67262e1SXuhui Lin reg = <RK3576_PD_GPU>; 1573b67262e1SXuhui Lin }; 1574b67262e1SXuhui Lin /* These power domains are grouped by VD_LOGIC */ 1575b67262e1SXuhui Lin power-domain@RK3576_PD_NVM { 1576b67262e1SXuhui Lin reg = <RK3576_PD_NVM>; 1577b67262e1SXuhui Lin #address-cells = <1>; 1578b67262e1SXuhui Lin #size-cells = <0>; 1579b67262e1SXuhui Lin 1580b67262e1SXuhui Lin power-domain@RK3576_PD_SDGMAC { 1581b67262e1SXuhui Lin reg = <RK3576_PD_SDGMAC>; 1582b67262e1SXuhui Lin }; 1583b67262e1SXuhui Lin }; 1584b67262e1SXuhui Lin power-domain@RK3576_PD_PHP { 1585b67262e1SXuhui Lin reg = <RK3576_PD_PHP>; 1586b67262e1SXuhui Lin #address-cells = <1>; 1587b67262e1SXuhui Lin #size-cells = <0>; 1588b67262e1SXuhui Lin 1589b67262e1SXuhui Lin power-domain@RK3576_PD_SUBPHP { 1590b67262e1SXuhui Lin reg = <RK3576_PD_SUBPHP>; 1591b67262e1SXuhui Lin }; 1592b67262e1SXuhui Lin }; 1593b67262e1SXuhui Lin power-domain@RK3576_PD_AUDIO { 1594b67262e1SXuhui Lin reg = <RK3576_PD_AUDIO>; 1595b67262e1SXuhui Lin }; 1596b67262e1SXuhui Lin power-domain@RK3576_PD_VEPU1 { 1597b67262e1SXuhui Lin reg = <RK3576_PD_VEPU1>; 1598b67262e1SXuhui Lin }; 1599b67262e1SXuhui Lin power-domain@RK3576_PD_VPU { 1600b67262e1SXuhui Lin reg = <RK3576_PD_VPU>; 1601b67262e1SXuhui Lin }; 1602b67262e1SXuhui Lin power-domain@RK3576_PD_VDEC { 1603b67262e1SXuhui Lin reg = <RK3576_PD_VDEC>; 1604b67262e1SXuhui Lin }; 1605b67262e1SXuhui Lin power-domain@RK3576_PD_VI { 1606b67262e1SXuhui Lin reg = <RK3576_PD_VI>; 1607b67262e1SXuhui Lin #address-cells = <1>; 1608b67262e1SXuhui Lin #size-cells = <0>; 1609b67262e1SXuhui Lin 1610b67262e1SXuhui Lin power-domain@RK3576_PD_VEPU0 { 1611b67262e1SXuhui Lin reg = <RK3576_PD_VEPU0>; 1612b67262e1SXuhui Lin }; 1613b67262e1SXuhui Lin }; 1614b67262e1SXuhui Lin power-domain@RK3576_PD_VOP { 1615b67262e1SXuhui Lin reg = <RK3576_PD_VOP>; 1616b67262e1SXuhui Lin #address-cells = <1>; 1617b67262e1SXuhui Lin #size-cells = <0>; 1618b67262e1SXuhui Lin 1619b67262e1SXuhui Lin power-domain@RK3576_PD_USB { 1620b67262e1SXuhui Lin reg = <RK3576_PD_USB>; 1621b67262e1SXuhui Lin }; 1622b67262e1SXuhui Lin power-domain@RK3576_PD_VO0 { 1623b67262e1SXuhui Lin reg = <RK3576_PD_VO0>; 1624b67262e1SXuhui Lin }; 1625b67262e1SXuhui Lin power-domain@RK3576_PD_VO1 { 1626b67262e1SXuhui Lin reg = <RK3576_PD_VO1>; 1627b67262e1SXuhui Lin }; 1628b67262e1SXuhui Lin }; 1629b67262e1SXuhui Lin }; 1630b67262e1SXuhui Lin }; 1631b67262e1SXuhui Lin 1632b67262e1SXuhui Lin pdm0: pdm@273b0000 { 1633b67262e1SXuhui Lin compatible = "rockchip,rk3576-pdm"; 1634b67262e1SXuhui Lin reg = <0x0 0x273b0000 0x0 0x1000>; 1635b67262e1SXuhui Lin interrupts = <GIC_SPI 202 IRQ_TYPE_LEVEL_HIGH>; 1636b67262e1SXuhui Lin clocks = <&cru MCLK_PDM0>, <&cru HCLK_PDM0>, <&cru CLK_PDM0_OUT>; 1637b67262e1SXuhui Lin clock-names = "pdm_clk", "pdm_hclk", "pdm_clk_out"; 1638b67262e1SXuhui Lin dmas = <&dmac0 4>; 1639b67262e1SXuhui Lin dma-names = "rx"; 1640b67262e1SXuhui Lin pinctrl-names = "default"; 1641b67262e1SXuhui Lin pinctrl-0 = <&pdm0m0_clk0 1642b67262e1SXuhui Lin &pdm0m0_clk1 1643b67262e1SXuhui Lin &pdm0m0_sdi0 1644b67262e1SXuhui Lin &pdm0m0_sdi1 1645b67262e1SXuhui Lin &pdm0m0_sdi2 1646b67262e1SXuhui Lin &pdm0m0_sdi3>; 1647b67262e1SXuhui Lin #sound-dai-cells = <0>; 1648b67262e1SXuhui Lin sound-name-prefix = "PDM0"; 1649b67262e1SXuhui Lin status = "disabled"; 1650b67262e1SXuhui Lin }; 1651b67262e1SXuhui Lin 1652b67262e1SXuhui Lin rknpu: npu@27700000 { 1653b67262e1SXuhui Lin compatible = "rockchip,rk3576-rknpu"; 1654b67262e1SXuhui Lin reg = <0x0 0x27700000 0x0 0x8000>, 1655b67262e1SXuhui Lin <0x0 0x27708000 0x0 0x8000>; 1656b67262e1SXuhui Lin interrupts = <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>, 1657b67262e1SXuhui Lin <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>; 1658b67262e1SXuhui Lin interrupt-names = "npu0_irq", "npu1_irq"; 1659b67262e1SXuhui Lin clocks = <&cru ACLK_RKNN0>, <&cru ACLK_RKNN1>, <&cru HCLK_RKNN_ROOT>, 1660b67262e1SXuhui Lin <&cru ACLK_RKNN_CBUF>, <&cru HCLK_RKNN_CBUF>; 1661b67262e1SXuhui Lin clock-names = "aclk0", "aclk1", "hclk_root", 1662b67262e1SXuhui Lin "aclk_cbuf", "hclk_cbuf"; 1663b67262e1SXuhui Lin resets = <&cru SRST_A_RKNN0>, <&cru SRST_A_RKNN1>, 1664b67262e1SXuhui Lin <&cru SRST_A_RKNN_CBUF>, <&cru SRST_A_RKNN_CBUF>; 1665b67262e1SXuhui Lin reset-names = "srst_a0", "srst_a1", 1666b67262e1SXuhui Lin "srst_a_cbuf", "srst_h_cbuf"; 1667b67262e1SXuhui Lin power-domains = <&power RK3576_PD_NPU0>, <&power RK3576_PD_NPU1>; 1668b67262e1SXuhui Lin power-domain-names = "npu0", "npu1"; 1669b67262e1SXuhui Lin iommus = <&rknpu_mmu>; 1670b67262e1SXuhui Lin status = "disabled"; 1671b67262e1SXuhui Lin }; 1672b67262e1SXuhui Lin 1673b67262e1SXuhui Lin rknpu_mmu: iommu@27702000 { 1674b67262e1SXuhui Lin compatible = "rockchip,iommu-v2"; 1675b67262e1SXuhui Lin reg = <0x0 0x27702000 0x0 0x100>, 1676b67262e1SXuhui Lin <0x0 0x27702100 0x0 0x100>, 1677b67262e1SXuhui Lin <0x0 0x2770a000 0x0 0x100>, 1678b67262e1SXuhui Lin <0x0 0x2770a100 0x0 0x100>; 1679b67262e1SXuhui Lin interrupts = <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>, 1680b67262e1SXuhui Lin <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>; 1681b67262e1SXuhui Lin interrupt-names = "npu0_mmu", "npu1_mmu"; 1682b67262e1SXuhui Lin clocks = <&cru ACLK_RKNN0>, <&cru ACLK_RKNN1>, <&cru HCLK_RKNN_ROOT>; 1683b67262e1SXuhui Lin clock-names = "aclk0", "aclk1", "iface"; 1684b67262e1SXuhui Lin #iommu-cells = <0>; 1685b67262e1SXuhui Lin status = "disabled"; 1686b67262e1SXuhui Lin }; 1687b67262e1SXuhui Lin 1688b67262e1SXuhui Lin gpu: gpu@27800000 { 1689b67262e1SXuhui Lin compatible = "arm,mali-bifrost"; 1690b67262e1SXuhui Lin reg = <0x0 0x27800000 0x0 0x20000>; 1691b67262e1SXuhui Lin 1692b67262e1SXuhui Lin interrupts = <GIC_SPI 349 IRQ_TYPE_LEVEL_HIGH>, 1693b67262e1SXuhui Lin <GIC_SPI 348 IRQ_TYPE_LEVEL_HIGH>, 1694b67262e1SXuhui Lin <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH>; 1695b67262e1SXuhui Lin interrupt-names = "GPU", "MMU", "JOB"; 1696b67262e1SXuhui Lin 1697b67262e1SXuhui Lin upthreshold = <40>; 1698b67262e1SXuhui Lin downdifferential = <10>; 1699b67262e1SXuhui Lin 1700b67262e1SXuhui Lin clocks = <&cru CLK_GPU>; 1701b67262e1SXuhui Lin clock-names = "clk_mali"; 1702b67262e1SXuhui Lin power-domains = <&power RK3576_PD_GPU>; 1703b67262e1SXuhui Lin operating-points-v2 = <&gpu_opp_table>; 1704b67262e1SXuhui Lin #cooling-cells = <2>; 1705b67262e1SXuhui Lin 1706b67262e1SXuhui Lin status = "disabled"; 1707b67262e1SXuhui Lin }; 1708b67262e1SXuhui Lin 1709b67262e1SXuhui Lin gpu_opp_table: gpu-opp-table { 1710b67262e1SXuhui Lin compatible = "operating-points-v2"; 1711b67262e1SXuhui Lin 1712b67262e1SXuhui Lin opp-300000000 { 1713b67262e1SXuhui Lin opp-hz = /bits/ 64 <300000000>; 1714b67262e1SXuhui Lin opp-microvolt = <850000 850000 850000>; 1715b67262e1SXuhui Lin }; 1716b67262e1SXuhui Lin opp-400000000 { 1717b67262e1SXuhui Lin opp-hz = /bits/ 64 <400000000>; 1718b67262e1SXuhui Lin opp-microvolt = <850000 850000 850000>; 1719b67262e1SXuhui Lin }; 1720b67262e1SXuhui Lin opp-500000000 { 1721b67262e1SXuhui Lin opp-hz = /bits/ 64 <500000000>; 1722b67262e1SXuhui Lin opp-microvolt = <850000 850000 850000>; 1723b67262e1SXuhui Lin }; 1724b67262e1SXuhui Lin opp-600000000 { 1725b67262e1SXuhui Lin opp-hz = /bits/ 64 <600000000>; 1726b67262e1SXuhui Lin opp-microvolt = <850000 850000 850000>; 1727b67262e1SXuhui Lin }; 1728b67262e1SXuhui Lin }; 1729b67262e1SXuhui Lin 1730b67262e1SXuhui Lin ebc: ebc@27900000 { 1731b67262e1SXuhui Lin compatible = "rockchip,rk3576-ebc-tcon"; 1732b67262e1SXuhui Lin reg = <0x0 0x27900000 0x0 0x5000>; 1733b67262e1SXuhui Lin interrupts = <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>; 1734b67262e1SXuhui Lin clocks = <&cru HCLK_EBC>, <&cru ACLK_EBC>, <&cru DCLK_EBC>; 1735b67262e1SXuhui Lin clock-names = "hclk", "aclk", "dclk"; 1736b67262e1SXuhui Lin pinctrl-names = "default"; 1737b67262e1SXuhui Lin pinctrl-0 = <&vo_ebc_pins>; 1738b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VPU>; 1739b67262e1SXuhui Lin rockchip,grf = <&sys_grf>; 1740b67262e1SXuhui Lin status = "disabled"; 1741b67262e1SXuhui Lin }; 1742b67262e1SXuhui Lin 1743b67262e1SXuhui Lin vopl: vop@27900000 { 1744b67262e1SXuhui Lin compatible = "rockchip,rk3576-vop-lit"; 1745b67262e1SXuhui Lin reg = <0x0 0x27900000 0x0 0x200>; 1746b67262e1SXuhui Lin reg-names = "regs"; 1747b67262e1SXuhui Lin interrupts = <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>; 1748b67262e1SXuhui Lin clocks = <&cru ACLK_EBC>, <&cru DCLK_EBC>, <&cru HCLK_EBC>; 1749b67262e1SXuhui Lin clock-names = "aclk_vop", "dclk_vop", "hclk_vop"; 1750b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VPU>; 1751b67262e1SXuhui Lin rockchip,grf = <&ioc_grf>; 1752b67262e1SXuhui Lin rockchip,vo0_grf = <&vo0_grf>; 1753b67262e1SXuhui Lin status = "disabled"; 1754b67262e1SXuhui Lin 1755b67262e1SXuhui Lin vopl_out: port { 1756b67262e1SXuhui Lin #address-cells = <1>; 1757b67262e1SXuhui Lin #size-cells = <0>; 1758b67262e1SXuhui Lin 1759b67262e1SXuhui Lin vopl_out_rgb: endpoint@0 { 1760b67262e1SXuhui Lin reg = <0>; 1761b67262e1SXuhui Lin remote-endpoint = <&rgb_in_vopl>; 1762b67262e1SXuhui Lin }; 1763b67262e1SXuhui Lin 1764b67262e1SXuhui Lin vopl_out_dsi: endpoint@1 { 1765b67262e1SXuhui Lin reg = <1>; 1766b67262e1SXuhui Lin remote-endpoint = <&dsi_in_vopl>; 1767b67262e1SXuhui Lin }; 1768b67262e1SXuhui Lin 1769b67262e1SXuhui Lin vopl_out_edp: endpoint@2 { 1770b67262e1SXuhui Lin reg = <2>; 1771b67262e1SXuhui Lin remote-endpoint = <&edp_in_vopl>; 1772b67262e1SXuhui Lin }; 1773b67262e1SXuhui Lin 1774b67262e1SXuhui Lin vopl_out_hdmi: endpoint@3 { 1775b67262e1SXuhui Lin reg = <3>; 1776b67262e1SXuhui Lin remote-endpoint = <&hdmi_in_vopl>; 1777b67262e1SXuhui Lin }; 1778b67262e1SXuhui Lin }; 1779b67262e1SXuhui Lin }; 1780b67262e1SXuhui Lin 1781b67262e1SXuhui Lin jpegd: jpegd@27910000 { 1782b67262e1SXuhui Lin compatible = "rockchip,rkv-jpeg-decoder-v1"; 1783b67262e1SXuhui Lin reg = <0x0 0x27910000 0x0 0x330>; 1784b67262e1SXuhui Lin interrupts = <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>; 1785b67262e1SXuhui Lin interrupt-names = "irq_jpegd"; 1786b67262e1SXuhui Lin clocks = <&aclk_jpeg>, <&cru HCLK_JPEG>; 1787b67262e1SXuhui Lin clock-names = "aclk_vcodec", "hclk_vcodec"; 1788b67262e1SXuhui Lin rockchip,normal-rates = <700000000>, <0>; 1789b67262e1SXuhui Lin assigned-clocks = <&aclk_jpeg>; 1790b67262e1SXuhui Lin assigned-clock-rates = <700000000>; 1791b67262e1SXuhui Lin resets = <&cru SRST_A_JPEG>, <&cru SRST_H_JPEG>; 1792b67262e1SXuhui Lin reset-names = "shared_video_a", "shared_video_h"; 1793b67262e1SXuhui Lin rockchip,skip-pmu-idle-request; 1794b67262e1SXuhui Lin iommus = <&jpeg_mmu>; 1795b67262e1SXuhui Lin rockchip,srv = <&mpp_srv>; 1796b67262e1SXuhui Lin rockchip,taskqueue-node = <0>; 1797b67262e1SXuhui Lin rockchip,resetgroup-node = <0>; 1798b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VPU>; 1799b67262e1SXuhui Lin status = "disabled"; 1800b67262e1SXuhui Lin }; 1801b67262e1SXuhui Lin 1802b67262e1SXuhui Lin jpege: jpege@27910800 { 1803b67262e1SXuhui Lin compatible = "rockchip,rkv-jpeg-encoder-v1"; 1804b67262e1SXuhui Lin reg = <0x0 0x27910800 0x0 0x13c>; 1805b67262e1SXuhui Lin interrupts = <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>; 1806b67262e1SXuhui Lin interrupt-names = "irq_jpege"; 1807b67262e1SXuhui Lin clocks = <&aclk_jpeg>, <&cru HCLK_JPEG>; 1808b67262e1SXuhui Lin clock-names = "aclk_vcodec", "hclk_vcodec"; 1809b67262e1SXuhui Lin rockchip,normal-rates = <700000000>, <0>; 1810b67262e1SXuhui Lin assigned-clocks = <&aclk_jpeg>; 1811b67262e1SXuhui Lin assigned-clock-rates = <700000000>; 1812b67262e1SXuhui Lin resets = <&cru SRST_A_JPEG>, <&cru SRST_H_JPEG>; 1813b67262e1SXuhui Lin reset-names = "shared_video_a", "shared_video_h"; 1814b67262e1SXuhui Lin rockchip,skip-pmu-idle-request; 1815b67262e1SXuhui Lin iommus = <&jpeg_mmu>; 1816b67262e1SXuhui Lin rockchip,srv = <&mpp_srv>; 1817b67262e1SXuhui Lin rockchip,taskqueue-node = <0>; 1818b67262e1SXuhui Lin rockchip,resetgroup-node = <0>; 1819b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VPU>; 1820b67262e1SXuhui Lin status = "disabled"; 1821b67262e1SXuhui Lin }; 1822b67262e1SXuhui Lin 1823b67262e1SXuhui Lin jpeg_mmu: iommu@27910f00 { 1824b67262e1SXuhui Lin compatible = "rockchip,iommu-v2"; 1825b67262e1SXuhui Lin reg = <0x0 0x27910f00 0x0 0x28>; 1826b67262e1SXuhui Lin interrupts = <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>; 1827b67262e1SXuhui Lin interrupt-names = "irq_jpeg_mmu"; 1828b67262e1SXuhui Lin clocks = <&aclk_jpeg>, <&cru HCLK_JPEG>; 1829b67262e1SXuhui Lin clock-name = "aclk", "iface"; 1830b67262e1SXuhui Lin #iommu-cells = <0>; 1831b67262e1SXuhui Lin rockchip,shootdown-entire; 1832b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VPU>; 1833b67262e1SXuhui Lin status = "disabled"; 1834b67262e1SXuhui Lin }; 1835b67262e1SXuhui Lin 1836b67262e1SXuhui Lin rga2_core0: rga@27920000 { 1837b67262e1SXuhui Lin compatible = "rockchip,rga2_core0"; 1838b67262e1SXuhui Lin reg = <0x0 0x27920000 0x0 0x1000>; 1839b67262e1SXuhui Lin interrupts = <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>; 1840b67262e1SXuhui Lin interrupt-names = "rga2_core0_irq"; 1841b67262e1SXuhui Lin clocks = <&cru ACLK_RGA2E_0>, <&cru HCLK_RGA2E_0>, <&cru CLK_CORE_RGA2E_0>; 1842b67262e1SXuhui Lin clock-names = "aclk_rga2e_0", "hclk_rga2e_0", "clk_rga2e_0"; 1843b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VPU>; 1844b67262e1SXuhui Lin iommus = <&rga2_core0_mmu>; 1845b67262e1SXuhui Lin status = "disabled"; 1846b67262e1SXuhui Lin }; 1847b67262e1SXuhui Lin 1848b67262e1SXuhui Lin rga2_core0_mmu: iommu@27920f00 { 1849b67262e1SXuhui Lin compatible = "rockchip,iommu-v2"; 1850b67262e1SXuhui Lin reg = <0x0 0x27920f00 0x0 0x100>; 1851b67262e1SXuhui Lin interrupts = <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>; 1852b67262e1SXuhui Lin interrupt-names = "rga2_0_mmu"; 1853b67262e1SXuhui Lin clocks = <&cru ACLK_RGA2E_0>, <&cru HCLK_RGA2E_0>; 1854b67262e1SXuhui Lin clock-names = "aclk", "iface"; 1855b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VPU>; 1856b67262e1SXuhui Lin #iommu-cells = <0>; 1857b67262e1SXuhui Lin status = "disabled"; 1858b67262e1SXuhui Lin }; 1859b67262e1SXuhui Lin 1860b67262e1SXuhui Lin rga2_core1: rga@27930000 { 1861b67262e1SXuhui Lin compatible = "rockchip,rga2_core1"; 1862b67262e1SXuhui Lin reg = <0x0 0x27930000 0x0 0x1000>; 1863b67262e1SXuhui Lin interrupts = <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>; 1864b67262e1SXuhui Lin interrupt-names = "rga2_core1_irq"; 1865b67262e1SXuhui Lin clocks = <&cru ACLK_RGA2E_1>, <&cru HCLK_RGA2E_1>, <&cru CLK_CORE_RGA2E_1>; 1866b67262e1SXuhui Lin clock-names = "aclk_rga2e_1", "hclk_rga2e_1", "clk_rga2e_1"; 1867b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VPU>; 1868b67262e1SXuhui Lin iommus = <&rga2_core1_mmu>; 1869b67262e1SXuhui Lin status = "disabled"; 1870b67262e1SXuhui Lin }; 1871b67262e1SXuhui Lin 1872b67262e1SXuhui Lin rga2_core1_mmu: iommu@27930f00 { 1873b67262e1SXuhui Lin compatible = "rockchip,iommu-v2"; 1874b67262e1SXuhui Lin reg = <0x0 0x27930f00 0x0 0x100>; 1875b67262e1SXuhui Lin interrupts = <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>; 1876b67262e1SXuhui Lin interrupt-names = "rga2_1_mmu"; 1877b67262e1SXuhui Lin clocks = <&cru ACLK_RGA2E_1>, <&cru HCLK_RGA2E_1>; 1878b67262e1SXuhui Lin clock-names = "aclk", "iface"; 1879b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VPU>; 1880b67262e1SXuhui Lin #iommu-cells = <0>; 1881b67262e1SXuhui Lin status = "disabled"; 1882b67262e1SXuhui Lin }; 1883b67262e1SXuhui Lin 1884b67262e1SXuhui Lin iep: iep@27960000 { 1885b67262e1SXuhui Lin compatible = "rockchip,iep-v2"; 1886b67262e1SXuhui Lin reg = <0x0 0x27960000 0x0 0x500>; 1887b67262e1SXuhui Lin interrupts = <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>; 1888b67262e1SXuhui Lin interrupt-names = "irq_vdpp"; 1889b67262e1SXuhui Lin clocks = <&aclk_vdpp>, <&cru HCLK_VDPP>, <&cru CLK_CORE_VDPP>; 1890b67262e1SXuhui Lin clock-names = "aclk", "hclk", "sclk"; 1891b67262e1SXuhui Lin rockchip,normal-rates = <340000000>, <0>, <340000000>; 1892b67262e1SXuhui Lin assigned-clocks = <&aclk_vdpp>, <&cru CLK_CORE_VDPP>; 1893b67262e1SXuhui Lin assigned-clock-rates = <340000000>, <340000000>; 1894b67262e1SXuhui Lin resets = <&cru SRST_A_VDPP>, <&cru SRST_H_VDPP>, <&cru SRST_CORE_VDPP>; 1895b67262e1SXuhui Lin reset-names = "shared_rst_a", "shared_rst_h", "shared_rst_s"; 1896b67262e1SXuhui Lin rockchip,skip-pmu-idle-request; 1897b67262e1SXuhui Lin rockchip,srv = <&mpp_srv>; 1898b67262e1SXuhui Lin rockchip,taskqueue-node = <2>; 1899b67262e1SXuhui Lin iommus = <&iep_mmu>; 1900b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VPU>; 1901b67262e1SXuhui Lin status = "disabled"; 1902b67262e1SXuhui Lin }; 1903b67262e1SXuhui Lin 1904b67262e1SXuhui Lin iep_mmu: iommu@27960800 { 1905b67262e1SXuhui Lin compatible = "rockchip,iommu-v2"; 1906b67262e1SXuhui Lin reg = <0x0 0x27960800 0x0 0x100>; 1907b67262e1SXuhui Lin interrupts = <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>; 1908b67262e1SXuhui Lin interrupt-names = "iep_mmu"; 1909b67262e1SXuhui Lin clocks = <&aclk_vdpp>, <&cru HCLK_VDPP>; 1910b67262e1SXuhui Lin clock-names = "aclk", "iface"; 1911b67262e1SXuhui Lin #iommu-cells = <0>; 1912b67262e1SXuhui Lin rockchip,shootdown-entire; 1913b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VPU>; 1914b67262e1SXuhui Lin status = "disabled"; 1915b67262e1SXuhui Lin }; 1916b67262e1SXuhui Lin 1917b67262e1SXuhui Lin vdpp: vdpp@27961000 { 1918b67262e1SXuhui Lin compatible = "rockchip,vdpp-rk3576"; 1919b67262e1SXuhui Lin reg = <0x0 0x27961000 0x0 0x500>, <0x0 0x27962000 0x0 0x900>; 1920b67262e1SXuhui Lin reg-names = "vdpp_regs", "zme_regs"; 1921b67262e1SXuhui Lin interrupts = <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>; 1922b67262e1SXuhui Lin interrupt-names = "irq_vdpp"; 1923b67262e1SXuhui Lin clocks = <&aclk_vdpp>, <&cru HCLK_VDPP>, <&cru CLK_CORE_VDPP>; 1924b67262e1SXuhui Lin clock-names = "aclk", "hclk", "sclk"; 1925b67262e1SXuhui Lin rockchip,normal-rates = <340000000>, <0>, <340000000>; 1926b67262e1SXuhui Lin assigned-clocks = <&aclk_vdpp>, <&cru CLK_CORE_VDPP>; 1927b67262e1SXuhui Lin assigned-clock-rates = <340000000>, <340000000>; 1928b67262e1SXuhui Lin resets = <&cru SRST_A_VDPP>, <&cru SRST_H_VDPP>, <&cru SRST_CORE_VDPP>; 1929b67262e1SXuhui Lin reset-names = "shared_rst_a", "shared_rst_h", "shared_rst_s"; 1930b67262e1SXuhui Lin rockchip,skip-pmu-idle-request; 1931b67262e1SXuhui Lin rockchip,srv = <&mpp_srv>; 1932b67262e1SXuhui Lin rockchip,taskqueue-node = <2>; 1933b67262e1SXuhui Lin rockchip,disable-auto-freq; 1934b67262e1SXuhui Lin iommus = <&iep_mmu>; 1935b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VPU>; 1936b67262e1SXuhui Lin status = "disabled"; 1937b67262e1SXuhui Lin }; 1938b67262e1SXuhui Lin 1939b67262e1SXuhui Lin rkvenc0: rkvenc-core@27a00000 { 1940b67262e1SXuhui Lin compatible = "rockchip,rkv-encoder-rk3576-core"; 1941b67262e1SXuhui Lin reg = <0x0 0x27a00000 0x0 0x6000>; 1942b67262e1SXuhui Lin interrupts = <GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH>; 1943b67262e1SXuhui Lin interrupt-names = "irq_vepu0"; 1944b67262e1SXuhui Lin clocks = <&aclk_vepu0>, <&hclk_vepu0>, <&cru CLK_VEPU0_CORE>; 1945b67262e1SXuhui Lin clock-names = "aclk_vcodec", "hclk_vcodec", "clk_core"; 1946b67262e1SXuhui Lin rockchip,normal-rates = <400000000>, <0>, <700000000>; 1947b67262e1SXuhui Lin resets = <&cru SRST_A_VEPU0>, <&cru SRST_H_VEPU0>, 1948b67262e1SXuhui Lin <&cru SRST_VEPU0_CORE>; 1949b67262e1SXuhui Lin reset-names = "video_a", "video_h", "video_core"; 1950b67262e1SXuhui Lin assigned-clocks = <&aclk_vepu0>, <&cru CLK_VEPU0_CORE>; 1951b67262e1SXuhui Lin assigned-clock-rates = <400000000>, <700000000>; 1952b67262e1SXuhui Lin iommus = <&rkvenc0_mmu>; 1953b67262e1SXuhui Lin rockchip,srv = <&mpp_srv>; 1954b67262e1SXuhui Lin rockchip,taskqueue-node = <3>; 1955b67262e1SXuhui Lin rockchip,task-capacity = <8>; 1956b67262e1SXuhui Lin rockchip,ccu = <&rkvenc_ccu>; 1957b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VEPU0>; 1958b67262e1SXuhui Lin status = "disabled"; 1959b67262e1SXuhui Lin }; 1960b67262e1SXuhui Lin 1961b67262e1SXuhui Lin rkvenc0_mmu: iommu@27a0f000 { 1962b67262e1SXuhui Lin compatible = "rockchip,iommu-v2"; 1963b67262e1SXuhui Lin reg = <0x0 0x27a0f000 0x0 0x40>; 1964b67262e1SXuhui Lin interrupts = <GIC_SPI 311 IRQ_TYPE_LEVEL_HIGH>; 1965b67262e1SXuhui Lin interrupt-names = "irq_vepu0_mmu"; 1966b67262e1SXuhui Lin clocks = <&aclk_vepu0>, <&hclk_vepu0>; 1967b67262e1SXuhui Lin clock-names = "aclk", "iface"; 1968b67262e1SXuhui Lin #iommu-cells = <0>; 1969b67262e1SXuhui Lin rockchip,shootdown-entire; 1970b67262e1SXuhui Lin rockchip,disable-mmu-reset; 1971b67262e1SXuhui Lin rockchip,enable-cmd-retry; 1972b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VEPU0>; 1973b67262e1SXuhui Lin status = "disabled"; 1974b67262e1SXuhui Lin }; 1975b67262e1SXuhui Lin 1976b67262e1SXuhui Lin rkvenc1: rkvenc-core@27a10000 { 1977b67262e1SXuhui Lin compatible = "rockchip,rkv-encoder-rk3576-core"; 1978b67262e1SXuhui Lin reg = <0x0 0x27a10000 0x0 0x6000>; 1979b67262e1SXuhui Lin interrupts = <GIC_SPI 387 IRQ_TYPE_LEVEL_HIGH>; 1980b67262e1SXuhui Lin interrupt-names = "irq_vepu1"; 1981b67262e1SXuhui Lin clocks = <&cru ACLK_VEPU1>, <&cru HCLK_VEPU1>, <&cru CLK_VEPU1_CORE>; 1982b67262e1SXuhui Lin clock-names = "aclk_vcodec", "hclk_vcodec", "clk_core"; 1983b67262e1SXuhui Lin rockchip,normal-rates = <400000000>, <0>, <700000000>; 1984b67262e1SXuhui Lin resets = <&cru SRST_A_VEPU1>, <&cru SRST_H_VEPU1>, 1985b67262e1SXuhui Lin <&cru SRST_VEPU1_CORE>; 1986b67262e1SXuhui Lin reset-names = "video_a", "video_h", "video_core"; 1987b67262e1SXuhui Lin assigned-clocks = <&cru ACLK_VEPU1>, <&cru CLK_VEPU1_CORE>; 1988b67262e1SXuhui Lin assigned-clock-rates = <400000000>, <700000000>; 1989b67262e1SXuhui Lin iommus = <&rkvenc1_mmu>; 1990b67262e1SXuhui Lin rockchip,srv = <&mpp_srv>; 1991b67262e1SXuhui Lin rockchip,taskqueue-node = <3>; 1992b67262e1SXuhui Lin rockchip,task-capacity = <8>; 1993b67262e1SXuhui Lin rockchip,ccu = <&rkvenc_ccu>; 1994b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VEPU1>; 1995b67262e1SXuhui Lin status = "disabled"; 1996b67262e1SXuhui Lin }; 1997b67262e1SXuhui Lin 1998b67262e1SXuhui Lin rkvenc1_mmu: iommu@27a1f000 { 1999b67262e1SXuhui Lin compatible = "rockchip,iommu-v2"; 2000b67262e1SXuhui Lin reg = <0x0 0x27a1f000 0x0 0x40>; 2001b67262e1SXuhui Lin interrupts = <GIC_SPI 388 IRQ_TYPE_LEVEL_HIGH>; 2002b67262e1SXuhui Lin interrupt-names = "irq_vepu1_mmu"; 2003b67262e1SXuhui Lin clocks = <&cru ACLK_VEPU1>, <&cru HCLK_VEPU1>; 2004b67262e1SXuhui Lin clock-names = "aclk", "iface"; 2005b67262e1SXuhui Lin #iommu-cells = <0>; 2006b67262e1SXuhui Lin rockchip,disable-mmu-reset; 2007b67262e1SXuhui Lin rockchip,enable-cmd-retry; 2008b67262e1SXuhui Lin rockchip,shootdown-entire; 2009b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VEPU1>; 2010b67262e1SXuhui Lin status = "disabled"; 2011b67262e1SXuhui Lin }; 2012b67262e1SXuhui Lin 2013b67262e1SXuhui Lin rkvdec: rkvdec@27b00000 { 2014b67262e1SXuhui Lin compatible = "rockchip,rkv-decoder-v383"; 2015b67262e1SXuhui Lin reg = <0x0 0x27b00100 0x0 0x400>, <0x0 0x27b00000 0x0 0x100>; 2016b67262e1SXuhui Lin reg-names = "regs", "link"; 2017b67262e1SXuhui Lin interrupts = <GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH>; 2018b67262e1SXuhui Lin interrupt-names = "irq_rkvdec"; 2019b67262e1SXuhui Lin clocks = <&cru ACLK_RKVDEC_ROOT>, <&cru HCLK_RKVDEC_ROOT>, 2020b67262e1SXuhui Lin <&cru CLK_RKVDEC_CORE>, <&cru CLK_RKVDEC_HEVC_CA>; 2021b67262e1SXuhui Lin clock-names = "aclk_vcodec", "hclk_vcodec", "clk_core", "clk_hevc_ca"; 2022b67262e1SXuhui Lin resets = <&cru SRST_A_RKVDEC_BIU >, <&cru SRST_H_RKVDEC_BIU>, 2023b67262e1SXuhui Lin <&cru SRST_RKVDEC_CORE>, <&cru SRST_RKVDEC_HEVC_CA>; 2024b67262e1SXuhui Lin reset-names = "video_a","video_h", "video_core", "video_hevc_cabac"; 2025b67262e1SXuhui Lin rockchip,normal-rates = <600000000>, <0>, <600000000>, <600000000>; 2026b67262e1SXuhui Lin assigned-clocks = <&cru ACLK_RKVDEC_ROOT>, <&cru HCLK_RKVDEC_ROOT>, 2027b67262e1SXuhui Lin <&cru CLK_RKVDEC_CORE>, <&cru CLK_RKVDEC_HEVC_CA>; 2028b67262e1SXuhui Lin assigned-clock-rates = <600000000>,<0>, <600000000>, <600000000>; 2029b67262e1SXuhui Lin iommus = <&rkvdec_mmu>; 2030b67262e1SXuhui Lin rockchip,srv = <&mpp_srv>; 2031b67262e1SXuhui Lin rockchip,task-capacity = <1>; 2032b67262e1SXuhui Lin rockchip,taskqueue-node = <5>; 2033b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VDEC>; 2034b67262e1SXuhui Lin status = "disabled"; 2035b67262e1SXuhui Lin }; 2036b67262e1SXuhui Lin 2037b67262e1SXuhui Lin rkvdec_mmu: iommu@27b00800 { 2038b67262e1SXuhui Lin compatible = "rockchip,iommu-v2"; 2039b67262e1SXuhui Lin reg = <0x0 0x27b00800 0x0 0x40>, <0x0 0x27b00900 0x0 0x40>; 2040b67262e1SXuhui Lin interrupts = <GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH>; 2041b67262e1SXuhui Lin interrupt-names = "irq_rkvdec_mmu"; 2042b67262e1SXuhui Lin clocks = <&cru ACLK_RKVDEC_ROOT>, <&cru HCLK_RKVDEC>; 2043b67262e1SXuhui Lin clock-names = "aclk", "iface"; 2044b67262e1SXuhui Lin rockchip,disable-mmu-reset; 2045b67262e1SXuhui Lin rockchip,enable-cmd-retry; 2046b67262e1SXuhui Lin rockchip,shootdown-entire; 2047b67262e1SXuhui Lin #iommu-cells = <0>; 2048b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VDEC>; 2049b67262e1SXuhui Lin status = "disabled"; 2050b67262e1SXuhui Lin }; 2051b67262e1SXuhui Lin 2052b67262e1SXuhui Lin rkisp: isp@27c00000 { 2053b67262e1SXuhui Lin compatible = "rockchip,rk3576-rkisp"; 2054b67262e1SXuhui Lin reg = <0x0 0x27c00000 0x0 0x7f00>; 2055b67262e1SXuhui Lin interrupts = <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>, 2056b67262e1SXuhui Lin <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH>, 2057b67262e1SXuhui Lin <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH>; 2058b67262e1SXuhui Lin interrupt-names = "mipi_irq", "mi_irq", "isp_irq"; 2059b67262e1SXuhui Lin clocks = <&cru ACLK_ISP>, <&cru HCLK_ISP>, 2060b67262e1SXuhui Lin <&cru CLK_ISP_CORE>, <&cru CLK_ISP_CORE_MARVIN>, 2061b67262e1SXuhui Lin <&cru CLK_ISP_CORE_VICAP>; 2062b67262e1SXuhui Lin clock-names = "aclk_isp", "hclk_isp", 2063b67262e1SXuhui Lin "clk_isp_core", "clk_isp_core_marvin", 2064b67262e1SXuhui Lin "clk_isp_core_vicap"; 2065b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VI>; 2066b67262e1SXuhui Lin iommus = <&rkisp_mmu>; 2067b67262e1SXuhui Lin status = "disabled"; 2068b67262e1SXuhui Lin }; 2069b67262e1SXuhui Lin 2070b67262e1SXuhui Lin rkisp_mmu: iommu@27c07f00 { 2071b67262e1SXuhui Lin compatible = "rockchip,iommu-v2"; 2072b67262e1SXuhui Lin reg = <0x0 0x27c07f00 0x0 0x100>; 2073b67262e1SXuhui Lin interrupts = <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>; 2074b67262e1SXuhui Lin interrupt-names = "isp_mmu"; 2075b67262e1SXuhui Lin clocks = <&cru ACLK_ISP>, <&cru HCLK_ISP>; 2076b67262e1SXuhui Lin clock-names = "aclk", "iface"; 2077b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VI>; 2078b67262e1SXuhui Lin #iommu-cells = <0>; 2079b67262e1SXuhui Lin rockchip,disable-mmu-reset; 2080b67262e1SXuhui Lin status = "disabled"; 2081b67262e1SXuhui Lin }; 2082b67262e1SXuhui Lin 2083b67262e1SXuhui Lin rkcif: rkcif@27c10000 { 2084b67262e1SXuhui Lin compatible = "rockchip,rk3576-cif"; 2085b67262e1SXuhui Lin reg = <0x0 0x27c10000 0x0 0x800>; 2086b67262e1SXuhui Lin reg-names = "cif_regs"; 2087b67262e1SXuhui Lin interrupts = <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>; 2088b67262e1SXuhui Lin interrupt-names = "cif-intr"; 2089b67262e1SXuhui Lin clocks = <&cru ACLK_VICAP>, <&cru HCLK_VICAP>, <&cru DCLK_VICAP>, 2090b67262e1SXuhui Lin <&cru CLK_VICAP_I0CLK>, <&cru CLK_VICAP_I1CLK>, 2091b67262e1SXuhui Lin <&cru CLK_VICAP_I2CLK>, <&cru CLK_VICAP_I3CLK>, 2092b67262e1SXuhui Lin <&cru CLK_VICAP_I4CLK>; 2093b67262e1SXuhui Lin clock-names = "aclk_cif", "hclk_cif", "dclk_cif", 2094b67262e1SXuhui Lin "i0clk_cif", "i1clk_cif", 2095b67262e1SXuhui Lin "i2clk_cif", "i3clk_cif", 2096b67262e1SXuhui Lin "i4clk_cif"; 2097b67262e1SXuhui Lin resets = <&cru SRST_A_VICAP>, <&cru SRST_H_VICAP>, <&cru SRST_D_VICAP>, 2098b67262e1SXuhui Lin <&cru SRST_VICAP_I0CLK>, <&cru SRST_VICAP_I1CLK>, 2099b67262e1SXuhui Lin <&cru SRST_VICAP_I2CLK>, <&cru SRST_VICAP_I3CLK>, 2100b67262e1SXuhui Lin <&cru SRST_VICAP_I4CLK>; 2101b67262e1SXuhui Lin reset-names = "rst_cif_a", "rst_cif_h", "rst_cif_d", 2102b67262e1SXuhui Lin "rst_cif_iclk0", "rst_cif_iclk1", "rst_cif_iclk2", 2103b67262e1SXuhui Lin "rst_cif_iclk3", "rst_cif_iclk4"; 2104b67262e1SXuhui Lin assigned-clocks = <&cru DCLK_VICAP>; 2105b67262e1SXuhui Lin assigned-clock-rates = <600000000>; 2106b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VI>; 2107b67262e1SXuhui Lin rockchip,grf = <&sys_grf>; 2108b67262e1SXuhui Lin iommus = <&rkcif_mmu>; 2109b67262e1SXuhui Lin status = "disabled"; 2110b67262e1SXuhui Lin }; 2111b67262e1SXuhui Lin 2112b67262e1SXuhui Lin rkcif_mmu: iommu@27c10800 { 2113b67262e1SXuhui Lin compatible = "rockchip,iommu-v2"; 2114b67262e1SXuhui Lin reg = <0x0 0x27c10800 0x0 0x100>; 2115b67262e1SXuhui Lin interrupts = <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>; 2116b67262e1SXuhui Lin interrupt-names = "cif_mmu"; 2117b67262e1SXuhui Lin clocks = <&cru ACLK_VICAP>, <&cru HCLK_VICAP>; 2118b67262e1SXuhui Lin clock-names = "aclk", "iface"; 2119b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VI>; 2120b67262e1SXuhui Lin rockchip,disable-mmu-reset; 2121b67262e1SXuhui Lin #iommu-cells = <0>; 2122b67262e1SXuhui Lin status = "disabled"; 2123b67262e1SXuhui Lin }; 2124b67262e1SXuhui Lin 2125b67262e1SXuhui Lin rkvpss: vpss@27c30000 { 2126b67262e1SXuhui Lin compatible = "rockchip,rk3576-rkvpss"; 2127b67262e1SXuhui Lin reg = <0x0 0x27c30000 0x0 0x3f00>; 2128b67262e1SXuhui Lin interrupts = <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH>, 2129b67262e1SXuhui Lin <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>; 2130b67262e1SXuhui Lin interrupt-names = "mi_irq", "vpss_irq"; 2131b67262e1SXuhui Lin clocks = <&cru ACLK_VPSS>, <&cru HCLK_VPSS>, 2132b67262e1SXuhui Lin <&cru CLK_CORE_VPSS>; 2133b67262e1SXuhui Lin clock-names = "aclk_vpss", "hclk_vpss", "clk_vpss"; 2134b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VI>; 2135b67262e1SXuhui Lin iommus = <&rkvpss_mmu>; 2136b67262e1SXuhui Lin status = "disabled"; 2137b67262e1SXuhui Lin }; 2138b67262e1SXuhui Lin 2139b67262e1SXuhui Lin rkvpss_mmu: iommu@27c33f00 { 2140b67262e1SXuhui Lin compatible = "rockchip,iommu-v2"; 2141b67262e1SXuhui Lin reg = <0x0 0x27c33f00 0x0 0x100>; 2142b67262e1SXuhui Lin interrupts = <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>; 2143b67262e1SXuhui Lin interrupt-names = "vpss_mmu"; 2144b67262e1SXuhui Lin clocks = <&cru ACLK_VPSS>, <&cru HCLK_VPSS>; 2145b67262e1SXuhui Lin clock-names = "aclk", "iface"; 2146b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VI>; 2147b67262e1SXuhui Lin #iommu-cells = <0>; 2148b67262e1SXuhui Lin rockchip,disable-mmu-reset; 2149b67262e1SXuhui Lin status = "disabled"; 2150b67262e1SXuhui Lin }; 2151b67262e1SXuhui Lin 2152b67262e1SXuhui Lin mipi0_csi2_hw: mipi0-csi2-hw@27c80000 { 2153b67262e1SXuhui Lin compatible = "rockchip,rk3576-mipi-csi2-hw"; 2154b67262e1SXuhui Lin reg = <0x0 0x27c80000 0x0 0x10000>; 2155b67262e1SXuhui Lin reg-names = "csihost_regs"; 2156b67262e1SXuhui Lin interrupts = <GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>, 2157b67262e1SXuhui Lin <GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH>; 2158b67262e1SXuhui Lin interrupt-names = "csi-intr1", "csi-intr2"; 2159b67262e1SXuhui Lin clocks = <&cru PCLK_CSI_HOST_0>, <&cru ICLK_CSIHOST0>; 2160b67262e1SXuhui Lin clock-names = "pclk_csi2host", "iclk_csi2host"; 2161b67262e1SXuhui Lin resets = <&cru SRST_P_CSI_HOST_0>; 2162b67262e1SXuhui Lin reset-names = "srst_csihost_p"; 2163b67262e1SXuhui Lin status = "okay"; 2164b67262e1SXuhui Lin }; 2165b67262e1SXuhui Lin 2166b67262e1SXuhui Lin mipi1_csi2_hw: mipi1-csi2-hw@27c90000 { 2167b67262e1SXuhui Lin compatible = "rockchip,rk3576-mipi-csi2-hw"; 2168b67262e1SXuhui Lin reg = <0x0 0x27c90000 0x0 0x10000>; 2169b67262e1SXuhui Lin reg-names = "csihost_regs"; 2170b67262e1SXuhui Lin interrupts = <GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH>, 2171b67262e1SXuhui Lin <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>; 2172b67262e1SXuhui Lin interrupt-names = "csi-intr1", "csi-intr2"; 2173b67262e1SXuhui Lin clocks = <&cru PCLK_CSI_HOST_1>; 2174b67262e1SXuhui Lin clock-names = "pclk_csi2host"; 2175b67262e1SXuhui Lin resets = <&cru SRST_P_CSI_HOST_1>; 2176b67262e1SXuhui Lin reset-names = "srst_csihost_p"; 2177b67262e1SXuhui Lin status = "okay"; 2178b67262e1SXuhui Lin }; 2179b67262e1SXuhui Lin 2180b67262e1SXuhui Lin mipi2_csi2_hw: mipi2-csi2-hw@27ca0000 { 2181b67262e1SXuhui Lin compatible = "rockchip,rk3576-mipi-csi2-hw"; 2182b67262e1SXuhui Lin reg = <0x0 0x27ca0000 0x0 0x10000>; 2183b67262e1SXuhui Lin reg-names = "csihost_regs"; 2184b67262e1SXuhui Lin interrupts = <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>, 2185b67262e1SXuhui Lin <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>; 2186b67262e1SXuhui Lin interrupt-names = "csi-intr1", "csi-intr2"; 2187b67262e1SXuhui Lin clocks = <&cru PCLK_CSI_HOST_2>; 2188b67262e1SXuhui Lin clock-names = "pclk_csi2host"; 2189b67262e1SXuhui Lin resets = <&cru SRST_P_CSI_HOST_2>; 2190b67262e1SXuhui Lin reset-names = "srst_csihost_p"; 2191b67262e1SXuhui Lin status = "okay"; 2192b67262e1SXuhui Lin }; 2193b67262e1SXuhui Lin 2194b67262e1SXuhui Lin mipi3_csi2_hw: mipi3-csi2-hw@27cb0000 { 2195b67262e1SXuhui Lin compatible = "rockchip,rk3576-mipi-csi2-hw"; 2196b67262e1SXuhui Lin reg = <0x0 0x27cb0000 0x0 0x10000>; 2197b67262e1SXuhui Lin reg-names = "csihost_regs"; 2198b67262e1SXuhui Lin interrupts = <GIC_SPI 383 IRQ_TYPE_LEVEL_HIGH>, 2199b67262e1SXuhui Lin <GIC_SPI 384 IRQ_TYPE_LEVEL_HIGH>; 2200b67262e1SXuhui Lin interrupt-names = "csi-intr1", "csi-intr2"; 2201b67262e1SXuhui Lin clocks = <&cru PCLK_CSI_HOST_3>; 2202b67262e1SXuhui Lin clock-names = "pclk_csi2host"; 2203b67262e1SXuhui Lin resets = <&cru SRST_P_CSI_HOST_3>; 2204b67262e1SXuhui Lin reset-names = "srst_csihost_p"; 2205b67262e1SXuhui Lin status = "okay"; 2206b67262e1SXuhui Lin }; 2207b67262e1SXuhui Lin 2208b67262e1SXuhui Lin mipi4_csi2_hw: mipi4-csi2-hw@27cc0000 { 2209b67262e1SXuhui Lin compatible = "rockchip,rk3576-mipi-csi2-hw"; 2210b67262e1SXuhui Lin reg = <0x0 0x27cc0000 0x0 0x10000>; 2211b67262e1SXuhui Lin reg-names = "csihost_regs"; 2212b67262e1SXuhui Lin interrupts = <GIC_SPI 385 IRQ_TYPE_LEVEL_HIGH>, 2213b67262e1SXuhui Lin <GIC_SPI 386 IRQ_TYPE_LEVEL_HIGH>; 2214b67262e1SXuhui Lin interrupt-names = "csi-intr1", "csi-intr2"; 2215b67262e1SXuhui Lin clocks = <&cru PCLK_CSI_HOST_4>; 2216b67262e1SXuhui Lin clock-names = "pclk_csi2host"; 2217b67262e1SXuhui Lin resets = <&cru SRST_P_CSI_HOST_4>; 2218b67262e1SXuhui Lin reset-names = "srst_csihost_p"; 2219b67262e1SXuhui Lin status = "okay"; 2220b67262e1SXuhui Lin }; 2221b67262e1SXuhui Lin 2222b67262e1SXuhui Lin vop: vop@27d00000 { 2223b67262e1SXuhui Lin compatible = "rockchip,rk3576-vop"; 2224b67262e1SXuhui Lin reg = <0x0 0x27d00000 0x0 0x3000>, 2225b67262e1SXuhui Lin <0x0 0x27d05000 0x0 0x1000>, 2226b67262e1SXuhui Lin <0x0 0x27d06400 0x0 0x800>, 2227b67262e1SXuhui Lin <0x0 0x27d06c00 0x0 0x300>; 2228b67262e1SXuhui Lin reg-names = "regs", 2229b67262e1SXuhui Lin "gamma_lut", 2230b67262e1SXuhui Lin "acm_regs", 2231b67262e1SXuhui Lin "sharp_regs"; 2232b67262e1SXuhui Lin interrupts = <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>, 2233b67262e1SXuhui Lin <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH>, 2234b67262e1SXuhui Lin <GIC_SPI 380 IRQ_TYPE_LEVEL_HIGH>, 2235b67262e1SXuhui Lin <GIC_SPI 381 IRQ_TYPE_LEVEL_HIGH>; 2236b67262e1SXuhui Lin interrupt-names = "vop-sys", 2237b67262e1SXuhui Lin "vop-vp0", 2238b67262e1SXuhui Lin "vop-vp1", 2239b67262e1SXuhui Lin "vop-vp2"; 2240b67262e1SXuhui Lin clocks = <&cru ACLK_VOP>, 2241b67262e1SXuhui Lin <&cru HCLK_VOP>, 2242b67262e1SXuhui Lin <&cru DCLK_VP0_SRC>, 2243b67262e1SXuhui Lin <&cru DCLK_VP1_SRC>, 2244b67262e1SXuhui Lin <&cru DCLK_VP2_SRC>; 2245b67262e1SXuhui Lin clock-names = "aclk_vop", 2246b67262e1SXuhui Lin "hclk_vop", 2247b67262e1SXuhui Lin "dclk_vp0", 2248b67262e1SXuhui Lin "dclk_vp1", 2249b67262e1SXuhui Lin "dclk_vp2"; 2250b67262e1SXuhui Lin iommus = <&vop_mmu>; 2251b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VOP>; 2252b67262e1SXuhui Lin rockchip,grf = <&sys_grf>; 2253b67262e1SXuhui Lin rockchip,ioc-grf = <&ioc_grf>; 2254b67262e1SXuhui Lin rockchip,pmu = <&pmu>; 2255b67262e1SXuhui Lin status = "disabled"; 2256b67262e1SXuhui Lin 2257b67262e1SXuhui Lin vop_out: ports { 2258b67262e1SXuhui Lin #address-cells = <1>; 2259b67262e1SXuhui Lin #size-cells = <0>; 2260b67262e1SXuhui Lin 2261b67262e1SXuhui Lin vp0: port@0 { 2262b67262e1SXuhui Lin #address-cells = <1>; 2263b67262e1SXuhui Lin #size-cells = <0>; 2264b67262e1SXuhui Lin reg = <0>; 2265b67262e1SXuhui Lin 2266b67262e1SXuhui Lin vp0_out_dsi: endpoint@0 { 2267b67262e1SXuhui Lin reg = <0>; 2268b67262e1SXuhui Lin remote-endpoint = <&dsi_in_vp0>; 2269b67262e1SXuhui Lin }; 2270b67262e1SXuhui Lin 2271b67262e1SXuhui Lin vp0_out_edp: endpoint@1 { 2272b67262e1SXuhui Lin reg = <1>; 2273b67262e1SXuhui Lin remote-endpoint = <&edp_in_vp0>; 2274b67262e1SXuhui Lin }; 2275b67262e1SXuhui Lin 2276b67262e1SXuhui Lin vp0_out_hdmi: endpoint@2 { 2277b67262e1SXuhui Lin reg = <2>; 2278b67262e1SXuhui Lin remote-endpoint = <&hdmi_in_vp0>; 2279b67262e1SXuhui Lin }; 2280b67262e1SXuhui Lin 2281b67262e1SXuhui Lin vp0_out_dp0: endpoint@3 { 2282b67262e1SXuhui Lin reg = <3>; 2283b67262e1SXuhui Lin remote-endpoint = <&dp0_in_vp0>; 2284b67262e1SXuhui Lin }; 2285b67262e1SXuhui Lin 2286b67262e1SXuhui Lin vp0_out_dp1: endpoint@4 { 2287b67262e1SXuhui Lin reg = <4>; 2288b67262e1SXuhui Lin remote-endpoint = <&dp1_in_vp0>; 2289b67262e1SXuhui Lin }; 2290b67262e1SXuhui Lin 2291b67262e1SXuhui Lin vp0_out_dp2: endpoint@5 { 2292b67262e1SXuhui Lin reg = <5>; 2293b67262e1SXuhui Lin remote-endpoint = <&dp2_in_vp0>; 2294b67262e1SXuhui Lin }; 2295b67262e1SXuhui Lin }; 2296b67262e1SXuhui Lin 2297b67262e1SXuhui Lin vp1: port@1 { 2298b67262e1SXuhui Lin #address-cells = <1>; 2299b67262e1SXuhui Lin #size-cells = <0>; 2300b67262e1SXuhui Lin reg = <1>; 2301b67262e1SXuhui Lin 2302b67262e1SXuhui Lin vp1_out_rgb: endpoint@0 { 2303b67262e1SXuhui Lin reg = <0>; 2304b67262e1SXuhui Lin remote-endpoint = <&rgb_in_vp1>; 2305b67262e1SXuhui Lin }; 2306b67262e1SXuhui Lin 2307b67262e1SXuhui Lin vp1_out_dsi: endpoint@1 { 2308b67262e1SXuhui Lin reg = <1>; 2309b67262e1SXuhui Lin remote-endpoint = <&dsi_in_vp1>; 2310b67262e1SXuhui Lin }; 2311b67262e1SXuhui Lin 2312b67262e1SXuhui Lin vp1_out_edp: endpoint@2 { 2313b67262e1SXuhui Lin reg = <2>; 2314b67262e1SXuhui Lin remote-endpoint = <&edp_in_vp1>; 2315b67262e1SXuhui Lin }; 2316b67262e1SXuhui Lin 2317b67262e1SXuhui Lin vp1_out_hdmi: endpoint@3 { 2318b67262e1SXuhui Lin reg = <3>; 2319b67262e1SXuhui Lin remote-endpoint = <&hdmi_in_vp1>; 2320b67262e1SXuhui Lin }; 2321b67262e1SXuhui Lin 2322b67262e1SXuhui Lin vp1_out_dp0: endpoint@4 { 2323b67262e1SXuhui Lin reg = <4>; 2324b67262e1SXuhui Lin remote-endpoint = <&dp0_in_vp1>; 2325b67262e1SXuhui Lin }; 2326b67262e1SXuhui Lin 2327b67262e1SXuhui Lin vp1_out_dp1: endpoint@5 { 2328b67262e1SXuhui Lin reg = <5>; 2329b67262e1SXuhui Lin remote-endpoint = <&dp1_in_vp1>; 2330b67262e1SXuhui Lin }; 2331b67262e1SXuhui Lin 2332b67262e1SXuhui Lin vp1_out_dp2: endpoint@6 { 2333b67262e1SXuhui Lin reg = <6>; 2334b67262e1SXuhui Lin remote-endpoint = <&dp2_in_vp1>; 2335b67262e1SXuhui Lin }; 2336b67262e1SXuhui Lin }; 2337b67262e1SXuhui Lin 2338b67262e1SXuhui Lin vp2: port@2 { 2339b67262e1SXuhui Lin #address-cells = <1>; 2340b67262e1SXuhui Lin #size-cells = <0>; 2341b67262e1SXuhui Lin reg = <2>; 2342b67262e1SXuhui Lin 2343b67262e1SXuhui Lin vp2_out_rgb: endpoint@0 { 2344b67262e1SXuhui Lin reg = <0>; 2345b67262e1SXuhui Lin remote-endpoint = <&rgb_in_vp2>; 2346b67262e1SXuhui Lin }; 2347b67262e1SXuhui Lin 2348b67262e1SXuhui Lin vp2_out_dsi: endpoint@1 { 2349b67262e1SXuhui Lin reg = <1>; 2350b67262e1SXuhui Lin remote-endpoint = <&dsi_in_vp2>; 2351b67262e1SXuhui Lin }; 2352b67262e1SXuhui Lin 2353b67262e1SXuhui Lin vp2_out_edp: endpoint@2 { 2354b67262e1SXuhui Lin reg = <2>; 2355b67262e1SXuhui Lin remote-endpoint = <&edp_in_vp2>; 2356b67262e1SXuhui Lin }; 2357b67262e1SXuhui Lin 2358b67262e1SXuhui Lin vp2_out_hdmi: endpoint@3 { 2359b67262e1SXuhui Lin reg = <3>; 2360b67262e1SXuhui Lin remote-endpoint = <&hdmi_in_vp2>; 2361b67262e1SXuhui Lin }; 2362b67262e1SXuhui Lin 2363b67262e1SXuhui Lin vp2_out_dp0: endpoint@4 { 2364b67262e1SXuhui Lin reg = <4>; 2365b67262e1SXuhui Lin remote-endpoint = <&dp0_in_vp2>; 2366b67262e1SXuhui Lin }; 2367b67262e1SXuhui Lin 2368b67262e1SXuhui Lin vp2_out_dp1: endpoint@5 { 2369b67262e1SXuhui Lin reg = <5>; 2370b67262e1SXuhui Lin remote-endpoint = <&dp1_in_vp2>; 2371b67262e1SXuhui Lin }; 2372b67262e1SXuhui Lin 2373b67262e1SXuhui Lin vp2_out_dp2: endpoint@6 { 2374b67262e1SXuhui Lin reg = <6>; 2375b67262e1SXuhui Lin remote-endpoint = <&dp2_in_vp2>; 2376b67262e1SXuhui Lin }; 2377b67262e1SXuhui Lin }; 2378b67262e1SXuhui Lin }; 2379b67262e1SXuhui Lin }; 2380b67262e1SXuhui Lin 2381b67262e1SXuhui Lin vop_mmu: iommu@27d07e00 { 2382b67262e1SXuhui Lin compatible = "rockchip,iommu-v2"; 2383b67262e1SXuhui Lin reg = <0x0 0x27d07e00 0x0 0x100>, <0x0 0x27d07f00 0x0 0x100>; 2384b67262e1SXuhui Lin interrupts = <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>; 2385b67262e1SXuhui Lin interrupt-names = "vop_mmu"; 2386b67262e1SXuhui Lin clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>; 2387b67262e1SXuhui Lin clock-names = "aclk", "iface"; 2388b67262e1SXuhui Lin #iommu-cells = <0>; 2389b67262e1SXuhui Lin rockchip,disable-device-link-resume; 2390b67262e1SXuhui Lin rockchip,shootdown-entire; 2391b67262e1SXuhui Lin status = "disabled"; 2392b67262e1SXuhui Lin }; 2393b67262e1SXuhui Lin 2394b67262e1SXuhui Lin spdif_tx2: spdif-tx@27d20000 { 2395b67262e1SXuhui Lin compatible = "rockchip,rk3576-spdif", "rockchip,rk3568-spdif"; 2396b67262e1SXuhui Lin reg = <0x0 0x27d20000 0x0 0x1000>; 2397b67262e1SXuhui Lin interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>; 2398b67262e1SXuhui Lin clocks = <&cru MCLK_SPDIF_TX2>, <&cru HCLK_SPDIF_TX2>; 2399b67262e1SXuhui Lin clock-names = "mclk", "hclk"; 2400b67262e1SXuhui Lin dmas = <&dmac2 28>; 2401b67262e1SXuhui Lin dma-names = "tx"; 2402b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VO0>; 2403b67262e1SXuhui Lin #sound-dai-cells = <0>; 2404b67262e1SXuhui Lin status = "disabled"; 2405b67262e1SXuhui Lin }; 2406b67262e1SXuhui Lin 2407b67262e1SXuhui Lin spdif_rx2: spdif-rx@27d30000 { 2408b67262e1SXuhui Lin compatible = "rockchip,rk3576-spdifrx", "rockchip,rk3308-spdifrx"; 2409b67262e1SXuhui Lin reg = <0x0 0x27d30000 0x0 0x1000>; 2410b67262e1SXuhui Lin interrupts = <GIC_SPI 201 IRQ_TYPE_LEVEL_HIGH>; 2411b67262e1SXuhui Lin clocks = <&cru MCLK_SPDIF_RX2>, <&cru HCLK_SPDIF_RX2>; 2412b67262e1SXuhui Lin clock-names = "mclk", "hclk"; 2413b67262e1SXuhui Lin dmas = <&dmac2 27>; 2414b67262e1SXuhui Lin dma-names = "rx"; 2415b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VO0>; 2416b67262e1SXuhui Lin resets = <&cru SRST_M_SPDIF_RX2>; 2417b67262e1SXuhui Lin reset-names = "spdifrx-m"; 2418b67262e1SXuhui Lin status = "disabled"; 2419b67262e1SXuhui Lin }; 2420b67262e1SXuhui Lin 2421b67262e1SXuhui Lin sai5: sai@27d40000 { 2422b67262e1SXuhui Lin compatible = "rockchip,rk3576-sai", "rockchip,sai-v1"; 2423b67262e1SXuhui Lin reg = <0x0 0x27d40000 0x0 0x1000>; 2424b67262e1SXuhui Lin interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>; 2425b67262e1SXuhui Lin clocks = <&cru MCLK_SAI5_8CH>, <&cru HCLK_SAI5_8CH>; 2426b67262e1SXuhui Lin clock-names = "mclk", "hclk"; 2427b67262e1SXuhui Lin dmas = <&dmac2 3>; 2428b67262e1SXuhui Lin dma-names = "rx"; 2429b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VO0>; 2430b67262e1SXuhui Lin resets = <&cru SRST_M_SAI5_8CH>, <&cru SRST_H_SAI5_8CH>; 2431b67262e1SXuhui Lin reset-names = "m", "h"; 2432b67262e1SXuhui Lin #sound-dai-cells = <0>; 2433b67262e1SXuhui Lin sound-name-prefix = "SAI5"; 2434b67262e1SXuhui Lin status = "disabled"; 2435b67262e1SXuhui Lin }; 2436b67262e1SXuhui Lin 2437b67262e1SXuhui Lin sai6: sai@27d50000 { 2438b67262e1SXuhui Lin compatible = "rockchip,rk3576-sai", "rockchip,sai-v1"; 2439b67262e1SXuhui Lin reg = <0x0 0x27d50000 0x0 0x1000>; 2440b67262e1SXuhui Lin interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>; 2441b67262e1SXuhui Lin clocks = <&cru MCLK_SAI6_8CH>, <&cru HCLK_SAI6_8CH>; 2442b67262e1SXuhui Lin clock-names = "mclk", "hclk"; 2443b67262e1SXuhui Lin dmas = <&dmac2 4>, <&dmac2 5>; 2444b67262e1SXuhui Lin dma-names = "tx", "rx"; 2445b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VO0>; 2446b67262e1SXuhui Lin resets = <&cru SRST_M_SAI6_8CH>, <&cru SRST_H_SAI6_8CH>; 2447b67262e1SXuhui Lin reset-names = "m", "h"; 2448b67262e1SXuhui Lin #sound-dai-cells = <0>; 2449b67262e1SXuhui Lin sound-name-prefix = "SAI6"; 2450b67262e1SXuhui Lin status = "disabled"; 2451b67262e1SXuhui Lin }; 2452b67262e1SXuhui Lin 2453b67262e1SXuhui Lin dsi: dsi@27d80000 { 2454b67262e1SXuhui Lin compatible = "rockchip,rk3576-mipi-dsi2"; 2455b67262e1SXuhui Lin reg = <0x0 0x27d80000 0x0 0x10000>; 2456b67262e1SXuhui Lin interrupts = <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>; 2457b67262e1SXuhui Lin clocks = <&cru PCLK_DSIHOST0>, <&cru CLK_DSIHOST0>; 2458b67262e1SXuhui Lin clock-names = "pclk", "sys_clk"; 2459b67262e1SXuhui Lin resets = <&cru SRST_P_DSIHOST0>; 2460b67262e1SXuhui Lin reset-names = "apb"; 2461b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VO0>; 2462b67262e1SXuhui Lin phys = <&mipidcphy0>; 2463b67262e1SXuhui Lin phy-names = "dcphy"; 2464b67262e1SXuhui Lin rockchip,grf = <&vo0_grf>; 2465b67262e1SXuhui Lin #address-cells = <1>; 2466b67262e1SXuhui Lin #size-cells = <0>; 2467b67262e1SXuhui Lin status = "disabled"; 2468b67262e1SXuhui Lin 2469b67262e1SXuhui Lin ports { 2470b67262e1SXuhui Lin #address-cells = <1>; 2471b67262e1SXuhui Lin #size-cells = <0>; 2472b67262e1SXuhui Lin 2473b67262e1SXuhui Lin dsi_in: port@0 { 2474b67262e1SXuhui Lin reg = <0>; 2475b67262e1SXuhui Lin #address-cells = <1>; 2476b67262e1SXuhui Lin #size-cells = <0>; 2477b67262e1SXuhui Lin 2478b67262e1SXuhui Lin dsi_in_vp0: endpoint@0 { 2479b67262e1SXuhui Lin reg = <0>; 2480b67262e1SXuhui Lin remote-endpoint = <&vp0_out_dsi>; 2481b67262e1SXuhui Lin status = "disabled"; 2482b67262e1SXuhui Lin }; 2483b67262e1SXuhui Lin 2484b67262e1SXuhui Lin dsi_in_vp1: endpoint@1 { 2485b67262e1SXuhui Lin reg = <1>; 2486b67262e1SXuhui Lin remote-endpoint = <&vp1_out_dsi>; 2487b67262e1SXuhui Lin status = "disabled"; 2488b67262e1SXuhui Lin }; 2489b67262e1SXuhui Lin 2490b67262e1SXuhui Lin dsi_in_vp2: endpoint@2 { 2491b67262e1SXuhui Lin reg = <2>; 2492b67262e1SXuhui Lin remote-endpoint = <&vp2_out_dsi>; 2493b67262e1SXuhui Lin status = "disabled"; 2494b67262e1SXuhui Lin }; 2495b67262e1SXuhui Lin 2496b67262e1SXuhui Lin dsi_in_vopl: endpoint@3 { 2497b67262e1SXuhui Lin reg = <3>; 2498b67262e1SXuhui Lin remote-endpoint = <&vopl_out_dsi>; 2499b67262e1SXuhui Lin status = "disabled"; 2500b67262e1SXuhui Lin }; 2501b67262e1SXuhui Lin }; 2502b67262e1SXuhui Lin }; 2503b67262e1SXuhui Lin }; 2504b67262e1SXuhui Lin 2505b67262e1SXuhui Lin hdcp0: hdcp@27d90000 { 2506b67262e1SXuhui Lin compatible = "rockchip,rk3576-hdcp"; 2507b67262e1SXuhui Lin reg = <0x0 0x27d90000 0x0 0x80>; 2508b67262e1SXuhui Lin interrupts = <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>; 2509b67262e1SXuhui Lin clocks = <&aclk_hdcp0>, <&cru PCLK_HDCP0>, 2510b67262e1SXuhui Lin <&cru HCLK_HDCP0>, <&scmi_clk HCLK_HDCP_KEY0>, 2511b67262e1SXuhui Lin <&scmi_clk PCLK_HDCP0_TRNG>; 2512b67262e1SXuhui Lin clock-names = "aclk", "pclk", "hclk", "hclk_key", "pclk_trng"; 2513b67262e1SXuhui Lin resets = <&cru SRST_HDCP0>, <&cru SRST_H_HDCP0>, 2514b67262e1SXuhui Lin <&cru SRST_A_HDCP0>; 2515b67262e1SXuhui Lin reset-names = "hdcp", "h_hdcp", "a_hdcp"; 2516b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VO0>; 2517b67262e1SXuhui Lin rockchip,vo-grf = <&vo0_grf>; 2518b67262e1SXuhui Lin status = "disabled"; 2519b67262e1SXuhui Lin }; 2520b67262e1SXuhui Lin 2521b67262e1SXuhui Lin hdmi: hdmi@27da0000 { 2522b67262e1SXuhui Lin compatible = "rockchip,rk3576-dw-hdmi"; 2523b67262e1SXuhui Lin reg = <0x0 0x27da0000 0x0 0x10000>, <0x0 0x27db0000 0x0 0x10000>; 2524b67262e1SXuhui Lin interrupts = <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>, 2525b67262e1SXuhui Lin <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>, 2526b67262e1SXuhui Lin <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>, 2527b67262e1SXuhui Lin <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>, 2528b67262e1SXuhui Lin <GIC_SPI 367 IRQ_TYPE_LEVEL_HIGH>; 2529b67262e1SXuhui Lin clocks = <&cru PCLK_HDMITX0>, 2530b67262e1SXuhui Lin <&cru CLK_HDMITXHPD>, 2531b67262e1SXuhui Lin <&cru CLK_HDMITX0_EARC>, 2532b67262e1SXuhui Lin <&cru CLK_HDMITX0_REF>, 2533b67262e1SXuhui Lin <&cru MCLK_SAI5_8CH>, 2534b67262e1SXuhui Lin <&cru DCLK_VP0>, 2535b67262e1SXuhui Lin <&cru DCLK_VP1>, 2536b67262e1SXuhui Lin <&cru DCLK_VP2>, 2537b67262e1SXuhui Lin <&cru DCLK_EBC>, 2538b67262e1SXuhui Lin <&hclk_vo1>, 2539b67262e1SXuhui Lin <&hdptxphy_hdmi>; 2540b67262e1SXuhui Lin clock-names = "pclk", 2541b67262e1SXuhui Lin "hpd", 2542b67262e1SXuhui Lin "earc", 2543b67262e1SXuhui Lin "hdmitx_ref", 2544b67262e1SXuhui Lin "aud", 2545b67262e1SXuhui Lin "dclk_vp0", 2546b67262e1SXuhui Lin "dclk_vp1", 2547b67262e1SXuhui Lin "dclk_vp2", 2548b67262e1SXuhui Lin "dclk_ebc", 2549b67262e1SXuhui Lin "hclk_vo1", 2550b67262e1SXuhui Lin "link_clk"; 2551b67262e1SXuhui Lin resets = <&cru SRST_HDMITX0_REF>, <&cru SRST_HDMITXHPD>; 2552b67262e1SXuhui Lin reset-names = "ref", "hdp"; 2553b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VO0>; 2554b67262e1SXuhui Lin pinctrl-names = "default"; 2555b67262e1SXuhui Lin pinctrl-0 = <&hdmi_txm0_pins &hdmi_tx_scl &hdmi_tx_sda>; 2556b67262e1SXuhui Lin reg-io-width = <4>; 2557b67262e1SXuhui Lin rockchip,grf = <&sys_grf>; 2558b67262e1SXuhui Lin rockchip,vo1_grf = <&vo0_grf>; 2559b67262e1SXuhui Lin phys = <&hdptxphy_hdmi>; 2560b67262e1SXuhui Lin phy-names = "hdmi"; 2561b67262e1SXuhui Lin #sound-dai-cells = <0>; 2562b67262e1SXuhui Lin status = "disabled"; 2563b67262e1SXuhui Lin 2564b67262e1SXuhui Lin ports { 2565b67262e1SXuhui Lin #address-cells = <1>; 2566b67262e1SXuhui Lin #size-cells = <0>; 2567b67262e1SXuhui Lin 2568b67262e1SXuhui Lin hdmi_in: port@0 { 2569b67262e1SXuhui Lin reg = <0>; 2570b67262e1SXuhui Lin #address-cells = <1>; 2571b67262e1SXuhui Lin #size-cells = <0>; 2572b67262e1SXuhui Lin 2573b67262e1SXuhui Lin hdmi_in_vp0: endpoint@0 { 2574b67262e1SXuhui Lin reg = <0>; 2575b67262e1SXuhui Lin remote-endpoint = <&vp0_out_hdmi>; 2576b67262e1SXuhui Lin status = "disabled"; 2577b67262e1SXuhui Lin }; 2578b67262e1SXuhui Lin 2579b67262e1SXuhui Lin hdmi_in_vp1: endpoint@1 { 2580b67262e1SXuhui Lin reg = <1>; 2581b67262e1SXuhui Lin remote-endpoint = <&vp1_out_hdmi>; 2582b67262e1SXuhui Lin status = "disabled"; 2583b67262e1SXuhui Lin }; 2584b67262e1SXuhui Lin 2585b67262e1SXuhui Lin hdmi_in_vp2: endpoint@2 { 2586b67262e1SXuhui Lin reg = <2>; 2587b67262e1SXuhui Lin remote-endpoint = <&vp2_out_hdmi>; 2588b67262e1SXuhui Lin status = "disabled"; 2589b67262e1SXuhui Lin }; 2590b67262e1SXuhui Lin 2591b67262e1SXuhui Lin hdmi_in_vopl: endpoint@3 { 2592b67262e1SXuhui Lin reg = <3>; 2593b67262e1SXuhui Lin remote-endpoint = <&vopl_out_hdmi>; 2594b67262e1SXuhui Lin status = "disabled"; 2595b67262e1SXuhui Lin }; 2596b67262e1SXuhui Lin }; 2597b67262e1SXuhui Lin }; 2598b67262e1SXuhui Lin }; 2599b67262e1SXuhui Lin 2600b67262e1SXuhui Lin edp: edp@27dc0000 { 2601b67262e1SXuhui Lin compatible = "rockchip,rk3576-edp"; 2602b67262e1SXuhui Lin reg = <0x0 0x27dc0000 0x0 0x1000>; 2603b67262e1SXuhui Lin interrupts = <GIC_SPI 365 IRQ_TYPE_LEVEL_HIGH>; 2604b67262e1SXuhui Lin clocks = <&cru CLK_EDP0_24M>, <&cru PCLK_EDP0>, 2605b67262e1SXuhui Lin <&cru CLK_EDP0_200M>, <&hclk_vo0>; 2606b67262e1SXuhui Lin clock-names = "dp", "pclk", "spdif", "hclk"; 2607b67262e1SXuhui Lin resets = <&cru SRST_EDP0_24M>, <&cru SRST_P_EDP0>; 2608b67262e1SXuhui Lin reset-names = "dp", "apb"; 2609b67262e1SXuhui Lin phys = <&hdptxphy>; 2610b67262e1SXuhui Lin phy-names = "dp"; 2611b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VO0>; 2612b67262e1SXuhui Lin rockchip,grf = <&vo0_grf>; 2613b67262e1SXuhui Lin status = "disabled"; 2614b67262e1SXuhui Lin 2615b67262e1SXuhui Lin ports { 2616b67262e1SXuhui Lin #address-cells = <1>; 2617b67262e1SXuhui Lin #size-cells = <0>; 2618b67262e1SXuhui Lin 2619b67262e1SXuhui Lin port@0 { 2620b67262e1SXuhui Lin reg = <0>; 2621b67262e1SXuhui Lin #address-cells = <1>; 2622b67262e1SXuhui Lin #size-cells = <0>; 2623b67262e1SXuhui Lin 2624b67262e1SXuhui Lin edp_in_vp0: endpoint@0 { 2625b67262e1SXuhui Lin reg = <0>; 2626b67262e1SXuhui Lin remote-endpoint = <&vp0_out_edp>; 2627b67262e1SXuhui Lin status = "disabled"; 2628b67262e1SXuhui Lin }; 2629b67262e1SXuhui Lin 2630b67262e1SXuhui Lin edp_in_vp1: endpoint@1 { 2631b67262e1SXuhui Lin reg = <1>; 2632b67262e1SXuhui Lin remote-endpoint = <&vp1_out_edp>; 2633b67262e1SXuhui Lin status = "disabled"; 2634b67262e1SXuhui Lin }; 2635b67262e1SXuhui Lin 2636b67262e1SXuhui Lin edp_in_vp2: endpoint@2 { 2637b67262e1SXuhui Lin reg = <2>; 2638b67262e1SXuhui Lin remote-endpoint = <&vp2_out_edp>; 2639b67262e1SXuhui Lin status = "disabled"; 2640b67262e1SXuhui Lin }; 2641b67262e1SXuhui Lin 2642b67262e1SXuhui Lin edp_in_vopl: endpoint@3 { 2643b67262e1SXuhui Lin reg = <3>; 2644b67262e1SXuhui Lin remote-endpoint = <&vopl_out_edp>; 2645b67262e1SXuhui Lin status = "disabled"; 2646b67262e1SXuhui Lin }; 2647b67262e1SXuhui Lin }; 2648b67262e1SXuhui Lin }; 2649b67262e1SXuhui Lin }; 2650b67262e1SXuhui Lin 2651b67262e1SXuhui Lin dp: dp@27e40000 { 2652b67262e1SXuhui Lin compatible = "rockchip,rk3576-dp"; 2653b67262e1SXuhui Lin reg = <0x0 0x27e40000 0x0 0x30000>; 2654b67262e1SXuhui Lin interrupts = <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>; 2655b67262e1SXuhui Lin clocks = <&cru PCLK_DP0>, <&cru CLK_AUX16MHZ_0>, 2656b67262e1SXuhui Lin <&cru ACLK_DP0>; 2657b67262e1SXuhui Lin clock-names = "apb", "aux", "hdcp"; 2658b67262e1SXuhui Lin assigned-clocks = <&cru CLK_AUX16MHZ_0>; 2659b67262e1SXuhui Lin assigned-clock-rates = <16000000>; 2660b67262e1SXuhui Lin resets = <&cru SRST_DP0>; 2661b67262e1SXuhui Lin phys = <&usbdp_phy_dp>; 2662b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VO1>; 2663b67262e1SXuhui Lin status = "disabled"; 2664b67262e1SXuhui Lin 2665b67262e1SXuhui Lin dp0: dp0 { 2666b67262e1SXuhui Lin ports { 2667b67262e1SXuhui Lin #address-cells = <1>; 2668b67262e1SXuhui Lin #size-cells = <0>; 2669b67262e1SXuhui Lin 2670b67262e1SXuhui Lin port@0 { 2671b67262e1SXuhui Lin reg = <0>; 2672b67262e1SXuhui Lin #address-cells = <1>; 2673b67262e1SXuhui Lin #size-cells = <0>; 2674b67262e1SXuhui Lin 2675b67262e1SXuhui Lin dp0_in_vp0: endpoint@0 { 2676b67262e1SXuhui Lin reg = <0>; 2677b67262e1SXuhui Lin remote-endpoint = <&vp0_out_dp0>; 2678b67262e1SXuhui Lin status = "disabled"; 2679b67262e1SXuhui Lin }; 2680b67262e1SXuhui Lin 2681b67262e1SXuhui Lin dp0_in_vp1: endpoint@1 { 2682b67262e1SXuhui Lin reg = <1>; 2683b67262e1SXuhui Lin remote-endpoint = <&vp1_out_dp0>; 2684b67262e1SXuhui Lin status = "disabled"; 2685b67262e1SXuhui Lin }; 2686b67262e1SXuhui Lin 2687b67262e1SXuhui Lin dp0_in_vp2: endpoint@2 { 2688b67262e1SXuhui Lin reg = <2>; 2689b67262e1SXuhui Lin remote-endpoint = <&vp2_out_dp0>; 2690b67262e1SXuhui Lin status = "disabled"; 2691b67262e1SXuhui Lin }; 2692b67262e1SXuhui Lin }; 2693b67262e1SXuhui Lin }; 2694b67262e1SXuhui Lin }; 2695b67262e1SXuhui Lin 2696b67262e1SXuhui Lin dp1: dp1 { 2697b67262e1SXuhui Lin ports { 2698b67262e1SXuhui Lin #address-cells = <1>; 2699b67262e1SXuhui Lin #size-cells = <0>; 2700b67262e1SXuhui Lin 2701b67262e1SXuhui Lin port@0 { 2702b67262e1SXuhui Lin reg = <0>; 2703b67262e1SXuhui Lin #address-cells = <1>; 2704b67262e1SXuhui Lin #size-cells = <0>; 2705b67262e1SXuhui Lin 2706b67262e1SXuhui Lin dp1_in_vp0: endpoint@0 { 2707b67262e1SXuhui Lin reg = <0>; 2708b67262e1SXuhui Lin remote-endpoint = <&vp0_out_dp1>; 2709b67262e1SXuhui Lin status = "disabled"; 2710b67262e1SXuhui Lin }; 2711b67262e1SXuhui Lin 2712b67262e1SXuhui Lin dp1_in_vp1: endpoint@1 { 2713b67262e1SXuhui Lin reg = <1>; 2714b67262e1SXuhui Lin remote-endpoint = <&vp1_out_dp1>; 2715b67262e1SXuhui Lin status = "disabled"; 2716b67262e1SXuhui Lin }; 2717b67262e1SXuhui Lin 2718b67262e1SXuhui Lin dp1_in_vp2: endpoint@2 { 2719b67262e1SXuhui Lin reg = <2>; 2720b67262e1SXuhui Lin remote-endpoint = <&vp2_out_dp1>; 2721b67262e1SXuhui Lin status = "disabled"; 2722b67262e1SXuhui Lin }; 2723b67262e1SXuhui Lin }; 2724b67262e1SXuhui Lin }; 2725b67262e1SXuhui Lin }; 2726b67262e1SXuhui Lin 2727b67262e1SXuhui Lin dp2: dp2 { 2728b67262e1SXuhui Lin ports { 2729b67262e1SXuhui Lin #address-cells = <1>; 2730b67262e1SXuhui Lin #size-cells = <0>; 2731b67262e1SXuhui Lin port@0 { 2732b67262e1SXuhui Lin reg = <0>; 2733b67262e1SXuhui Lin #address-cells = <1>; 2734b67262e1SXuhui Lin #size-cells = <0>; 2735b67262e1SXuhui Lin 2736b67262e1SXuhui Lin dp2_in_vp0: endpoint@0 { 2737b67262e1SXuhui Lin reg = <0>; 2738b67262e1SXuhui Lin remote-endpoint = <&vp0_out_dp2>; 2739b67262e1SXuhui Lin status = "disabled"; 2740b67262e1SXuhui Lin }; 2741b67262e1SXuhui Lin 2742b67262e1SXuhui Lin dp2_in_vp1: endpoint@1 { 2743b67262e1SXuhui Lin reg = <1>; 2744b67262e1SXuhui Lin remote-endpoint = <&vp1_out_dp2>; 2745b67262e1SXuhui Lin status = "disabled"; 2746b67262e1SXuhui Lin }; 2747b67262e1SXuhui Lin 2748b67262e1SXuhui Lin dp2_in_vp2: endpoint@2 { 2749b67262e1SXuhui Lin reg = <2>; 2750b67262e1SXuhui Lin remote-endpoint = <&vp2_out_dp2>; 2751b67262e1SXuhui Lin status = "disabled"; 2752b67262e1SXuhui Lin }; 2753b67262e1SXuhui Lin }; 2754b67262e1SXuhui Lin }; 2755b67262e1SXuhui Lin }; 2756b67262e1SXuhui Lin }; 2757b67262e1SXuhui Lin 2758b67262e1SXuhui Lin hdcp1: hdcp@27e70000 { 2759b67262e1SXuhui Lin compatible = "rockchip,rk3576-hdcp"; 2760b67262e1SXuhui Lin reg = <0x0 0x27e70000 0x0 0x80>; 2761b67262e1SXuhui Lin interrupts = <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>; 2762b67262e1SXuhui Lin clocks = <&aclk_hdcp1>, <&cru PCLK_HDCP1>, 2763b67262e1SXuhui Lin <&cru HCLK_HDCP1>, <&scmi_clk HCLK_HDCP_KEY1>, 2764b67262e1SXuhui Lin <&scmi_clk PCLK_HDCP1_TRNG>; 2765b67262e1SXuhui Lin clock-names = "aclk", "pclk", "hclk", "hclk_key", "pclk_trng"; 2766b67262e1SXuhui Lin resets = <&cru SRST_HDCP1>, <&cru SRST_H_HDCP1>, 2767b67262e1SXuhui Lin <&cru SRST_A_HDCP1>; 2768b67262e1SXuhui Lin reset-names = "hdcp", "h_hdcp", "a_hdcp"; 2769b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VO1>; 2770b67262e1SXuhui Lin rockchip,vo-grf = <&vo1_grf>; 2771b67262e1SXuhui Lin status = "disabled"; 2772b67262e1SXuhui Lin }; 2773b67262e1SXuhui Lin 2774b67262e1SXuhui Lin spdif_tx3: spdif-tx@27ea0000 { 2775b67262e1SXuhui Lin compatible = "rockchip,rk3576-spdif", "rockchip,rk3568-spdif"; 2776b67262e1SXuhui Lin reg = <0x0 0x27ea0000 0x0 0x1000>; 2777b67262e1SXuhui Lin interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>; 2778b67262e1SXuhui Lin clocks = <&cru MCLK_SPDIF_TX3>, <&cru HCLK_SPDIF_TX3>; 2779b67262e1SXuhui Lin clock-names = "mclk", "hclk"; 2780b67262e1SXuhui Lin dmas = <&dmac2 29>; 2781b67262e1SXuhui Lin dma-names = "tx"; 2782b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VO1>; 2783b67262e1SXuhui Lin #sound-dai-cells = <0>; 2784b67262e1SXuhui Lin status = "disabled"; 2785b67262e1SXuhui Lin }; 2786b67262e1SXuhui Lin 2787b67262e1SXuhui Lin spdif_tx4: spdif-tx@27eb0000 { 2788b67262e1SXuhui Lin compatible = "rockchip,rk3576-spdif", "rockchip,rk3568-spdif"; 2789b67262e1SXuhui Lin reg = <0x0 0x27eb0000 0x0 0x1000>; 2790b67262e1SXuhui Lin interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>; 2791b67262e1SXuhui Lin clocks = <&cru MCLK_SPDIF_TX4>, <&cru HCLK_SPDIF_TX4>; 2792b67262e1SXuhui Lin clock-names = "mclk", "hclk"; 2793b67262e1SXuhui Lin dmas = <&dmac1 6>; 2794b67262e1SXuhui Lin dma-names = "tx"; 2795b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VO1>; 2796b67262e1SXuhui Lin #sound-dai-cells = <0>; 2797b67262e1SXuhui Lin status = "disabled"; 2798b67262e1SXuhui Lin }; 2799b67262e1SXuhui Lin 2800b67262e1SXuhui Lin spdif_tx5: spdif-tx@27ec0000 { 2801b67262e1SXuhui Lin compatible = "rockchip,rk3576-spdif", "rockchip,rk3568-spdif"; 2802b67262e1SXuhui Lin reg = <0x0 0x27ec0000 0x0 0x1000>; 2803b67262e1SXuhui Lin interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>; 2804b67262e1SXuhui Lin clocks = <&cru MCLK_SPDIF_TX5>, <&cru HCLK_SPDIF_TX5>; 2805b67262e1SXuhui Lin clock-names = "mclk", "hclk"; 2806b67262e1SXuhui Lin dmas = <&dmac0 25>; 2807b67262e1SXuhui Lin dma-names = "tx"; 2808b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VO1>; 2809b67262e1SXuhui Lin #sound-dai-cells = <0>; 2810b67262e1SXuhui Lin status = "disabled"; 2811b67262e1SXuhui Lin }; 2812b67262e1SXuhui Lin 2813b67262e1SXuhui Lin sai7: sai@27ed0000 { 2814b67262e1SXuhui Lin compatible = "rockchip,rk3576-sai", "rockchip,sai-v1"; 2815b67262e1SXuhui Lin reg = <0x0 0x27ed0000 0x0 0x1000>; 2816b67262e1SXuhui Lin interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>; 2817b67262e1SXuhui Lin clocks = <&cru MCLK_SAI7_8CH>, <&cru HCLK_SAI7_8CH>; 2818b67262e1SXuhui Lin clock-names = "mclk", "hclk"; 2819b67262e1SXuhui Lin dmas = <&dmac2 19>; 2820b67262e1SXuhui Lin dma-names = "tx"; 2821b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VO1>; 2822b67262e1SXuhui Lin resets = <&cru SRST_M_SAI7_8CH>, <&cru SRST_H_SAI7_8CH>; 2823b67262e1SXuhui Lin reset-names = "m", "h"; 2824b67262e1SXuhui Lin #sound-dai-cells = <0>; 2825b67262e1SXuhui Lin sound-name-prefix = "SAI7"; 2826b67262e1SXuhui Lin status = "disabled"; 2827b67262e1SXuhui Lin }; 2828b67262e1SXuhui Lin 2829b67262e1SXuhui Lin sai8: sai@27ee0000 { 2830b67262e1SXuhui Lin compatible = "rockchip,rk3576-sai", "rockchip,sai-v1"; 2831b67262e1SXuhui Lin reg = <0x0 0x27ee0000 0x0 0x1000>; 2832b67262e1SXuhui Lin interrupts = <GIC_SPI 372 IRQ_TYPE_LEVEL_HIGH>; 2833b67262e1SXuhui Lin clocks = <&cru MCLK_SAI8_8CH>, <&cru HCLK_SAI8_8CH>; 2834b67262e1SXuhui Lin clock-names = "mclk", "hclk"; 2835b67262e1SXuhui Lin dmas = <&dmac1 7>; 2836b67262e1SXuhui Lin dma-names = "tx"; 2837b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VO1>; 2838b67262e1SXuhui Lin resets = <&cru SRST_M_SAI8_8CH>, <&cru SRST_H_SAI8_8CH>; 2839b67262e1SXuhui Lin reset-names = "m", "h"; 2840b67262e1SXuhui Lin #sound-dai-cells = <0>; 2841b67262e1SXuhui Lin sound-name-prefix = "SAI8"; 2842b67262e1SXuhui Lin status = "disabled"; 2843b67262e1SXuhui Lin }; 2844b67262e1SXuhui Lin 2845b67262e1SXuhui Lin sai9: sai@27ef0000 { 2846b67262e1SXuhui Lin compatible = "rockchip,rk3576-sai", "rockchip,sai-v1"; 2847b67262e1SXuhui Lin reg = <0x0 0x27ef0000 0x0 0x1000>; 2848b67262e1SXuhui Lin interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>; 2849b67262e1SXuhui Lin clocks = <&cru MCLK_SAI9_8CH>, <&cru HCLK_SAI9_8CH>; 2850b67262e1SXuhui Lin clock-names = "mclk", "hclk"; 2851b67262e1SXuhui Lin dmas = <&dmac0 26>; 2852b67262e1SXuhui Lin dma-names = "tx"; 2853b67262e1SXuhui Lin power-domains = <&power RK3576_PD_VO1>; 2854b67262e1SXuhui Lin resets = <&cru SRST_M_SAI9_8CH>, <&cru SRST_H_SAI9_8CH>; 2855b67262e1SXuhui Lin reset-names = "m", "h"; 2856b67262e1SXuhui Lin #sound-dai-cells = <0>; 2857b67262e1SXuhui Lin sound-name-prefix = "SAI9"; 2858b67262e1SXuhui Lin status = "disabled"; 2859b67262e1SXuhui Lin }; 2860b67262e1SXuhui Lin 2861b67262e1SXuhui Lin pcie0: pcie@2a200000 { 2862b67262e1SXuhui Lin compatible = "rockchip,rk3576-pcie", "snps,dw-pcie"; 2863b67262e1SXuhui Lin #address-cells = <3>; 2864b67262e1SXuhui Lin #size-cells = <2>; 2865b67262e1SXuhui Lin bus-range = <0x0 0xf>; 2866b67262e1SXuhui Lin clocks = <&cru ACLK_PCIE0_MST>, <&cru ACLK_PCIE0_SLV>, 2867b67262e1SXuhui Lin <&cru ACLK_PCIE0_DBI>, <&cru PCLK_PCIE0>, 2868b67262e1SXuhui Lin <&cru CLK_PCIE0_AUX>; 2869b67262e1SXuhui Lin clock-names = "aclk_mst", "aclk_slv", 2870b67262e1SXuhui Lin "aclk_dbi", "pclk", 2871b67262e1SXuhui Lin "aux"; 2872b67262e1SXuhui Lin device_type = "pci"; 287398973044SJon Lin interrupts = <GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>, 287498973044SJon Lin <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH>, 2875b67262e1SXuhui Lin <GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>, 2876b67262e1SXuhui Lin <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>, 2877b67262e1SXuhui Lin <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>, 2878b67262e1SXuhui Lin <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>; 287998973044SJon Lin interrupt-names = "msi", "sys", "pmc", "msg", "legacy", "err"; 2880b67262e1SXuhui Lin #interrupt-cells = <1>; 2881b67262e1SXuhui Lin interrupt-map-mask = <0 0 0 7>; 2882b67262e1SXuhui Lin interrupt-map = <0 0 0 1 &pcie0_intc 0>, 2883b67262e1SXuhui Lin <0 0 0 2 &pcie0_intc 1>, 2884b67262e1SXuhui Lin <0 0 0 3 &pcie0_intc 2>, 2885b67262e1SXuhui Lin <0 0 0 4 &pcie0_intc 3>; 2886b67262e1SXuhui Lin linux,pci-domain = <0>; 2887b67262e1SXuhui Lin num-ib-windows = <8>; 2888b67262e1SXuhui Lin num-viewport = <8>; 2889b67262e1SXuhui Lin num-ob-windows = <2>; 2890b67262e1SXuhui Lin max-link-speed = <2>; 2891b67262e1SXuhui Lin num-lanes = <1>; 2892b67262e1SXuhui Lin phys = <&combphy0_ps PHY_TYPE_PCIE>; 2893b67262e1SXuhui Lin phy-names = "pcie-phy"; 2894b67262e1SXuhui Lin power-domains = <&power RK3576_PD_PHP>; 289598973044SJon Lin ranges = <0x00000800 0x0 0x20000000 0x0 0x20000000 0x0 0x00100000 289698973044SJon Lin 0x81000000 0x0 0x20100000 0x0 0x20100000 0x0 0x00100000 289798973044SJon Lin 0x82000000 0x0 0x20200000 0x0 0x20200000 0x0 0x00e00000 2898*f2af0778SShawn Lin 0x83000000 0x9 0x00000000 0x9 0x00000000 0x0 0x80000000>; 2899b67262e1SXuhui Lin reg = <0x0 0x2a200000 0x0 0x00010000>, 2900b67262e1SXuhui Lin <0x0 0x22000000 0x0 0x00400000>, 2901b67262e1SXuhui Lin <0x0 0x20000000 0x0 0x00100000>; 2902b67262e1SXuhui Lin reg-names = "pcie-apb", "pcie-dbi", "config"; 290398973044SJon Lin resets = <&cru SRST_PCIE0_POWER_UP>, <&cru SRST_P_PCIE0>; 290498973044SJon Lin reset-names = "pipe", "p_pcie0"; 290598973044SJon Lin dma-coherent; 2906b67262e1SXuhui Lin status = "disabled"; 2907b67262e1SXuhui Lin 2908b67262e1SXuhui Lin pcie0_intc: legacy-interrupt-controller { 2909b67262e1SXuhui Lin interrupt-controller; 2910b67262e1SXuhui Lin #address-cells = <0>; 2911b67262e1SXuhui Lin #interrupt-cells = <1>; 2912b67262e1SXuhui Lin interrupt-parent = <&gic>; 2913b67262e1SXuhui Lin interrupts = <GIC_SPI 280 IRQ_TYPE_EDGE_RISING>; 2914b67262e1SXuhui Lin }; 2915b67262e1SXuhui Lin }; 2916b67262e1SXuhui Lin 2917b67262e1SXuhui Lin pcie1: pcie@2a210000 { 2918b67262e1SXuhui Lin compatible = "rockchip,rk3576-pcie", "snps,dw-pcie"; 2919b67262e1SXuhui Lin #address-cells = <3>; 2920b67262e1SXuhui Lin #size-cells = <2>; 2921b67262e1SXuhui Lin bus-range = <0x20 0x2f>; 2922b67262e1SXuhui Lin clocks = <&cru ACLK_PCIE1_MST>, <&cru ACLK_PCIE1_SLV>, 2923b67262e1SXuhui Lin <&cru ACLK_PCIE1_DBI>, <&cru PCLK_PCIE1>, 2924b67262e1SXuhui Lin <&cru CLK_PCIE1_AUX>; 2925b67262e1SXuhui Lin clock-names = "aclk_mst", "aclk_slv", 2926b67262e1SXuhui Lin "aclk_dbi", "pclk", 2927b67262e1SXuhui Lin "aux"; 2928b67262e1SXuhui Lin device_type = "pci"; 292998973044SJon Lin interrupts = <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH>, 293098973044SJon Lin <GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>, 2931b67262e1SXuhui Lin <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>, 2932b67262e1SXuhui Lin <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>, 2933b67262e1SXuhui Lin <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>, 2934b67262e1SXuhui Lin <GIC_SPI 264 IRQ_TYPE_LEVEL_HIGH>; 293598973044SJon Lin interrupt-names = "msi", "sys", "pmc", "msg", "legacy", "err"; 2936b67262e1SXuhui Lin #interrupt-cells = <1>; 2937b67262e1SXuhui Lin interrupt-map-mask = <0 0 0 7>; 2938b67262e1SXuhui Lin interrupt-map = <0 0 0 1 &pcie1_intc 0>, 2939b67262e1SXuhui Lin <0 0 0 2 &pcie1_intc 1>, 2940b67262e1SXuhui Lin <0 0 0 3 &pcie1_intc 2>, 2941b67262e1SXuhui Lin <0 0 0 4 &pcie1_intc 3>; 2942b67262e1SXuhui Lin linux,pci-domain = <0>; 2943b67262e1SXuhui Lin num-ib-windows = <8>; 2944b67262e1SXuhui Lin num-viewport = <8>; 2945b67262e1SXuhui Lin num-ob-windows = <2>; 2946b67262e1SXuhui Lin max-link-speed = <2>; 2947b67262e1SXuhui Lin num-lanes = <1>; 2948b67262e1SXuhui Lin phys = <&combphy1_psu PHY_TYPE_PCIE>; 2949b67262e1SXuhui Lin phy-names = "pcie-phy"; 2950b67262e1SXuhui Lin power-domains = <&power RK3576_PD_SUBPHP>; 295198973044SJon Lin ranges = <0x00000800 0x0 0x21000000 0x0 0x21000000 0x0 0x00100000 295298973044SJon Lin 0x81000000 0x0 0x21100000 0x0 0x21100000 0x0 0x00100000 295398973044SJon Lin 0x82000000 0x0 0x21200000 0x0 0x21200000 0x0 0x00e00000 2954b67262e1SXuhui Lin 0x83000000 0x9 0x80000000 0x9 0x80000000 0x0 0x80000000>; 2955b67262e1SXuhui Lin reg = <0x0 0x2a210000 0x0 0x00010000>, 2956b67262e1SXuhui Lin <0x0 0x22400000 0x0 0x00400000>, 2957b67262e1SXuhui Lin <0x0 0x21000000 0x0 0x00100000>; 2958b67262e1SXuhui Lin reg-names = "pcie-apb", "pcie-dbi", "config"; 295998973044SJon Lin resets = <&cru SRST_PCIE1_POWER_UP>, <&cru SRST_P_PCIE1>; 296098973044SJon Lin reset-names = "pipe", "p_pcie1"; 296198973044SJon Lin dma-coherent; 2962b67262e1SXuhui Lin status = "disabled"; 2963b67262e1SXuhui Lin 2964b67262e1SXuhui Lin pcie1_intc: legacy-interrupt-controller { 2965b67262e1SXuhui Lin interrupt-controller; 2966b67262e1SXuhui Lin #address-cells = <0>; 2967b67262e1SXuhui Lin #interrupt-cells = <1>; 2968b67262e1SXuhui Lin interrupt-parent = <&gic>; 2969b67262e1SXuhui Lin interrupts = <GIC_SPI 266 IRQ_TYPE_EDGE_RISING>; 2970b67262e1SXuhui Lin }; 2971b67262e1SXuhui Lin }; 2972b67262e1SXuhui Lin 2973b67262e1SXuhui Lin gmac0: ethernet@2a220000 { 2974b67262e1SXuhui Lin compatible = "rockchip,rk3576-gmac", "snps,dwmac-4.20a"; 2975b67262e1SXuhui Lin reg = <0x0 0x2a220000 0x0 0x10000>; 2976b67262e1SXuhui Lin interrupts = <GIC_SPI 293 IRQ_TYPE_LEVEL_HIGH>, 2977b67262e1SXuhui Lin <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>; 2978b67262e1SXuhui Lin interrupt-names = "macirq", "eth_wake_irq"; 2979b67262e1SXuhui Lin rockchip,grf = <&sdgmac_grf>; 2980b67262e1SXuhui Lin rockchip,php_grf = <&ioc_grf>; 2981b67262e1SXuhui Lin clocks = <&cru CLK_GMAC0_125M_SRC>, <&cru CLK_GMAC0_RMII_CRU>, 2982b67262e1SXuhui Lin <&cru PCLK_GMAC0>, <&cru ACLK_GMAC0>, 2983b67262e1SXuhui Lin <&cru CLK_GMAC0_PTP_REF>; 2984b67262e1SXuhui Lin clock-names = "stmmaceth", "clk_mac_ref", 2985b67262e1SXuhui Lin "pclk_mac", "aclk_mac", 2986b67262e1SXuhui Lin "ptp_ref"; 2987b67262e1SXuhui Lin resets = <&cru SRST_A_GMAC0>; 2988b67262e1SXuhui Lin reset-names = "stmmaceth"; 2989b67262e1SXuhui Lin power-domains = <&power RK3576_PD_SDGMAC>; 2990b67262e1SXuhui Lin 2991b67262e1SXuhui Lin snps,mixed-burst; 2992b67262e1SXuhui Lin snps,tso; 2993b67262e1SXuhui Lin 2994b67262e1SXuhui Lin snps,axi-config = <&gmac0_stmmac_axi_setup>; 2995b67262e1SXuhui Lin snps,mtl-rx-config = <&gmac0_mtl_rx_setup>; 2996b67262e1SXuhui Lin snps,mtl-tx-config = <&gmac0_mtl_tx_setup>; 2997b67262e1SXuhui Lin status = "disabled"; 2998b67262e1SXuhui Lin 2999b67262e1SXuhui Lin mdio0: mdio { 3000b67262e1SXuhui Lin compatible = "snps,dwmac-mdio"; 3001b67262e1SXuhui Lin #address-cells = <0x1>; 3002b67262e1SXuhui Lin #size-cells = <0x0>; 3003b67262e1SXuhui Lin }; 3004b67262e1SXuhui Lin 3005b67262e1SXuhui Lin gmac0_stmmac_axi_setup: stmmac-axi-config { 3006b67262e1SXuhui Lin snps,wr_osr_lmt = <4>; 3007b67262e1SXuhui Lin snps,rd_osr_lmt = <8>; 3008b67262e1SXuhui Lin snps,blen = <0 0 0 0 16 8 4>; 3009b67262e1SXuhui Lin }; 3010b67262e1SXuhui Lin 3011b67262e1SXuhui Lin gmac0_mtl_rx_setup: rx-queues-config { 3012b67262e1SXuhui Lin snps,rx-queues-to-use = <1>; 3013b67262e1SXuhui Lin queue0 {}; 3014b67262e1SXuhui Lin }; 3015b67262e1SXuhui Lin 3016b67262e1SXuhui Lin gmac0_mtl_tx_setup: tx-queues-config { 3017b67262e1SXuhui Lin snps,tx-queues-to-use = <1>; 3018b67262e1SXuhui Lin queue0 {}; 3019b67262e1SXuhui Lin }; 3020b67262e1SXuhui Lin }; 3021b67262e1SXuhui Lin 3022b67262e1SXuhui Lin gmac1: ethernet@2a230000 { 3023b67262e1SXuhui Lin compatible = "rockchip,rk3576-gmac", "snps,dwmac-4.20a"; 3024b67262e1SXuhui Lin reg = <0x0 0x2a230000 0x0 0x10000>; 3025b67262e1SXuhui Lin interrupts = <GIC_SPI 301 IRQ_TYPE_LEVEL_HIGH>, 3026b67262e1SXuhui Lin <GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>; 3027b67262e1SXuhui Lin interrupt-names = "macirq", "eth_wake_irq"; 3028b67262e1SXuhui Lin rockchip,grf = <&sdgmac_grf>; 3029b67262e1SXuhui Lin rockchip,php_grf = <&ioc_grf>; 3030b67262e1SXuhui Lin clocks = <&cru CLK_GMAC1_125M_SRC>, <&cru CLK_GMAC1_RMII_CRU>, 3031b67262e1SXuhui Lin <&cru PCLK_GMAC1>, <&cru ACLK_GMAC1>, 3032b67262e1SXuhui Lin <&cru CLK_GMAC1_PTP_REF>; 3033b67262e1SXuhui Lin clock-names = "stmmaceth", "clk_mac_ref", 3034b67262e1SXuhui Lin "pclk_mac", "aclk_mac", 3035b67262e1SXuhui Lin "ptp_ref"; 3036b67262e1SXuhui Lin resets = <&cru SRST_A_GMAC1>; 3037b67262e1SXuhui Lin reset-names = "stmmaceth"; 3038b67262e1SXuhui Lin power-domains = <&power RK3576_PD_SDGMAC>; 3039b67262e1SXuhui Lin 3040b67262e1SXuhui Lin snps,mixed-burst; 3041b67262e1SXuhui Lin snps,tso; 3042b67262e1SXuhui Lin 3043b67262e1SXuhui Lin snps,axi-config = <&gmac1_stmmac_axi_setup>; 3044b67262e1SXuhui Lin snps,mtl-rx-config = <&gmac1_mtl_rx_setup>; 3045b67262e1SXuhui Lin snps,mtl-tx-config = <&gmac1_mtl_tx_setup>; 3046b67262e1SXuhui Lin status = "disabled"; 3047b67262e1SXuhui Lin 3048b67262e1SXuhui Lin mdio1: mdio { 3049b67262e1SXuhui Lin compatible = "snps,dwmac-mdio"; 3050b67262e1SXuhui Lin #address-cells = <0x1>; 3051b67262e1SXuhui Lin #size-cells = <0x0>; 3052b67262e1SXuhui Lin }; 3053b67262e1SXuhui Lin 3054b67262e1SXuhui Lin gmac1_stmmac_axi_setup: stmmac-axi-config { 3055b67262e1SXuhui Lin snps,wr_osr_lmt = <4>; 3056b67262e1SXuhui Lin snps,rd_osr_lmt = <8>; 3057b67262e1SXuhui Lin snps,blen = <0 0 0 0 16 8 4>; 3058b67262e1SXuhui Lin }; 3059b67262e1SXuhui Lin 3060b67262e1SXuhui Lin gmac1_mtl_rx_setup: rx-queues-config { 3061b67262e1SXuhui Lin snps,rx-queues-to-use = <1>; 3062b67262e1SXuhui Lin queue0 {}; 3063b67262e1SXuhui Lin }; 3064b67262e1SXuhui Lin 3065b67262e1SXuhui Lin gmac1_mtl_tx_setup: tx-queues-config { 3066b67262e1SXuhui Lin snps,tx-queues-to-use = <1>; 3067b67262e1SXuhui Lin queue0 {}; 3068b67262e1SXuhui Lin }; 3069b67262e1SXuhui Lin }; 3070b67262e1SXuhui Lin 3071b67262e1SXuhui Lin sata0: sata@2a240000 { 3072b67262e1SXuhui Lin compatible = "rockchip,rk-ahci", "snps,dwc-ahci"; 3073b67262e1SXuhui Lin reg = <0 0x2a240000 0 0x1000>; 3074b67262e1SXuhui Lin clocks = <&cru ACLK_SATA0>, <&cru CLK_PMALIVE0>, 3075b67262e1SXuhui Lin <&cru CLK_RXOOB0>; 3076b67262e1SXuhui Lin clock-names = "sata", "pmalive", "rxoob"; 3077b67262e1SXuhui Lin interrupts = <GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH>; 3078b67262e1SXuhui Lin interrupt-names = "hostc"; 3079b67262e1SXuhui Lin power-domains = <&power RK3576_PD_SUBPHP>; 3080b67262e1SXuhui Lin phys = <&combphy0_ps PHY_TYPE_SATA>; 3081b67262e1SXuhui Lin phy-names = "sata-phy"; 3082b67262e1SXuhui Lin ports-implemented = <0x1>; 3083b67262e1SXuhui Lin status = "disabled"; 3084b67262e1SXuhui Lin }; 3085b67262e1SXuhui Lin 3086b67262e1SXuhui Lin sata1: sata@2a250000 { 3087b67262e1SXuhui Lin compatible = "rockchip,rk-ahci", "snps,dwc-ahci"; 3088b67262e1SXuhui Lin reg = <0 0x2a250000 0 0x1000>; 3089b67262e1SXuhui Lin clocks = <&cru ACLK_SATA1>, <&cru CLK_PMALIVE1>, 3090b67262e1SXuhui Lin <&cru CLK_RXOOB1>; 3091b67262e1SXuhui Lin clock-names = "sata", "pmalive", "rxoob"; 3092b67262e1SXuhui Lin interrupts = <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>; 3093b67262e1SXuhui Lin interrupt-names = "hostc"; 3094b67262e1SXuhui Lin power-domains = <&power RK3576_PD_SUBPHP>; 3095b67262e1SXuhui Lin phys = <&combphy1_psu PHY_TYPE_SATA>; 3096b67262e1SXuhui Lin phy-names = "sata-phy"; 3097b67262e1SXuhui Lin ports-implemented = <0x1>; 3098b67262e1SXuhui Lin status = "disabled"; 3099b67262e1SXuhui Lin }; 3100b67262e1SXuhui Lin 3101b67262e1SXuhui Lin mmu0: iommu@2a260000 { 3102b67262e1SXuhui Lin compatible = "rockchip,iommu-v2"; 3103b67262e1SXuhui Lin reg = <0x0 0x2a260000 0x0 0x100>; 3104b67262e1SXuhui Lin interrupts = <GIC_SPI 257 IRQ_TYPE_LEVEL_HIGH>; 3105b67262e1SXuhui Lin interrupt-names = "mmu0"; 3106b67262e1SXuhui Lin clocks = <&cru ACLK_MMU0>, <&cru ACLK_SLV_MMU0>, <&cru PCLK_PHP_ROOT>; 3107b67262e1SXuhui Lin clock-names = "aclk", "iface", "root"; 3108b67262e1SXuhui Lin power-domains = <&power RK3576_PD_PHP>; 3109b67262e1SXuhui Lin #iommu-cells = <0>; 3110b67262e1SXuhui Lin status = "disabled"; 3111b67262e1SXuhui Lin }; 3112b67262e1SXuhui Lin 3113b67262e1SXuhui Lin mmu1: iommu@2a270000 { 3114b67262e1SXuhui Lin compatible = "rockchip,iommu-v2"; 3115b67262e1SXuhui Lin reg = <0x0 0x2a270000 0x0 0x100>; 3116b67262e1SXuhui Lin interrupts = <GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH>; 3117b67262e1SXuhui Lin interrupt-names = "mmu1"; 3118b67262e1SXuhui Lin clocks = <&cru ACLK_MMU1>, <&cru ACLK_SLV_MMU1>, <&cru PCLK_PHP_ROOT>; 3119b67262e1SXuhui Lin clock-names = "aclk", "iface", "root"; 3120b67262e1SXuhui Lin power-domains = <&power RK3576_PD_PHP>; 3121b67262e1SXuhui Lin #iommu-cells = <0>; 3122b67262e1SXuhui Lin status = "disabled"; 3123b67262e1SXuhui Lin }; 3124b67262e1SXuhui Lin 3125b67262e1SXuhui Lin mmu2: iommu@2a2c0000 { 3126b67262e1SXuhui Lin compatible = "rockchip,iommu-v2"; 3127b67262e1SXuhui Lin reg = <0x0 0x2a2c0000 0x0 0x100>; 3128b67262e1SXuhui Lin interrupts = <GIC_SPI 259 IRQ_TYPE_LEVEL_HIGH>; 3129b67262e1SXuhui Lin interrupt-names = "mmu2"; 3130b67262e1SXuhui Lin clocks = <&cru ACLK_MMU2>, <&cru ACLK_SLV_MMU2>, <&cru PCLK_USB_ROOT>; 3131b67262e1SXuhui Lin clock-names = "aclk", "iface", "root"; 3132b67262e1SXuhui Lin power-domains = <&power RK3576_PD_USB>; 3133b67262e1SXuhui Lin #iommu-cells = <0>; 3134b67262e1SXuhui Lin status = "disabled"; 3135b67262e1SXuhui Lin }; 3136b67262e1SXuhui Lin 3137b67262e1SXuhui Lin ufs: ufs@2a2d0000 { 3138b67262e1SXuhui Lin compatible = "rockchip,rk3576-ufs"; 3139b67262e1SXuhui Lin reg = <0x0 0x2a2d0000 0 0x10000>, /* 0: HCI standard */ 3140b67262e1SXuhui Lin <0x0 0x2b040000 0 0x10000>, /* 1: Mphy */ 3141b67262e1SXuhui Lin <0x0 0x2601f000 0 0x1000>, /* 2: HCI Vendor specified */ 3142b67262e1SXuhui Lin <0x0 0x2603c000 0 0x1000>, /* 3: Mphy Vendor specified */ 3143b67262e1SXuhui Lin <0x0 0x2a2e0000 0 0x10000>; /* 4: HCI apb */ 3144b67262e1SXuhui Lin reg-names = "hci", "mphy", "hci_grf", "mphy_grf", "hci_apb"; 3145b67262e1SXuhui Lin clocks = <&cru ACLK_UFS_SYS>, <&cru PCLK_USB_ROOT>, <&cru PCLK_MPHY>, 3146b67262e1SXuhui Lin <&cru CLK_REF_UFS_CLKOUT>; 3147b67262e1SXuhui Lin clock-names = "core", "pclk", "pclk_mphy", 3148b67262e1SXuhui Lin "ref_out"; 3149b67262e1SXuhui Lin assigned-clocks = <&cru CLK_REF_OSC_MPHY>; 3150b67262e1SXuhui Lin assigned-clock-parents = <&cru CLK_REF_MPHY_26M>; 3151b67262e1SXuhui Lin interrupts = <GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH>; 3152b67262e1SXuhui Lin power-domains = <&power RK3576_PD_USB>; 3153b67262e1SXuhui Lin pinctrl-0 = <&ufs_rst &ufs_refclk>; 3154b67262e1SXuhui Lin pinctrl-names = "default"; 3155b9844a88SYifeng Zhao resets = <&cru SRST_A_UFS_BIU>, <&cru SRST_A_UFS_SYS>, <&cru SRST_A_UFS>, <&cru SRST_P_UFS_GRF>; 3156b9844a88SYifeng Zhao reset-names = "biu", "sys", "ufs", "grf"; 3157b67262e1SXuhui Lin status = "disabled"; 3158b67262e1SXuhui Lin }; 3159b67262e1SXuhui Lin 3160b67262e1SXuhui Lin sfc1: spi@2a300000 { 3161b67262e1SXuhui Lin compatible = "rockchip,sfc"; 3162b67262e1SXuhui Lin reg = <0x0 0x2a300000 0x0 0x4000>; 3163b67262e1SXuhui Lin interrupts = <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>; 3164b67262e1SXuhui Lin clocks = <&cru SCLK_FSPI1_X2>, <&cru HCLK_FSPI1>; 3165b67262e1SXuhui Lin clock-names = "clk_sfc", "hclk_sfc"; 3166b67262e1SXuhui Lin assigned-clocks = <&cru SCLK_FSPI1_X2>; 3167b67262e1SXuhui Lin assigned-clock-rates = <80000000>; 3168411dc86aSJon Lin rockchip,max-dll = <0xFF>; 3169b67262e1SXuhui Lin #address-cells = <1>; 3170b67262e1SXuhui Lin #size-cells = <0>; 3171b67262e1SXuhui Lin status = "disabled"; 3172b67262e1SXuhui Lin }; 3173b67262e1SXuhui Lin 3174b67262e1SXuhui Lin sdmmc: mmc@2a310000 { 3175b67262e1SXuhui Lin compatible = "rockchip,rk3576-dw-mshc", 3176b67262e1SXuhui Lin "rockchip,rk3288-dw-mshc"; 3177b67262e1SXuhui Lin reg = <0x0 0x2a310000 0x0 0x4000>; 3178b67262e1SXuhui Lin interrupts = <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>; 3179b67262e1SXuhui Lin max-frequency = <200000000>; 3180b67262e1SXuhui Lin clocks = <&cru HCLK_SDMMC0>, <&cru CCLK_SRC_SDMMC0>; 3181b67262e1SXuhui Lin clock-names = "biu", "ciu"; 3182b67262e1SXuhui Lin fifo-depth = <0x100>; 3183b67262e1SXuhui Lin resets = <&cru SRST_H_SDMMC0>; 3184b67262e1SXuhui Lin reset-names = "reset"; 3185b67262e1SXuhui Lin rockchip,use-v2-tuning; 3186b67262e1SXuhui Lin status = "disabled"; 3187b67262e1SXuhui Lin }; 3188b67262e1SXuhui Lin 3189b67262e1SXuhui Lin sdio: mmc@2a320000 { 3190b67262e1SXuhui Lin compatible = "rockchip,rk3576-dw-mshc", 3191b67262e1SXuhui Lin "rockchip,rk3288-dw-mshc"; 3192b67262e1SXuhui Lin reg = <0x0 0x2a320000 0x0 0x4000>; 3193b67262e1SXuhui Lin interrupts = <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>; 3194b67262e1SXuhui Lin max-frequency = <200000000>; 3195b67262e1SXuhui Lin clocks = <&cru HCLK_SDIO>, <&cru CCLK_SRC_SDIO>; 3196b67262e1SXuhui Lin clock-names = "biu", "ciu"; 3197b67262e1SXuhui Lin fifo-depth = <0x100>; 3198b67262e1SXuhui Lin pinctrl-names = "default"; 3199b67262e1SXuhui Lin pinctrl-0 = <&sdmmc1m0_clk &sdmmc1m0_cmd &sdmmc1m0_bus4>; 3200b67262e1SXuhui Lin resets = <&cru SRST_H_SDIO>; 3201b67262e1SXuhui Lin reset-names = "reset"; 3202b67262e1SXuhui Lin rockchip,use-v2-tuning; 3203b67262e1SXuhui Lin status = "disabled"; 3204b67262e1SXuhui Lin }; 3205b67262e1SXuhui Lin 3206b67262e1SXuhui Lin sdhci: mmc@2a330000 { 3207b67262e1SXuhui Lin compatible = "rockchip,rk3576-dwcmshc", "rockchip,rk3588-dwcmshc"; 3208b67262e1SXuhui Lin reg = <0x0 0x2a330000 0x0 0x10000>; 3209b67262e1SXuhui Lin interrupts = <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>; 3210b67262e1SXuhui Lin assigned-clocks = <&cru BCLK_EMMC>, <&cru TCLK_EMMC>, <&cru CCLK_SRC_EMMC>; 3211b67262e1SXuhui Lin assigned-clock-rates = <200000000>, <24000000>, <200000000>; 3212b67262e1SXuhui Lin clocks = <&cru CCLK_SRC_EMMC>, <&cru HCLK_EMMC>, 3213b67262e1SXuhui Lin <&cru ACLK_EMMC>, <&cru BCLK_EMMC>, 3214b67262e1SXuhui Lin <&cru TCLK_EMMC>; 3215b67262e1SXuhui Lin clock-names = "core", "bus", "axi", "block", "timer"; 3216b67262e1SXuhui Lin resets = <&cru SRST_C_EMMC>, <&cru SRST_H_EMMC>, 3217b67262e1SXuhui Lin <&cru SRST_A_EMMC>, <&cru SRST_B_EMMC>, 3218b67262e1SXuhui Lin <&cru SRST_T_EMMC>; 3219b67262e1SXuhui Lin reset-names = "core", "bus", "axi", "block", "timer"; 3220b67262e1SXuhui Lin max-frequency = <200000000>; 3221b67262e1SXuhui Lin status = "disabled"; 3222b67262e1SXuhui Lin }; 3223b67262e1SXuhui Lin 3224b67262e1SXuhui Lin sfc0: spi@2a340000 { 3225b67262e1SXuhui Lin compatible = "rockchip,sfc"; 3226b67262e1SXuhui Lin reg = <0x0 0x2a340000 0x0 0x4000>; 3227b67262e1SXuhui Lin interrupts = <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>; 3228b67262e1SXuhui Lin clocks = <&cru SCLK_FSPI_X2>, <&cru HCLK_FSPI>; 3229b67262e1SXuhui Lin clock-names = "clk_sfc", "hclk_sfc"; 3230b67262e1SXuhui Lin assigned-clocks = <&cru SCLK_FSPI_X2>; 3231b67262e1SXuhui Lin assigned-clock-rates = <80000000>; 3232411dc86aSJon Lin rockchip,max-dll = <0xFF>; 3233b67262e1SXuhui Lin #address-cells = <1>; 3234b67262e1SXuhui Lin #size-cells = <0>; 3235b67262e1SXuhui Lin status = "disabled"; 3236b67262e1SXuhui Lin }; 3237b67262e1SXuhui Lin 3238b67262e1SXuhui Lin crypto: crypto@2a400000 { 3239b67262e1SXuhui Lin compatible = "rockchip,crypto-v4"; 3240b67262e1SXuhui Lin reg = <0x0 0x2a400000 0x0 0x2000>; 3241b67262e1SXuhui Lin interrupts = <GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>; 3242b67262e1SXuhui Lin clocks = <&cru ACLK_CRYPTO_NS>, <&cru HCLK_CRYPTO_NS>, 3243b67262e1SXuhui Lin <&cru CLK_PKA_CRYPTO_NS>; 3244b67262e1SXuhui Lin clock-names = "aclk", "hclk", "pka"; 3245b67262e1SXuhui Lin assigned-clocks = <&cru ACLK_CRYPTO_NS>, <&cru CLK_PKA_CRYPTO_NS>; 3246b67262e1SXuhui Lin assigned-clock-rates = <300000000>, <300000000>; 3247b67262e1SXuhui Lin resets = <&cru SRST_H_CRYPTO_NS>; 3248b67262e1SXuhui Lin reset-names = "crypto-rst"; 3249b67262e1SXuhui Lin status = "disabled"; 3250b67262e1SXuhui Lin }; 3251b67262e1SXuhui Lin 3252b67262e1SXuhui Lin rng: rng@2a410000 { 3253b67262e1SXuhui Lin compatible = "rockchip,rkrng"; 3254b67262e1SXuhui Lin reg = <0x0 0x2a410000 0x0 0x200>; 3255b67262e1SXuhui Lin interrupts = <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>; 3256b67262e1SXuhui Lin clocks = <&cru HCLK_TRNG_NS>; 3257b67262e1SXuhui Lin clock-names = "hclk_trng"; 3258b67262e1SXuhui Lin resets = <&cru SRST_H_TRNG_NS>; 3259b67262e1SXuhui Lin reset-names = "reset"; 3260b67262e1SXuhui Lin status = "disabled"; 3261b67262e1SXuhui Lin }; 3262b67262e1SXuhui Lin 3263b67262e1SXuhui Lin otp: otp@2a580000 { 3264b67262e1SXuhui Lin compatible = "rockchip,rk3576-otp"; 3265b67262e1SXuhui Lin reg = <0x0 0x2a580000 0x0 0x400>; 3266b67262e1SXuhui Lin #address-cells = <1>; 3267b67262e1SXuhui Lin #size-cells = <1>; 3268b67262e1SXuhui Lin clocks = <&cru CLK_OTPC_NS>, <&cru PCLK_OTPC_NS>; 3269b67262e1SXuhui Lin clock-names = "otpc", "apb"; 3270b67262e1SXuhui Lin resets = <&cru SRST_OTPC_NS>, <&cru SRST_P_OTPC_NS>; 3271b67262e1SXuhui Lin reset-names = "otpc", "apb"; 3272b67262e1SXuhui Lin 3273b67262e1SXuhui Lin /* Data cells */ 3274b67262e1SXuhui Lin cpu_code: cpu-code@2 { 3275b67262e1SXuhui Lin reg = <0x02 0x2>; 3276b67262e1SXuhui Lin }; 3277b67262e1SXuhui Lin otp_cpu_version: cpu-version@5 { 3278b67262e1SXuhui Lin reg = <0x05 0x1>; 3279b67262e1SXuhui Lin bits = <3 3>; 3280b67262e1SXuhui Lin }; 3281b67262e1SXuhui Lin otp_id: id@a { 3282b67262e1SXuhui Lin reg = <0x0a 0x10>; 3283b67262e1SXuhui Lin }; 3284b67262e1SXuhui Lin cpub_leakage: cpub-leakage@1e { 3285b67262e1SXuhui Lin reg = <0x1e 0x1>; 3286b67262e1SXuhui Lin }; 3287b67262e1SXuhui Lin cpul_leakage: cpul-leakage@1f { 3288b67262e1SXuhui Lin reg = <0x1f 0x1>; 3289b67262e1SXuhui Lin }; 3290b67262e1SXuhui Lin npu_leakage: npu-leakage@20 { 3291b67262e1SXuhui Lin reg = <0x20 0x1>; 3292b67262e1SXuhui Lin }; 3293b67262e1SXuhui Lin gpu_leakage: gpu-leakage@21 { 3294b67262e1SXuhui Lin reg = <0x21 0x1>; 3295b67262e1SXuhui Lin }; 3296b67262e1SXuhui Lin log_leakage: log-leakage@22 { 3297b67262e1SXuhui Lin reg = <0x22 0x1>; 3298b67262e1SXuhui Lin }; 3299b67262e1SXuhui Lin }; 3300b67262e1SXuhui Lin 3301b67262e1SXuhui Lin sai0: sai@2a600000 { 3302b67262e1SXuhui Lin compatible = "rockchip,rk3576-sai", "rockchip,sai-v1"; 3303b67262e1SXuhui Lin reg = <0x0 0x2a600000 0x0 0x1000>; 3304b67262e1SXuhui Lin interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>; 3305b67262e1SXuhui Lin clocks = <&cru MCLK_SAI0_8CH>, <&cru HCLK_SAI0_8CH>; 3306b67262e1SXuhui Lin clock-names = "mclk", "hclk"; 3307b67262e1SXuhui Lin dmas = <&dmac0 0>, <&dmac0 1>; 3308b67262e1SXuhui Lin dma-names = "tx", "rx"; 3309b67262e1SXuhui Lin power-domains = <&power RK3576_PD_AUDIO>; 3310b67262e1SXuhui Lin resets = <&cru SRST_M_SAI0_8CH>, <&cru SRST_H_SAI0_8CH>; 3311b67262e1SXuhui Lin reset-names = "m", "h"; 3312b67262e1SXuhui Lin pinctrl-names = "default"; 3313b67262e1SXuhui Lin pinctrl-0 = <&sai0m0_lrck 3314b67262e1SXuhui Lin &sai0m0_sclk 3315b67262e1SXuhui Lin &sai0m0_sdi0 3316b67262e1SXuhui Lin &sai0m0_sdi1 3317b67262e1SXuhui Lin &sai0m0_sdi2 3318b67262e1SXuhui Lin &sai0m0_sdi3 3319b67262e1SXuhui Lin &sai0m0_sdo0 3320b67262e1SXuhui Lin &sai0m0_sdo1 3321b67262e1SXuhui Lin &sai0m0_sdo2 3322b67262e1SXuhui Lin &sai0m0_sdo3>; 3323b67262e1SXuhui Lin #sound-dai-cells = <0>; 3324b67262e1SXuhui Lin sound-name-prefix = "SAI0"; 3325b67262e1SXuhui Lin status = "disabled"; 3326b67262e1SXuhui Lin }; 3327b67262e1SXuhui Lin 3328b67262e1SXuhui Lin sai1: sai@2a610000 { 3329b67262e1SXuhui Lin compatible = "rockchip,rk3576-sai", "rockchip,sai-v1"; 3330b67262e1SXuhui Lin reg = <0x0 0x2a610000 0x0 0x1000>; 3331b67262e1SXuhui Lin interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>; 3332b67262e1SXuhui Lin clocks = <&cru MCLK_SAI1_8CH>, <&cru HCLK_SAI1_8CH>; 3333b67262e1SXuhui Lin clock-names = "mclk", "hclk"; 3334b67262e1SXuhui Lin dmas = <&dmac0 2>, <&dmac0 3>; 3335b67262e1SXuhui Lin dma-names = "tx", "rx"; 3336b67262e1SXuhui Lin power-domains = <&power RK3576_PD_AUDIO>; 3337b67262e1SXuhui Lin resets = <&cru SRST_M_SAI1_8CH>, <&cru SRST_H_SAI1_8CH>; 3338b67262e1SXuhui Lin reset-names = "m", "h"; 3339b67262e1SXuhui Lin pinctrl-names = "default"; 3340b67262e1SXuhui Lin pinctrl-0 = <&sai1m0_lrck 3341b67262e1SXuhui Lin &sai1m0_sclk 3342b67262e1SXuhui Lin &sai1m0_sdi0 3343b67262e1SXuhui Lin &sai1m0_sdo0 3344b67262e1SXuhui Lin &sai1m0_sdo1 3345b67262e1SXuhui Lin &sai1m0_sdo2 3346b67262e1SXuhui Lin &sai1m0_sdo3>; 3347b67262e1SXuhui Lin #sound-dai-cells = <0>; 3348b67262e1SXuhui Lin sound-name-prefix = "SAI1"; 3349b67262e1SXuhui Lin status = "disabled"; 3350b67262e1SXuhui Lin }; 3351b67262e1SXuhui Lin 3352b67262e1SXuhui Lin sai2: sai@2a620000 { 3353b67262e1SXuhui Lin compatible = "rockchip,rk3576-sai", "rockchip,sai-v1"; 3354b67262e1SXuhui Lin reg = <0x0 0x2a620000 0x0 0x1000>; 3355b67262e1SXuhui Lin interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>; 3356b67262e1SXuhui Lin clocks = <&cru MCLK_SAI2_2CH>, <&cru HCLK_SAI2_2CH>; 3357b67262e1SXuhui Lin clock-names = "mclk", "hclk"; 3358b67262e1SXuhui Lin dmas = <&dmac1 0>, <&dmac1 1>; 3359b67262e1SXuhui Lin dma-names = "tx", "rx"; 3360b67262e1SXuhui Lin power-domains = <&power RK3576_PD_AUDIO>; 3361b67262e1SXuhui Lin resets = <&cru SRST_M_SAI2_2CH>, <&cru SRST_H_SAI2_2CH>; 3362b67262e1SXuhui Lin reset-names = "m", "h"; 3363b67262e1SXuhui Lin pinctrl-names = "default"; 3364b67262e1SXuhui Lin pinctrl-0 = <&sai2m0_lrck 3365b67262e1SXuhui Lin &sai2m0_sclk 3366b67262e1SXuhui Lin &sai2m0_sdi 3367b67262e1SXuhui Lin &sai2m0_sdo>; 3368b67262e1SXuhui Lin #sound-dai-cells = <0>; 3369b67262e1SXuhui Lin sound-name-prefix = "SAI2"; 3370b67262e1SXuhui Lin status = "disabled"; 3371b67262e1SXuhui Lin }; 3372b67262e1SXuhui Lin 3373b67262e1SXuhui Lin sai3: sai@2a630000 { 3374b67262e1SXuhui Lin compatible = "rockchip,rk3576-sai", "rockchip,sai-v1"; 3375b67262e1SXuhui Lin reg = <0x0 0x2a630000 0x0 0x1000>; 3376b67262e1SXuhui Lin interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>; 3377b67262e1SXuhui Lin clocks = <&cru MCLK_SAI3_2CH>, <&cru HCLK_SAI3_2CH>; 3378b67262e1SXuhui Lin clock-names = "mclk", "hclk"; 3379b67262e1SXuhui Lin dmas = <&dmac1 2>, <&dmac1 3>; 3380b67262e1SXuhui Lin dma-names = "tx", "rx"; 3381b67262e1SXuhui Lin power-domains = <&power RK3576_PD_AUDIO>; 3382b67262e1SXuhui Lin resets = <&cru SRST_M_SAI3_2CH>, <&cru SRST_H_SAI3_2CH>; 3383b67262e1SXuhui Lin reset-names = "m", "h"; 3384b67262e1SXuhui Lin pinctrl-names = "default"; 3385b67262e1SXuhui Lin pinctrl-0 = <&sai3m0_lrck 3386b67262e1SXuhui Lin &sai3m0_sclk 3387b67262e1SXuhui Lin &sai3m0_sdi 3388b67262e1SXuhui Lin &sai3m0_sdo>; 3389b67262e1SXuhui Lin #sound-dai-cells = <0>; 3390b67262e1SXuhui Lin sound-name-prefix = "SAI3"; 3391b67262e1SXuhui Lin status = "disabled"; 3392b67262e1SXuhui Lin }; 3393b67262e1SXuhui Lin 3394b67262e1SXuhui Lin sai4: sai@2a640000 { 3395b67262e1SXuhui Lin compatible = "rockchip,rk3576-sai", "rockchip,sai-v1"; 3396b67262e1SXuhui Lin reg = <0x0 0x2a640000 0x0 0x1000>; 3397b67262e1SXuhui Lin interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>; 3398b67262e1SXuhui Lin clocks = <&cru MCLK_SAI4_2CH>, <&cru HCLK_SAI4_2CH>; 3399b67262e1SXuhui Lin clock-names = "mclk", "hclk"; 3400b67262e1SXuhui Lin dmas = <&dmac2 0>, <&dmac2 1>; 3401b67262e1SXuhui Lin dma-names = "tx", "rx"; 3402b67262e1SXuhui Lin power-domains = <&power RK3576_PD_AUDIO>; 3403b67262e1SXuhui Lin resets = <&cru SRST_M_SAI4_2CH>, <&cru SRST_H_SAI4_2CH>; 3404b67262e1SXuhui Lin reset-names = "m", "h"; 3405b67262e1SXuhui Lin pinctrl-names = "default"; 3406b67262e1SXuhui Lin pinctrl-0 = <&sai4m0_lrck 3407b67262e1SXuhui Lin &sai4m0_sclk 3408b67262e1SXuhui Lin &sai4m0_sdi 3409b67262e1SXuhui Lin &sai4m0_sdo>; 3410b67262e1SXuhui Lin #sound-dai-cells = <0>; 3411b67262e1SXuhui Lin sound-name-prefix = "SAI4"; 3412b67262e1SXuhui Lin status = "disabled"; 3413b67262e1SXuhui Lin }; 3414b67262e1SXuhui Lin 3415b67262e1SXuhui Lin spdif_rx0: spdif-rx@2a650000 { 3416b67262e1SXuhui Lin compatible = "rockchip,rk3576-spdifrx", "rockchip,rk3308-spdifrx"; 3417b67262e1SXuhui Lin reg = <0x0 0x2a650000 0x0 0x1000>; 3418b67262e1SXuhui Lin interrupts = <GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>; 3419b67262e1SXuhui Lin clocks = <&cru MCLK_SPDIF_RX0>, <&cru HCLK_SPDIF_RX0>; 3420b67262e1SXuhui Lin clock-names = "mclk", "hclk"; 3421b67262e1SXuhui Lin dmas = <&dmac1 8>; 3422b67262e1SXuhui Lin dma-names = "rx"; 3423b67262e1SXuhui Lin power-domains = <&power RK3576_PD_AUDIO>; 3424b67262e1SXuhui Lin resets = <&cru SRST_M_SPDIF_RX0>; 3425b67262e1SXuhui Lin reset-names = "spdifrx-m"; 3426b67262e1SXuhui Lin pinctrl-names = "default"; 3427b67262e1SXuhui Lin pinctrl-0 = <&spdifm0_rx0>; 3428b67262e1SXuhui Lin status = "disabled"; 3429b67262e1SXuhui Lin }; 3430b67262e1SXuhui Lin 3431b67262e1SXuhui Lin spdif_rx1: spdif-rx@2a660000 { 3432b67262e1SXuhui Lin compatible = "rockchip,rk3576-spdifrx", "rockchip,rk3308-spdifrx"; 3433b67262e1SXuhui Lin reg = <0x0 0x2a660000 0x0 0x1000>; 3434b67262e1SXuhui Lin interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>; 3435b67262e1SXuhui Lin clocks = <&cru MCLK_SPDIF_RX1>, <&cru HCLK_SPDIF_RX1>; 3436b67262e1SXuhui Lin clock-names = "mclk", "hclk"; 3437b67262e1SXuhui Lin dmas = <&dmac2 16>; 3438b67262e1SXuhui Lin dma-names = "rx"; 3439b67262e1SXuhui Lin power-domains = <&power RK3576_PD_AUDIO>; 3440b67262e1SXuhui Lin resets = <&cru SRST_M_SPDIF_RX1>; 3441b67262e1SXuhui Lin reset-names = "spdifrx-m"; 3442b67262e1SXuhui Lin pinctrl-names = "default"; 3443b67262e1SXuhui Lin pinctrl-0 = <&spdifm0_rx1>; 3444b67262e1SXuhui Lin status = "disabled"; 3445b67262e1SXuhui Lin }; 3446b67262e1SXuhui Lin 3447b67262e1SXuhui Lin spdif_tx0: spdif-tx@2a670000 { 3448b67262e1SXuhui Lin compatible = "rockchip,rk3576-spdif", "rockchip,rk3568-spdif"; 3449b67262e1SXuhui Lin reg = <0x0 0x2a670000 0x0 0x1000>; 3450b67262e1SXuhui Lin interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>; 3451b67262e1SXuhui Lin clocks = <&cru MCLK_SPDIF_TX0>, <&cru HCLK_SPDIF_TX0>; 3452b67262e1SXuhui Lin clock-names = "mclk", "hclk"; 3453b67262e1SXuhui Lin dmas = <&dmac0 5>; 3454b67262e1SXuhui Lin dma-names = "tx"; 3455b67262e1SXuhui Lin power-domains = <&power RK3576_PD_AUDIO>; 3456b67262e1SXuhui Lin pinctrl-names = "default"; 3457b67262e1SXuhui Lin pinctrl-0 = <&spdifm0_tx0>; 3458b67262e1SXuhui Lin #sound-dai-cells = <0>; 3459b67262e1SXuhui Lin status = "disabled"; 3460b67262e1SXuhui Lin }; 3461b67262e1SXuhui Lin 3462b67262e1SXuhui Lin spdif_tx1: spdif-tx@2a680000 { 3463b67262e1SXuhui Lin compatible = "rockchip,rk3576-spdif", "rockchip,rk3568-spdif"; 3464b67262e1SXuhui Lin reg = <0x0 0x2a680000 0x0 0x1000>; 3465b67262e1SXuhui Lin interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>; 3466b67262e1SXuhui Lin clocks = <&cru MCLK_SPDIF_TX1>, <&cru HCLK_SPDIF_TX1>; 3467b67262e1SXuhui Lin clock-names = "mclk", "hclk"; 3468b67262e1SXuhui Lin dmas = <&dmac1 5>; 3469b67262e1SXuhui Lin dma-names = "tx"; 3470b67262e1SXuhui Lin power-domains = <&power RK3576_PD_AUDIO>; 3471b67262e1SXuhui Lin pinctrl-names = "default"; 3472b67262e1SXuhui Lin pinctrl-0 = <&spdifm0_tx1>; 3473b67262e1SXuhui Lin #sound-dai-cells = <0>; 3474b67262e1SXuhui Lin status = "disabled"; 3475b67262e1SXuhui Lin }; 3476b67262e1SXuhui Lin 3477b67262e1SXuhui Lin acdcdig_dsm: acdcdig-dsm@2a6d0000 { 3478b67262e1SXuhui Lin compatible = "rockchip,rk3576-dsm"; 3479b67262e1SXuhui Lin reg = <0x0 0x2a6d0000 0x0 0x1000>; 3480b67262e1SXuhui Lin clocks = <&cru MCLK_ACDCDIG_DSM>, <&cru HCLK_ACDCDIG_DSM>; 3481b67262e1SXuhui Lin clock-names = "dac", "pclk"; 3482b67262e1SXuhui Lin resets = <&cru SRST_M_ACDCDIG_DSM>; 3483b67262e1SXuhui Lin reset-names = "reset" ; 3484b67262e1SXuhui Lin rockchip,grf = <&sys_grf>; 3485b67262e1SXuhui Lin power-domains = <&power RK3576_PD_AUDIO>; 3486b67262e1SXuhui Lin pinctrl-names = "default"; 3487b67262e1SXuhui Lin pinctrl-0 = <&dsm_audm0_ln 3488b67262e1SXuhui Lin &dsm_audm0_lp 3489b67262e1SXuhui Lin &dsm_audm0_rn 3490b67262e1SXuhui Lin &dsm_audm0_rp>; 3491b67262e1SXuhui Lin #sound-dai-cells = <0>; 3492b67262e1SXuhui Lin status = "disabled"; 3493b67262e1SXuhui Lin }; 3494b67262e1SXuhui Lin 3495b67262e1SXuhui Lin pdm1: pdm@2a6e0000 { 3496b67262e1SXuhui Lin compatible = "rockchip,rk3576-pdm"; 3497b67262e1SXuhui Lin reg = <0x0 0x2a6e0000 0x0 0x1000>; 3498b67262e1SXuhui Lin interrupts = <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH>; 3499b67262e1SXuhui Lin clocks = <&cru MCLK_PDM1>, <&cru HCLK_PDM1>, <&cru CLK_PDM1_OUT>; 3500b67262e1SXuhui Lin clock-names = "pdm_clk", "pdm_hclk", "pdm_clk_out"; 3501b67262e1SXuhui Lin assigned-clocks = <&cru MCLK_PDM1>; 3502b67262e1SXuhui Lin assigned-clock-parents = <&cru PLL_AUPLL>; 3503b67262e1SXuhui Lin dmas = <&dmac1 4>; 3504b67262e1SXuhui Lin dma-names = "rx"; 3505b67262e1SXuhui Lin pinctrl-names = "default"; 3506b67262e1SXuhui Lin pinctrl-0 = <&pdm1m0_clk0 3507b67262e1SXuhui Lin &pdm1m0_clk1 3508b67262e1SXuhui Lin &pdm1m0_sdi0 3509b67262e1SXuhui Lin &pdm1m0_sdi1 3510b67262e1SXuhui Lin &pdm1m0_sdi2 3511b67262e1SXuhui Lin &pdm1m0_sdi3>; 3512b67262e1SXuhui Lin power-domains = <&power RK3576_PD_AUDIO>; 3513b67262e1SXuhui Lin #sound-dai-cells = <0>; 3514b67262e1SXuhui Lin sound-name-prefix = "PDM1"; 3515b67262e1SXuhui Lin status = "disabled"; 3516b67262e1SXuhui Lin }; 3517b67262e1SXuhui Lin 3518b67262e1SXuhui Lin gic: interrupt-controller@2a701000 { 3519b67262e1SXuhui Lin compatible = "arm,gic-400"; 3520b67262e1SXuhui Lin #interrupt-cells = <3>; 3521b67262e1SXuhui Lin #address-cells = <2>; 3522b67262e1SXuhui Lin #size-cells = <2>; 3523b67262e1SXuhui Lin ranges; 3524b67262e1SXuhui Lin interrupt-controller; 3525b67262e1SXuhui Lin 3526b67262e1SXuhui Lin reg = <0x0 0x2a701000 0 0x10000>, 3527b67262e1SXuhui Lin <0x0 0x2a702000 0 0x10000>, 3528b67262e1SXuhui Lin <0x0 0x2a704000 0 0x10000>, 3529b67262e1SXuhui Lin <0x0 0x2a706000 0 0x10000>; 3530b67262e1SXuhui Lin interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>; 3531b67262e1SXuhui Lin }; 3532b67262e1SXuhui Lin 3533b67262e1SXuhui Lin hwlock: hwspinlock@2ab00000 { 3534b67262e1SXuhui Lin compatible = "rockchip,hwspinlock"; 3535b67262e1SXuhui Lin reg = <0x0 0x2ab00000 0x0 0x100>; 3536b67262e1SXuhui Lin #hwlock-cells = <1>; 3537b67262e1SXuhui Lin status = "disabled"; 3538b67262e1SXuhui Lin }; 3539b67262e1SXuhui Lin 3540b67262e1SXuhui Lin dmac0: dma-controller@2ab90000 { 3541b67262e1SXuhui Lin compatible = "arm,pl330", "arm,primecell"; 3542b67262e1SXuhui Lin reg = <0x0 0x2ab90000 0x0 0x4000>; 3543b67262e1SXuhui Lin interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>, 3544b67262e1SXuhui Lin <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 3545b67262e1SXuhui Lin clocks = <&cru ACLK_DMAC0>; 3546b67262e1SXuhui Lin clock-names = "apb_pclk"; 3547b67262e1SXuhui Lin #dma-cells = <1>; 3548b67262e1SXuhui Lin arm,pl330-periph-burst; 3549b67262e1SXuhui Lin }; 3550b67262e1SXuhui Lin 3551b67262e1SXuhui Lin dmac1: dma-controller@2abb0000 { 3552b67262e1SXuhui Lin compatible = "arm,pl330", "arm,primecell"; 3553b67262e1SXuhui Lin reg = <0x0 0x2abb0000 0x0 0x4000>; 3554b67262e1SXuhui Lin interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>, 3555b67262e1SXuhui Lin <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 3556b67262e1SXuhui Lin clocks = <&cru ACLK_DMAC1>; 3557b67262e1SXuhui Lin clock-names = "apb_pclk"; 3558b67262e1SXuhui Lin #dma-cells = <1>; 3559b67262e1SXuhui Lin arm,pl330-periph-burst; 3560b67262e1SXuhui Lin }; 3561b67262e1SXuhui Lin 3562b67262e1SXuhui Lin dmac2: dma-controller@2abd0000 { 3563b67262e1SXuhui Lin compatible = "arm,pl330", "arm,primecell"; 3564b67262e1SXuhui Lin reg = <0x0 0x2abd0000 0x0 0x4000>; 3565b67262e1SXuhui Lin interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>, 3566b67262e1SXuhui Lin <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 3567b67262e1SXuhui Lin clocks = <&cru ACLK_DMAC2>; 3568b67262e1SXuhui Lin clock-names = "apb_pclk"; 3569b67262e1SXuhui Lin #dma-cells = <1>; 3570b67262e1SXuhui Lin arm,pl330-periph-burst; 3571b67262e1SXuhui Lin }; 3572b67262e1SXuhui Lin 3573b67262e1SXuhui Lin i3c0: i3c-master@2abe0000 { 3574b67262e1SXuhui Lin compatible = "rockchip,i3c-master"; 3575b67262e1SXuhui Lin reg = <0x0 0x2abe0000 0x0 0x1000>; 3576b67262e1SXuhui Lin interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; 3577b67262e1SXuhui Lin #address-cells = <3>; 3578b67262e1SXuhui Lin #size-cells = <0>; 3579b67262e1SXuhui Lin clocks = <&cru HCLK_I3C0>, <&cru CLK_I3C0>; 3580b67262e1SXuhui Lin clock-names = "hclk", "i3c"; 3581b67262e1SXuhui Lin dmas = <&dmac0 22>, <&dmac0 23>; 3582b67262e1SXuhui Lin dma-names = "rx", "tx"; 3583b67262e1SXuhui Lin pinctrl-names = "default"; 3584b67262e1SXuhui Lin pinctrl-0 = <&i3c0m0_xfer &i3c0_sdam0_pu>; 3585b67262e1SXuhui Lin status = "disabled"; 3586b67262e1SXuhui Lin }; 3587b67262e1SXuhui Lin 3588b67262e1SXuhui Lin i3c1: i3c-master@2abf0000 { 3589b67262e1SXuhui Lin compatible = "rockchip,i3c-master"; 3590b67262e1SXuhui Lin reg = <0x0 0x2abf0000 0x0 0x1000>; 3591b67262e1SXuhui Lin interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; 3592b67262e1SXuhui Lin #address-cells = <3>; 3593b67262e1SXuhui Lin #size-cells = <0>; 3594b67262e1SXuhui Lin clocks = <&cru HCLK_I3C1>, <&cru CLK_I3C1>; 3595b67262e1SXuhui Lin clock-names = "hclk", "i3c"; 3596b67262e1SXuhui Lin dmas = <&dmac1 22>, <&dmac1 23>; 3597b67262e1SXuhui Lin dma-names = "rx", "tx"; 3598b67262e1SXuhui Lin pinctrl-names = "default"; 3599b67262e1SXuhui Lin pinctrl-0 = <&i3c1m0_xfer &i3c1_sdam0_pu>; 3600b67262e1SXuhui Lin status = "disabled"; 3601b67262e1SXuhui Lin }; 3602b67262e1SXuhui Lin 3603b67262e1SXuhui Lin can0: can@2ac00000 { 3604b67262e1SXuhui Lin compatible = "rockchip,rk3576-canfd"; 3605b67262e1SXuhui Lin reg = <0x0 0x2ac00000 0x0 0x1000>; 3606b67262e1SXuhui Lin interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>; 3607b67262e1SXuhui Lin clocks = <&cru CLK_CAN0>, <&cru HCLK_CAN0>; 3608b67262e1SXuhui Lin clock-names = "baudclk", "apb_pclk"; 3609b67262e1SXuhui Lin resets = <&cru SRST_CAN0>, <&cru SRST_H_CAN0>; 3610b67262e1SXuhui Lin reset-names = "can", "can-apb"; 3611b67262e1SXuhui Lin dmas = <&dmac0 20>; 3612b67262e1SXuhui Lin dma-names = "rx"; 3613b67262e1SXuhui Lin status = "disabled"; 3614b67262e1SXuhui Lin }; 3615b67262e1SXuhui Lin 3616b67262e1SXuhui Lin can1: can@2ac10000 { 3617b67262e1SXuhui Lin compatible = "rockchip,rk3576-canfd"; 3618b67262e1SXuhui Lin reg = <0x0 0x2ac10000 0x0 0x1000>; 3619b67262e1SXuhui Lin interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>; 3620b67262e1SXuhui Lin clocks = <&cru CLK_CAN1>, <&cru HCLK_CAN1>; 3621b67262e1SXuhui Lin clock-names = "baudclk", "apb_pclk"; 3622b67262e1SXuhui Lin resets = <&cru SRST_CAN1>, <&cru SRST_H_CAN1>; 3623b67262e1SXuhui Lin reset-names = "can", "can-apb"; 3624b67262e1SXuhui Lin dmas = <&dmac1 21>; 3625b67262e1SXuhui Lin dma-names = "rx"; 3626b67262e1SXuhui Lin status = "disabled"; 3627b67262e1SXuhui Lin }; 3628b67262e1SXuhui Lin 3629b67262e1SXuhui Lin hw_decompress: decompress@2ac30000 { 3630b67262e1SXuhui Lin compatible = "rockchip,hw-decompress"; 3631b67262e1SXuhui Lin reg = <0x0 0x2ac30000 0x0 0x1000>; 3632b67262e1SXuhui Lin interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 3633b67262e1SXuhui Lin clocks = <&cru ACLK_DECOM>, <&cru DCLK_DECOM>, <&cru PCLK_DECOM>; 3634b67262e1SXuhui Lin clock-names = "aclk", "dclk", "pclk"; 3635b67262e1SXuhui Lin resets = <&cru SRST_D_DECOM>; 3636b67262e1SXuhui Lin reset-names = "dresetn"; 3637b67262e1SXuhui Lin status = "disabled"; 3638b67262e1SXuhui Lin }; 3639b67262e1SXuhui Lin 3640b67262e1SXuhui Lin i2c1: i2c@2ac40000 { 3641b67262e1SXuhui Lin compatible = "rockchip,rk3576-i2c", "rockchip,rk3399-i2c"; 3642b67262e1SXuhui Lin reg = <0x0 0x2ac40000 0x0 0x1000>; 3643b67262e1SXuhui Lin clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>; 3644b67262e1SXuhui Lin clock-names = "i2c", "pclk"; 3645b67262e1SXuhui Lin interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>; 3646b67262e1SXuhui Lin pinctrl-names = "default"; 3647b67262e1SXuhui Lin pinctrl-0 = <&i2c1m0_xfer>; 3648b67262e1SXuhui Lin resets = <&cru SRST_I2C1>, <&cru SRST_P_I2C1>; 3649b67262e1SXuhui Lin reset-names = "i2c", "apb"; 3650b67262e1SXuhui Lin #address-cells = <1>; 3651b67262e1SXuhui Lin #size-cells = <0>; 3652b67262e1SXuhui Lin status = "disabled"; 3653b67262e1SXuhui Lin }; 3654b67262e1SXuhui Lin 3655b67262e1SXuhui Lin i2c2: i2c@2ac50000 { 3656b67262e1SXuhui Lin compatible = "rockchip,rk3576-i2c", "rockchip,rk3399-i2c"; 3657b67262e1SXuhui Lin reg = <0x0 0x2ac50000 0x0 0x1000>; 3658b67262e1SXuhui Lin clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>; 3659b67262e1SXuhui Lin clock-names = "i2c", "pclk"; 3660b67262e1SXuhui Lin interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>; 3661b67262e1SXuhui Lin pinctrl-names = "default"; 3662b67262e1SXuhui Lin pinctrl-0 = <&i2c2m0_xfer>; 3663b67262e1SXuhui Lin resets = <&cru SRST_I2C2>, <&cru SRST_P_I2C2>; 3664b67262e1SXuhui Lin reset-names = "i2c", "apb"; 3665b67262e1SXuhui Lin #address-cells = <1>; 3666b67262e1SXuhui Lin #size-cells = <0>; 3667b67262e1SXuhui Lin status = "disabled"; 3668b67262e1SXuhui Lin }; 3669b67262e1SXuhui Lin 3670b67262e1SXuhui Lin i2c3: i2c@2ac60000 { 3671b67262e1SXuhui Lin compatible = "rockchip,rk3576-i2c", "rockchip,rk3399-i2c"; 3672b67262e1SXuhui Lin reg = <0x0 0x2ac60000 0x0 0x1000>; 3673b67262e1SXuhui Lin clocks = <&cru CLK_I2C3>, <&cru PCLK_I2C3>; 3674b67262e1SXuhui Lin clock-names = "i2c", "pclk"; 3675b67262e1SXuhui Lin interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; 3676b67262e1SXuhui Lin pinctrl-names = "default"; 3677b67262e1SXuhui Lin pinctrl-0 = <&i2c3m0_xfer>; 3678b67262e1SXuhui Lin resets = <&cru SRST_I2C3>, <&cru SRST_P_I2C3>; 3679b67262e1SXuhui Lin reset-names = "i2c", "apb"; 3680b67262e1SXuhui Lin #address-cells = <1>; 3681b67262e1SXuhui Lin #size-cells = <0>; 3682b67262e1SXuhui Lin status = "disabled"; 3683b67262e1SXuhui Lin }; 3684b67262e1SXuhui Lin 3685b67262e1SXuhui Lin i2c4: i2c@2ac70000 { 3686b67262e1SXuhui Lin compatible = "rockchip,rk3576-i2c", "rockchip,rk3399-i2c"; 3687b67262e1SXuhui Lin reg = <0x0 0x2ac70000 0x0 0x1000>; 3688b67262e1SXuhui Lin clocks = <&cru CLK_I2C4>, <&cru PCLK_I2C4>; 3689b67262e1SXuhui Lin clock-names = "i2c", "pclk"; 3690b67262e1SXuhui Lin interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>; 3691b67262e1SXuhui Lin pinctrl-names = "default"; 3692b67262e1SXuhui Lin pinctrl-0 = <&i2c4m0_xfer>; 3693b67262e1SXuhui Lin resets = <&cru SRST_I2C4>, <&cru SRST_P_I2C4>; 3694b67262e1SXuhui Lin reset-names = "i2c", "apb"; 3695b67262e1SXuhui Lin #address-cells = <1>; 3696b67262e1SXuhui Lin #size-cells = <0>; 3697b67262e1SXuhui Lin status = "disabled"; 3698b67262e1SXuhui Lin }; 3699b67262e1SXuhui Lin 3700b67262e1SXuhui Lin i2c5: i2c@2ac80000 { 3701b67262e1SXuhui Lin compatible = "rockchip,rk3576-i2c", "rockchip,rk3399-i2c"; 3702b67262e1SXuhui Lin reg = <0x0 0x2ac80000 0x0 0x1000>; 3703b67262e1SXuhui Lin clocks = <&cru CLK_I2C5>, <&cru PCLK_I2C5>; 3704b67262e1SXuhui Lin clock-names = "i2c", "pclk"; 3705b67262e1SXuhui Lin interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; 3706b67262e1SXuhui Lin pinctrl-names = "default"; 3707b67262e1SXuhui Lin pinctrl-0 = <&i2c5m0_xfer>; 3708b67262e1SXuhui Lin resets = <&cru SRST_I2C5>, <&cru SRST_P_I2C5>; 3709b67262e1SXuhui Lin reset-names = "i2c", "apb"; 3710b67262e1SXuhui Lin #address-cells = <1>; 3711b67262e1SXuhui Lin #size-cells = <0>; 3712b67262e1SXuhui Lin status = "disabled"; 3713b67262e1SXuhui Lin }; 3714b67262e1SXuhui Lin 3715b67262e1SXuhui Lin 3716b67262e1SXuhui Lin i2c6: i2c@2ac90000 { 3717b67262e1SXuhui Lin compatible = "rockchip,rk3576-i2c", "rockchip,rk3399-i2c"; 3718b67262e1SXuhui Lin reg = <0x0 0x2ac90000 0x0 0x1000>; 3719b67262e1SXuhui Lin clocks = <&cru CLK_I2C6>, <&cru PCLK_I2C6>; 3720b67262e1SXuhui Lin clock-names = "i2c", "pclk"; 3721b67262e1SXuhui Lin interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; 3722b67262e1SXuhui Lin pinctrl-names = "default"; 3723b67262e1SXuhui Lin pinctrl-0 = <&i2c6m0_xfer>; 3724b67262e1SXuhui Lin resets = <&cru SRST_I2C6>, <&cru SRST_P_I2C6>; 3725b67262e1SXuhui Lin reset-names = "i2c", "apb"; 3726b67262e1SXuhui Lin #address-cells = <1>; 3727b67262e1SXuhui Lin #size-cells = <0>; 3728b67262e1SXuhui Lin status = "disabled"; 3729b67262e1SXuhui Lin }; 3730b67262e1SXuhui Lin 3731b67262e1SXuhui Lin i2c7: i2c@2aca0000 { 3732b67262e1SXuhui Lin compatible = "rockchip,rk3576-i2c", "rockchip,rk3399-i2c"; 3733b67262e1SXuhui Lin reg = <0x0 0x2aca0000 0x0 0x1000>; 3734b67262e1SXuhui Lin clocks = <&cru CLK_I2C7>, <&cru PCLK_I2C7>; 3735b67262e1SXuhui Lin clock-names = "i2c", "pclk"; 3736b67262e1SXuhui Lin interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 3737b67262e1SXuhui Lin pinctrl-names = "default"; 3738b67262e1SXuhui Lin pinctrl-0 = <&i2c7m0_xfer>; 3739b67262e1SXuhui Lin resets = <&cru SRST_I2C7>, <&cru SRST_P_I2C7>; 3740b67262e1SXuhui Lin reset-names = "i2c", "apb"; 3741b67262e1SXuhui Lin #address-cells = <1>; 3742b67262e1SXuhui Lin #size-cells = <0>; 3743b67262e1SXuhui Lin status = "disabled"; 3744b67262e1SXuhui Lin }; 3745b67262e1SXuhui Lin 3746b67262e1SXuhui Lin i2c8: i2c@2acb0000 { 3747b67262e1SXuhui Lin compatible = "rockchip,rk3576-i2c", "rockchip,rk3399-i2c"; 3748b67262e1SXuhui Lin reg = <0x0 0x2acb0000 0x0 0x1000>; 3749b67262e1SXuhui Lin clocks = <&cru CLK_I2C8>, <&cru PCLK_I2C8>; 3750b67262e1SXuhui Lin clock-names = "i2c", "pclk"; 3751b67262e1SXuhui Lin interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 3752b67262e1SXuhui Lin pinctrl-names = "default"; 3753b67262e1SXuhui Lin pinctrl-0 = <&i2c8m0_xfer>; 3754b67262e1SXuhui Lin resets = <&cru SRST_I2C8>, <&cru SRST_P_I2C8>; 3755b67262e1SXuhui Lin reset-names = "i2c", "apb"; 3756b67262e1SXuhui Lin #address-cells = <1>; 3757b67262e1SXuhui Lin #size-cells = <0>; 3758b67262e1SXuhui Lin status = "disabled"; 3759b67262e1SXuhui Lin }; 3760b67262e1SXuhui Lin 3761b67262e1SXuhui Lin rktimer: timer@2acc0000 { 3762b67262e1SXuhui Lin compatible = "rockchip,rk3576-timer", "rockchip,rk3288-timer"; 3763b67262e1SXuhui Lin reg = <0x0 0x2acc0000 0x0 0x20>; 3764b67262e1SXuhui Lin interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 3765b67262e1SXuhui Lin clocks = <&cru PCLK_BUSTIMER0>, <&cru CLK_TIMER0>; 3766b67262e1SXuhui Lin clock-names = "pclk", "timer"; 3767b67262e1SXuhui Lin }; 3768b67262e1SXuhui Lin 3769b67262e1SXuhui Lin wdt: watchdog@2ace0000 { 3770b67262e1SXuhui Lin compatible = "snps,dw-wdt"; 3771b67262e1SXuhui Lin reg = <0x0 0x2ace0000 0x0 0x100>; 3772b67262e1SXuhui Lin clocks = <&cru TCLK_WDT0>, <&cru PCLK_WDT0>; 3773b67262e1SXuhui Lin clock-names = "tclk", "pclk"; 3774b67262e1SXuhui Lin interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 3775b67262e1SXuhui Lin status = "disabled"; 3776b67262e1SXuhui Lin }; 3777b67262e1SXuhui Lin 3778b67262e1SXuhui Lin spi0: spi@2acf0000 { 3779b67262e1SXuhui Lin compatible = "rockchip,rk3066-spi"; 3780b67262e1SXuhui Lin reg = <0x0 0x2acf0000 0x0 0x1000>; 3781b67262e1SXuhui Lin interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>; 3782b67262e1SXuhui Lin #address-cells = <1>; 3783b67262e1SXuhui Lin #size-cells = <0>; 3784b67262e1SXuhui Lin clocks = <&cru CLK_SPI0>, <&cru PCLK_SPI0>; 3785b67262e1SXuhui Lin clock-names = "spiclk", "apb_pclk"; 3786b67262e1SXuhui Lin dmas = <&dmac0 14>, <&dmac0 15>; 3787b67262e1SXuhui Lin dma-names = "tx", "rx"; 3788b67262e1SXuhui Lin pinctrl-names = "default"; 3789b67262e1SXuhui Lin pinctrl-0 = <&spi0m0_csn0 &spi0m0_csn1 &spi0m0_pins>; 3790b67262e1SXuhui Lin num-cs = <2>; 3791b67262e1SXuhui Lin status = "disabled"; 3792b67262e1SXuhui Lin }; 3793b67262e1SXuhui Lin 3794b67262e1SXuhui Lin spi1: spi@2ad00000 { 3795b67262e1SXuhui Lin compatible = "rockchip,rk3066-spi"; 3796b67262e1SXuhui Lin reg = <0x0 0x2ad00000 0x0 0x1000>; 3797b67262e1SXuhui Lin interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>; 3798b67262e1SXuhui Lin #address-cells = <1>; 3799b67262e1SXuhui Lin #size-cells = <0>; 3800b67262e1SXuhui Lin clocks = <&cru CLK_SPI1>, <&cru PCLK_SPI1>; 3801b67262e1SXuhui Lin clock-names = "spiclk", "apb_pclk"; 3802b67262e1SXuhui Lin dmas = <&dmac0 16>, <&dmac0 17>; 3803b67262e1SXuhui Lin dma-names = "tx", "rx"; 3804b67262e1SXuhui Lin pinctrl-names = "default"; 3805b67262e1SXuhui Lin pinctrl-0 = <&spi1m0_csn0 &spi1m0_csn1 &spi1m0_pins>; 3806b67262e1SXuhui Lin num-cs = <2>; 3807b67262e1SXuhui Lin status = "disabled"; 3808b67262e1SXuhui Lin }; 3809b67262e1SXuhui Lin 3810b67262e1SXuhui Lin spi2: spi@2ad10000 { 3811b67262e1SXuhui Lin compatible = "rockchip,rk3066-spi"; 3812b67262e1SXuhui Lin reg = <0x0 0x2ad10000 0x0 0x1000>; 3813b67262e1SXuhui Lin interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>; 3814b67262e1SXuhui Lin #address-cells = <1>; 3815b67262e1SXuhui Lin #size-cells = <0>; 3816b67262e1SXuhui Lin clocks = <&cru CLK_SPI2>, <&cru PCLK_SPI2>; 3817b67262e1SXuhui Lin clock-names = "spiclk", "apb_pclk"; 3818b67262e1SXuhui Lin dmas = <&dmac1 15>, <&dmac1 16>; 3819b67262e1SXuhui Lin dma-names = "tx", "rx"; 3820b67262e1SXuhui Lin pinctrl-names = "default"; 3821b67262e1SXuhui Lin pinctrl-0 = <&spi2m0_csn0 &spi2m0_csn1 &spi2m0_pins>; 3822b67262e1SXuhui Lin num-cs = <2>; 3823b67262e1SXuhui Lin status = "disabled"; 3824b67262e1SXuhui Lin }; 3825b67262e1SXuhui Lin 3826b67262e1SXuhui Lin spi3: spi@2ad20000 { 3827b67262e1SXuhui Lin compatible = "rockchip,rk3066-spi"; 3828b67262e1SXuhui Lin reg = <0x0 0x2ad20000 0x0 0x1000>; 3829b67262e1SXuhui Lin interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; 3830b67262e1SXuhui Lin #address-cells = <1>; 3831b67262e1SXuhui Lin #size-cells = <0>; 3832b67262e1SXuhui Lin clocks = <&cru CLK_SPI3>, <&cru PCLK_SPI3>; 3833b67262e1SXuhui Lin clock-names = "spiclk", "apb_pclk"; 3834b67262e1SXuhui Lin dmas = <&dmac1 17>, <&dmac1 18>; 3835b67262e1SXuhui Lin dma-names = "tx", "rx"; 3836b67262e1SXuhui Lin pinctrl-names = "default"; 3837b67262e1SXuhui Lin pinctrl-0 = <&spi3m0_csn0 &spi3m0_csn1 &spi3m0_pins>; 3838b67262e1SXuhui Lin num-cs = <2>; 3839b67262e1SXuhui Lin status = "disabled"; 3840b67262e1SXuhui Lin }; 3841b67262e1SXuhui Lin 3842b67262e1SXuhui Lin spi4: spi@2ad30000 { 3843b67262e1SXuhui Lin compatible = "rockchip,rk3066-spi"; 3844b67262e1SXuhui Lin reg = <0x0 0x2ad30000 0x0 0x1000>; 3845b67262e1SXuhui Lin interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>; 3846b67262e1SXuhui Lin #address-cells = <1>; 3847b67262e1SXuhui Lin #size-cells = <0>; 3848b67262e1SXuhui Lin clocks = <&cru CLK_SPI4>, <&cru PCLK_SPI4>; 3849b67262e1SXuhui Lin clock-names = "spiclk", "apb_pclk"; 3850b67262e1SXuhui Lin dmas = <&dmac2 12>, <&dmac2 13>; 3851b67262e1SXuhui Lin dma-names = "tx", "rx"; 3852b67262e1SXuhui Lin pinctrl-names = "default"; 3853b67262e1SXuhui Lin pinctrl-0 = <&spi4m0_csn0 &spi4m0_csn1 &spi4m0_pins>; 3854b67262e1SXuhui Lin num-cs = <2>; 3855b67262e1SXuhui Lin status = "disabled"; 3856b67262e1SXuhui Lin }; 3857b67262e1SXuhui Lin 3858b67262e1SXuhui Lin uart0: serial@2ad40000 { 3859b67262e1SXuhui Lin compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart"; 3860b67262e1SXuhui Lin reg = <0x0 0x2ad40000 0x0 0x100>; 3861b67262e1SXuhui Lin interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; 3862b67262e1SXuhui Lin clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; 3863b67262e1SXuhui Lin clock-names = "baudclk", "apb_pclk"; 3864b67262e1SXuhui Lin reg-shift = <2>; 3865b67262e1SXuhui Lin reg-io-width = <4>; 3866b67262e1SXuhui Lin dmas = <&dmac0 6>, <&dmac0 7>; 3867b67262e1SXuhui Lin pinctrl-names = "default"; 3868b67262e1SXuhui Lin pinctrl-0 = <&uart0m0_xfer>; 3869b67262e1SXuhui Lin status = "disabled"; 3870b67262e1SXuhui Lin }; 3871b67262e1SXuhui Lin 3872b67262e1SXuhui Lin uart2: serial@2ad50000 { 3873b67262e1SXuhui Lin compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart"; 3874b67262e1SXuhui Lin reg = <0x0 0x2ad50000 0x0 0x100>; 3875b67262e1SXuhui Lin interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; 3876b67262e1SXuhui Lin clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; 3877b67262e1SXuhui Lin clock-names = "baudclk", "apb_pclk"; 3878b67262e1SXuhui Lin reg-shift = <2>; 3879b67262e1SXuhui Lin reg-io-width = <4>; 3880b67262e1SXuhui Lin dmas = <&dmac0 10>, <&dmac0 11>; 3881b67262e1SXuhui Lin pinctrl-names = "default"; 3882b67262e1SXuhui Lin pinctrl-0 = <&uart2m0_xfer>; 3883b67262e1SXuhui Lin status = "disabled"; 3884b67262e1SXuhui Lin }; 3885b67262e1SXuhui Lin 3886b67262e1SXuhui Lin uart3: serial@2ad60000 { 3887b67262e1SXuhui Lin compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart"; 3888b67262e1SXuhui Lin reg = <0x0 0x2ad60000 0x0 0x100>; 3889b67262e1SXuhui Lin interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; 3890b67262e1SXuhui Lin clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>; 3891b67262e1SXuhui Lin clock-names = "baudclk", "apb_pclk"; 3892b67262e1SXuhui Lin reg-shift = <2>; 3893b67262e1SXuhui Lin reg-io-width = <4>; 3894b67262e1SXuhui Lin dmas = <&dmac0 12>, <&dmac0 13>; 3895b67262e1SXuhui Lin pinctrl-names = "default"; 3896b67262e1SXuhui Lin pinctrl-0 = <&uart3m0_xfer>; 3897b67262e1SXuhui Lin status = "disabled"; 3898b67262e1SXuhui Lin }; 3899b67262e1SXuhui Lin 3900b67262e1SXuhui Lin uart4: serial@2ad70000 { 3901b67262e1SXuhui Lin compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart"; 3902b67262e1SXuhui Lin reg = <0x0 0x2ad70000 0x0 0x100>; 3903b67262e1SXuhui Lin interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 3904b67262e1SXuhui Lin clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>; 3905b67262e1SXuhui Lin clock-names = "baudclk", "apb_pclk"; 3906b67262e1SXuhui Lin reg-shift = <2>; 3907b67262e1SXuhui Lin reg-io-width = <4>; 3908b67262e1SXuhui Lin dmas = <&dmac1 9>, <&dmac1 10>; 3909b67262e1SXuhui Lin pinctrl-names = "default"; 3910b67262e1SXuhui Lin pinctrl-0 = <&uart4m0_xfer>; 3911b67262e1SXuhui Lin status = "disabled"; 3912b67262e1SXuhui Lin }; 3913b67262e1SXuhui Lin 3914b67262e1SXuhui Lin uart5: serial@2ad80000 { 3915b67262e1SXuhui Lin compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart"; 3916b67262e1SXuhui Lin reg = <0x0 0x2ad80000 0x0 0x100>; 3917b67262e1SXuhui Lin interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>; 3918b67262e1SXuhui Lin clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>; 3919b67262e1SXuhui Lin clock-names = "baudclk", "apb_pclk"; 3920b67262e1SXuhui Lin reg-shift = <2>; 3921b67262e1SXuhui Lin reg-io-width = <4>; 3922b67262e1SXuhui Lin dmas = <&dmac1 11>, <&dmac1 12>; 3923b67262e1SXuhui Lin pinctrl-names = "default"; 3924b67262e1SXuhui Lin pinctrl-0 = <&uart5m0_xfer>; 3925b67262e1SXuhui Lin status = "disabled"; 3926b67262e1SXuhui Lin }; 3927b67262e1SXuhui Lin 3928b67262e1SXuhui Lin uart6: serial@2ad90000 { 3929b67262e1SXuhui Lin compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart"; 3930b67262e1SXuhui Lin reg = <0x0 0x2ad90000 0x0 0x100>; 3931b67262e1SXuhui Lin interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; 3932b67262e1SXuhui Lin clocks = <&cru SCLK_UART6>, <&cru PCLK_UART6>; 3933b67262e1SXuhui Lin clock-names = "baudclk", "apb_pclk"; 3934b67262e1SXuhui Lin reg-shift = <2>; 3935b67262e1SXuhui Lin reg-io-width = <4>; 3936b67262e1SXuhui Lin dmas = <&dmac1 13>, <&dmac1 14>; 3937b67262e1SXuhui Lin pinctrl-names = "default"; 3938b67262e1SXuhui Lin pinctrl-0 = <&uart6m0_xfer>; 3939b67262e1SXuhui Lin status = "disabled"; 3940b67262e1SXuhui Lin }; 3941b67262e1SXuhui Lin 3942b67262e1SXuhui Lin uart7: serial@2ada0000 { 3943b67262e1SXuhui Lin compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart"; 3944b67262e1SXuhui Lin reg = <0x0 0x2ada0000 0x0 0x100>; 3945b67262e1SXuhui Lin interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>; 3946b67262e1SXuhui Lin clocks = <&cru SCLK_UART7>, <&cru PCLK_UART7>; 3947b67262e1SXuhui Lin clock-names = "baudclk", "apb_pclk"; 3948b67262e1SXuhui Lin reg-shift = <2>; 3949b67262e1SXuhui Lin reg-io-width = <4>; 3950b67262e1SXuhui Lin dmas = <&dmac2 6>, <&dmac2 7>; 3951b67262e1SXuhui Lin pinctrl-names = "default"; 3952b67262e1SXuhui Lin pinctrl-0 = <&uart7m0_xfer>; 3953b67262e1SXuhui Lin status = "disabled"; 3954b67262e1SXuhui Lin }; 3955b67262e1SXuhui Lin 3956b67262e1SXuhui Lin uart8: serial@2adb0000 { 3957b67262e1SXuhui Lin compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart"; 3958b67262e1SXuhui Lin reg = <0x0 0x2adb0000 0x0 0x100>; 3959b67262e1SXuhui Lin interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 3960b67262e1SXuhui Lin clocks = <&cru SCLK_UART8>, <&cru PCLK_UART8>; 3961b67262e1SXuhui Lin clock-names = "baudclk", "apb_pclk"; 3962b67262e1SXuhui Lin reg-shift = <2>; 3963b67262e1SXuhui Lin reg-io-width = <4>; 3964b67262e1SXuhui Lin dmas = <&dmac2 8>, <&dmac2 9>; 3965b67262e1SXuhui Lin pinctrl-names = "default"; 3966b67262e1SXuhui Lin pinctrl-0 = <&uart8m0_xfer>; 3967b67262e1SXuhui Lin status = "disabled"; 3968b67262e1SXuhui Lin }; 3969b67262e1SXuhui Lin 3970b67262e1SXuhui Lin uart9: serial@2adc0000 { 3971b67262e1SXuhui Lin compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart"; 3972b67262e1SXuhui Lin reg = <0x0 0x2adc0000 0x0 0x100>; 3973b67262e1SXuhui Lin interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>; 3974b67262e1SXuhui Lin clocks = <&cru SCLK_UART9>, <&cru PCLK_UART9>; 3975b67262e1SXuhui Lin clock-names = "baudclk", "apb_pclk"; 3976b67262e1SXuhui Lin reg-shift = <2>; 3977b67262e1SXuhui Lin reg-io-width = <4>; 3978b67262e1SXuhui Lin dmas = <&dmac2 10>, <&dmac2 11>; 3979b67262e1SXuhui Lin pinctrl-names = "default"; 3980b67262e1SXuhui Lin pinctrl-0 = <&uart9m0_xfer>; 3981b67262e1SXuhui Lin status = "disabled"; 3982b67262e1SXuhui Lin }; 3983b67262e1SXuhui Lin 3984b67262e1SXuhui Lin pwm1_6ch_0: pwm@2add0000 { 3985b67262e1SXuhui Lin compatible = "rockchip,rk3576-pwm"; 3986b67262e1SXuhui Lin reg = <0x0 0x2add0000 0x0 0x1000>; 3987b67262e1SXuhui Lin interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>; 3988b67262e1SXuhui Lin #pwm-cells = <3>; 3989b67262e1SXuhui Lin pinctrl-names = "active"; 3990b67262e1SXuhui Lin pinctrl-0 = <&pwm1m0_ch0>; 3991b67262e1SXuhui Lin clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 3992b67262e1SXuhui Lin clock-names = "pwm", "pclk"; 3993b67262e1SXuhui Lin status = "disabled"; 3994b67262e1SXuhui Lin }; 3995b67262e1SXuhui Lin 3996b67262e1SXuhui Lin pwm1_6ch_1: pwm@2add1000 { 3997b67262e1SXuhui Lin compatible = "rockchip,rk3576-pwm"; 3998b67262e1SXuhui Lin reg = <0x0 0x2add1000 0x0 0x1000>; 3999b67262e1SXuhui Lin interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; 4000b67262e1SXuhui Lin #pwm-cells = <3>; 4001b67262e1SXuhui Lin pinctrl-names = "active"; 4002b67262e1SXuhui Lin pinctrl-0 = <&pwm1m0_ch1>; 4003b67262e1SXuhui Lin clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 4004b67262e1SXuhui Lin clock-names = "pwm", "pclk"; 4005b67262e1SXuhui Lin status = "disabled"; 4006b67262e1SXuhui Lin }; 4007b67262e1SXuhui Lin 4008b67262e1SXuhui Lin pwm1_6ch_2: pwm@2add2000 { 4009b67262e1SXuhui Lin compatible = "rockchip,rk3576-pwm"; 4010b67262e1SXuhui Lin reg = <0x0 0x2add2000 0x0 0x1000>; 4011b67262e1SXuhui Lin interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>; 4012b67262e1SXuhui Lin #pwm-cells = <3>; 4013b67262e1SXuhui Lin pinctrl-names = "active"; 4014b67262e1SXuhui Lin pinctrl-0 = <&pwm1m0_ch2>; 4015b67262e1SXuhui Lin clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 4016b67262e1SXuhui Lin clock-names = "pwm", "pclk"; 4017b67262e1SXuhui Lin status = "disabled"; 4018b67262e1SXuhui Lin }; 4019b67262e1SXuhui Lin 4020b67262e1SXuhui Lin pwm1_6ch_3: pwm@2add3000 { 4021b67262e1SXuhui Lin compatible = "rockchip,rk3576-pwm"; 4022b67262e1SXuhui Lin reg = <0x0 0x2add3000 0x0 0x1000>; 4023b67262e1SXuhui Lin interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 4024b67262e1SXuhui Lin #pwm-cells = <3>; 4025b67262e1SXuhui Lin pinctrl-names = "active"; 4026b67262e1SXuhui Lin pinctrl-0 = <&pwm1m0_ch3>; 4027b67262e1SXuhui Lin clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 4028b67262e1SXuhui Lin clock-names = "pwm", "pclk"; 4029b67262e1SXuhui Lin status = "disabled"; 4030b67262e1SXuhui Lin }; 4031b67262e1SXuhui Lin 4032b67262e1SXuhui Lin pwm1_6ch_4: pwm@2add4000 { 4033b67262e1SXuhui Lin compatible = "rockchip,rk3576-pwm"; 4034b67262e1SXuhui Lin reg = <0x0 0x2add4000 0x0 0x1000>; 4035b67262e1SXuhui Lin interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>; 4036b67262e1SXuhui Lin #pwm-cells = <3>; 4037b67262e1SXuhui Lin pinctrl-names = "active"; 4038b67262e1SXuhui Lin pinctrl-0 = <&pwm1m0_ch4>; 4039b67262e1SXuhui Lin clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 4040b67262e1SXuhui Lin clock-names = "pwm", "pclk"; 4041b67262e1SXuhui Lin status = "disabled"; 4042b67262e1SXuhui Lin }; 4043b67262e1SXuhui Lin 4044b67262e1SXuhui Lin pwm1_6ch_5: pwm@2add5000 { 4045b67262e1SXuhui Lin compatible = "rockchip,rk3576-pwm"; 4046b67262e1SXuhui Lin reg = <0x0 0x2add5000 0x0 0x1000>; 4047b67262e1SXuhui Lin interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>; 4048b67262e1SXuhui Lin #pwm-cells = <3>; 4049b67262e1SXuhui Lin pinctrl-names = "active"; 4050b67262e1SXuhui Lin pinctrl-0 = <&pwm1m0_ch5>; 4051b67262e1SXuhui Lin clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>; 4052b67262e1SXuhui Lin clock-names = "pwm", "pclk"; 4053b67262e1SXuhui Lin status = "disabled"; 4054b67262e1SXuhui Lin }; 4055b67262e1SXuhui Lin 4056b67262e1SXuhui Lin pwm2_8ch_0: pwm@2ade0000 { 4057b67262e1SXuhui Lin compatible = "rockchip,rk3576-pwm"; 4058b67262e1SXuhui Lin reg = <0x0 0x2ade0000 0x0 0x1000>; 4059b67262e1SXuhui Lin interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 4060b67262e1SXuhui Lin #pwm-cells = <3>; 4061b67262e1SXuhui Lin pinctrl-names = "active"; 4062b67262e1SXuhui Lin pinctrl-0 = <&pwm2m0_ch0>; 4063b67262e1SXuhui Lin clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 4064b67262e1SXuhui Lin clock-names = "pwm", "pclk"; 4065b67262e1SXuhui Lin status = "disabled"; 4066b67262e1SXuhui Lin }; 4067b67262e1SXuhui Lin 4068b67262e1SXuhui Lin pwm2_8ch_1: pwm@2ade1000 { 4069b67262e1SXuhui Lin compatible = "rockchip,rk3576-pwm"; 4070b67262e1SXuhui Lin reg = <0x0 0x2ade1000 0x0 0x1000>; 4071b67262e1SXuhui Lin interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; 4072b67262e1SXuhui Lin #pwm-cells = <3>; 4073b67262e1SXuhui Lin pinctrl-names = "active"; 4074b67262e1SXuhui Lin pinctrl-0 = <&pwm2m0_ch1>; 4075b67262e1SXuhui Lin clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 4076b67262e1SXuhui Lin clock-names = "pwm", "pclk"; 4077b67262e1SXuhui Lin status = "disabled"; 4078b67262e1SXuhui Lin }; 4079b67262e1SXuhui Lin 4080b67262e1SXuhui Lin pwm2_8ch_2: pwm@2ade2000 { 4081b67262e1SXuhui Lin compatible = "rockchip,rk3576-pwm"; 4082b67262e1SXuhui Lin reg = <0x0 0x2ade2000 0x0 0x1000>; 4083b67262e1SXuhui Lin interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; 4084b67262e1SXuhui Lin #pwm-cells = <3>; 4085b67262e1SXuhui Lin pinctrl-names = "active"; 4086b67262e1SXuhui Lin pinctrl-0 = <&pwm2m0_ch2>; 4087b67262e1SXuhui Lin clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 4088b67262e1SXuhui Lin clock-names = "pwm", "pclk"; 4089b67262e1SXuhui Lin status = "disabled"; 4090b67262e1SXuhui Lin }; 4091b67262e1SXuhui Lin 4092b67262e1SXuhui Lin pwm2_8ch_3: pwm@2ade3000 { 4093b67262e1SXuhui Lin compatible = "rockchip,rk3576-pwm"; 4094b67262e1SXuhui Lin reg = <0x0 0x2ade3000 0x0 0x1000>; 4095b67262e1SXuhui Lin interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; 4096b67262e1SXuhui Lin #pwm-cells = <3>; 4097b67262e1SXuhui Lin pinctrl-names = "active"; 4098b67262e1SXuhui Lin pinctrl-0 = <&pwm2m0_ch3>; 4099b67262e1SXuhui Lin clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 4100b67262e1SXuhui Lin clock-names = "pwm", "pclk"; 4101b67262e1SXuhui Lin status = "disabled"; 4102b67262e1SXuhui Lin }; 4103b67262e1SXuhui Lin 4104b67262e1SXuhui Lin pwm2_8ch_4: pwm@2ade4000 { 4105b67262e1SXuhui Lin compatible = "rockchip,rk3576-pwm"; 4106b67262e1SXuhui Lin reg = <0x0 0x2ade4000 0x0 0x1000>; 4107b67262e1SXuhui Lin interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>; 4108b67262e1SXuhui Lin #pwm-cells = <3>; 4109b67262e1SXuhui Lin pinctrl-names = "active"; 4110b67262e1SXuhui Lin pinctrl-0 = <&pwm2m0_ch4>; 4111b67262e1SXuhui Lin clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 4112b67262e1SXuhui Lin clock-names = "pwm", "pclk"; 4113b67262e1SXuhui Lin status = "disabled"; 4114b67262e1SXuhui Lin }; 4115b67262e1SXuhui Lin 4116b67262e1SXuhui Lin pwm2_8ch_5: pwm@2ade5000 { 4117b67262e1SXuhui Lin compatible = "rockchip,rk3576-pwm"; 4118b67262e1SXuhui Lin reg = <0x0 0x2ade5000 0x0 0x1000>; 4119b67262e1SXuhui Lin interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>; 4120b67262e1SXuhui Lin #pwm-cells = <3>; 4121b67262e1SXuhui Lin pinctrl-names = "active"; 4122b67262e1SXuhui Lin pinctrl-0 = <&pwm2m0_ch5>; 4123b67262e1SXuhui Lin clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 4124b67262e1SXuhui Lin clock-names = "pwm", "pclk"; 4125b67262e1SXuhui Lin status = "disabled"; 4126b67262e1SXuhui Lin }; 4127b67262e1SXuhui Lin 4128b67262e1SXuhui Lin pwm2_8ch_6: pwm@2ade6000 { 4129b67262e1SXuhui Lin compatible = "rockchip,rk3576-pwm"; 4130b67262e1SXuhui Lin reg = <0x0 0x2ade6000 0x0 0x1000>; 4131b67262e1SXuhui Lin interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>; 4132b67262e1SXuhui Lin #pwm-cells = <3>; 4133b67262e1SXuhui Lin pinctrl-names = "active"; 4134b67262e1SXuhui Lin pinctrl-0 = <&pwm2m0_ch6>; 4135b67262e1SXuhui Lin clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 4136b67262e1SXuhui Lin clock-names = "pwm", "pclk"; 4137b67262e1SXuhui Lin status = "disabled"; 4138b67262e1SXuhui Lin }; 4139b67262e1SXuhui Lin 4140b67262e1SXuhui Lin pwm2_8ch_7: pwm@2ade7000 { 4141b67262e1SXuhui Lin compatible = "rockchip,rk3576-pwm"; 4142b67262e1SXuhui Lin reg = <0x0 0x2ade7000 0x0 0x1000>; 4143b67262e1SXuhui Lin interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>; 4144b67262e1SXuhui Lin #pwm-cells = <3>; 4145b67262e1SXuhui Lin pinctrl-names = "active"; 4146b67262e1SXuhui Lin pinctrl-0 = <&pwm2m0_ch7>; 4147b67262e1SXuhui Lin clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 4148b67262e1SXuhui Lin clock-names = "pwm", "pclk"; 4149b67262e1SXuhui Lin status = "disabled"; 4150b67262e1SXuhui Lin }; 4151b67262e1SXuhui Lin 4152b67262e1SXuhui Lin saradc: adc@2ae00000 { 4153b67262e1SXuhui Lin compatible = "rockchip,rk3576-saradc", "rockchip,rk3588-saradc"; 4154b67262e1SXuhui Lin reg = <0x0 0x2ae00000 0x0 0x10000>; 4155b67262e1SXuhui Lin interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>; 4156b67262e1SXuhui Lin #io-channel-cells = <1>; 4157b67262e1SXuhui Lin clocks = <&cru CLK_SARADC>, <&cru PCLK_SARADC>; 4158b67262e1SXuhui Lin clock-names = "saradc", "apb_pclk"; 4159b67262e1SXuhui Lin resets = <&cru SRST_P_SARADC>; 4160b67262e1SXuhui Lin reset-names = "saradc-apb"; 4161b67262e1SXuhui Lin status = "disabled"; 4162b67262e1SXuhui Lin }; 4163b67262e1SXuhui Lin 4164b67262e1SXuhui Lin mailbox0: mailbox@2ae50000 { 4165b67262e1SXuhui Lin compatible = "rockchip,rk3576-mailbox"; 4166b67262e1SXuhui Lin reg = <0x0 0x2ae50000 0x0 0x20>; 4167b67262e1SXuhui Lin interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>; 4168b67262e1SXuhui Lin clocks = <&cru PCLK_MAILBOX0>; 4169b67262e1SXuhui Lin clock-names = "pclk_mailbox"; 4170b67262e1SXuhui Lin #mbox-cells = <1>; 4171b67262e1SXuhui Lin status = "disabled"; 4172b67262e1SXuhui Lin }; 4173b67262e1SXuhui Lin 4174b67262e1SXuhui Lin mailbox1: mailbox@2ae51000 { 4175b67262e1SXuhui Lin compatible = "rockchip,rk3576-mailbox"; 4176b67262e1SXuhui Lin reg = <0x0 0x2ae51000 0x0 0x20>; 4177b67262e1SXuhui Lin interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>; 4178b67262e1SXuhui Lin clocks = <&cru PCLK_MAILBOX0>; 4179b67262e1SXuhui Lin clock-names = "pclk_mailbox"; 4180b67262e1SXuhui Lin #mbox-cells = <1>; 4181b67262e1SXuhui Lin status = "disabled"; 4182b67262e1SXuhui Lin }; 4183b67262e1SXuhui Lin 4184b67262e1SXuhui Lin mailbox2: mailbox@2ae52000 { 4185b67262e1SXuhui Lin compatible = "rockchip,rk3576-mailbox"; 4186b67262e1SXuhui Lin reg = <0x0 0x2ae52000 0x0 0x20>; 4187b67262e1SXuhui Lin interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>; 4188b67262e1SXuhui Lin clocks = <&cru PCLK_MAILBOX0>; 4189b67262e1SXuhui Lin clock-names = "pclk_mailbox"; 4190b67262e1SXuhui Lin #mbox-cells = <1>; 4191b67262e1SXuhui Lin status = "disabled"; 4192b67262e1SXuhui Lin }; 4193b67262e1SXuhui Lin 4194b67262e1SXuhui Lin mailbox3: mailbox@2ae53000 { 4195b67262e1SXuhui Lin compatible = "rockchip,rk3576-mailbox"; 4196b67262e1SXuhui Lin reg = <0x0 0x2ae53000 0x0 0x20>; 4197b67262e1SXuhui Lin interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>; 4198b67262e1SXuhui Lin clocks = <&cru PCLK_MAILBOX0>; 4199b67262e1SXuhui Lin clock-names = "pclk_mailbox"; 4200b67262e1SXuhui Lin #mbox-cells = <1>; 4201b67262e1SXuhui Lin status = "disabled"; 4202b67262e1SXuhui Lin }; 4203b67262e1SXuhui Lin 4204b67262e1SXuhui Lin mailbox4: mailbox@2ae54000 { 4205b67262e1SXuhui Lin compatible = "rockchip,rk3576-mailbox"; 4206b67262e1SXuhui Lin reg = <0x0 0x2ae54000 0x0 0x20>; 4207b67262e1SXuhui Lin interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>; 4208b67262e1SXuhui Lin clocks = <&cru PCLK_MAILBOX0>; 4209b67262e1SXuhui Lin clock-names = "pclk_mailbox"; 4210b67262e1SXuhui Lin #mbox-cells = <1>; 4211b67262e1SXuhui Lin status = "disabled"; 4212b67262e1SXuhui Lin }; 4213b67262e1SXuhui Lin 4214b67262e1SXuhui Lin mailbox5: mailbox@2ae55000 { 4215b67262e1SXuhui Lin compatible = "rockchip,rk3576-mailbox"; 4216b67262e1SXuhui Lin reg = <0x0 0x2ae55000 0x0 0x20>; 4217b67262e1SXuhui Lin interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>; 4218b67262e1SXuhui Lin clocks = <&cru PCLK_MAILBOX0>; 4219b67262e1SXuhui Lin clock-names = "pclk_mailbox"; 4220b67262e1SXuhui Lin #mbox-cells = <1>; 4221b67262e1SXuhui Lin status = "disabled"; 4222b67262e1SXuhui Lin }; 4223b67262e1SXuhui Lin 4224b67262e1SXuhui Lin mailbox6: mailbox@2ae56000 { 4225b67262e1SXuhui Lin compatible = "rockchip,rk3576-mailbox"; 4226b67262e1SXuhui Lin reg = <0x0 0x2ae56000 0x0 0x20>; 4227b67262e1SXuhui Lin interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>; 4228b67262e1SXuhui Lin clocks = <&cru PCLK_MAILBOX0>; 4229b67262e1SXuhui Lin clock-names = "pclk_mailbox"; 4230b67262e1SXuhui Lin #mbox-cells = <1>; 4231b67262e1SXuhui Lin status = "disabled"; 4232b67262e1SXuhui Lin }; 4233b67262e1SXuhui Lin 4234b67262e1SXuhui Lin mailbox7: mailbox@2ae57000 { 4235b67262e1SXuhui Lin compatible = "rockchip,rk3576-mailbox"; 4236b67262e1SXuhui Lin reg = <0x0 0x2ae57000 0x0 0x20>; 4237b67262e1SXuhui Lin interrupts = <GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>; 4238b67262e1SXuhui Lin clocks = <&cru PCLK_MAILBOX0>; 4239b67262e1SXuhui Lin clock-names = "pclk_mailbox"; 4240b67262e1SXuhui Lin #mbox-cells = <1>; 4241b67262e1SXuhui Lin status = "disabled"; 4242b67262e1SXuhui Lin }; 4243b67262e1SXuhui Lin 4244b67262e1SXuhui Lin mailbox8: mailbox@2ae58000 { 4245b67262e1SXuhui Lin compatible = "rockchip,rk3576-mailbox"; 4246b67262e1SXuhui Lin reg = <0x0 0x2ae58000 0x0 0x20>; 4247b67262e1SXuhui Lin interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>; 4248b67262e1SXuhui Lin clocks = <&cru PCLK_MAILBOX0>; 4249b67262e1SXuhui Lin clock-names = "pclk_mailbox"; 4250b67262e1SXuhui Lin #mbox-cells = <1>; 4251b67262e1SXuhui Lin status = "disabled"; 4252b67262e1SXuhui Lin }; 4253b67262e1SXuhui Lin 4254b67262e1SXuhui Lin mailbox9: mailbox@2ae59000 { 4255b67262e1SXuhui Lin compatible = "rockchip,rk3576-mailbox"; 4256b67262e1SXuhui Lin reg = <0x0 0x2ae59000 0x0 0x20>; 4257b67262e1SXuhui Lin interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>; 4258b67262e1SXuhui Lin clocks = <&cru PCLK_MAILBOX0>; 4259b67262e1SXuhui Lin clock-names = "pclk_mailbox"; 4260b67262e1SXuhui Lin #mbox-cells = <1>; 4261b67262e1SXuhui Lin status = "disabled"; 4262b67262e1SXuhui Lin }; 4263b67262e1SXuhui Lin 4264b67262e1SXuhui Lin mailbox10: mailbox@2ae5a000 { 4265b67262e1SXuhui Lin compatible = "rockchip,rk3576-mailbox"; 4266b67262e1SXuhui Lin reg = <0x0 0x2ae5a000 0x0 0x20>; 4267b67262e1SXuhui Lin interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>; 4268b67262e1SXuhui Lin clocks = <&cru PCLK_MAILBOX0>; 4269b67262e1SXuhui Lin clock-names = "pclk_mailbox"; 4270b67262e1SXuhui Lin #mbox-cells = <1>; 4271b67262e1SXuhui Lin status = "disabled"; 4272b67262e1SXuhui Lin }; 4273b67262e1SXuhui Lin 4274b67262e1SXuhui Lin mailbox11: mailbox@2ae5b000 { 4275b67262e1SXuhui Lin compatible = "rockchip,rk3576-mailbox"; 4276b67262e1SXuhui Lin reg = <0x0 0x2ae5b000 0x0 0x20>; 4277b67262e1SXuhui Lin interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>; 4278b67262e1SXuhui Lin clocks = <&cru PCLK_MAILBOX0>; 4279b67262e1SXuhui Lin clock-names = "pclk_mailbox"; 4280b67262e1SXuhui Lin #mbox-cells = <1>; 4281b67262e1SXuhui Lin status = "disabled"; 4282b67262e1SXuhui Lin }; 4283b67262e1SXuhui Lin 4284b67262e1SXuhui Lin mailbox12: mailbox@2ae5c000 { 4285b67262e1SXuhui Lin compatible = "rockchip,rk3576-mailbox"; 4286b67262e1SXuhui Lin reg = <0x0 0x2ae5c000 0x0 0x20>; 4287b67262e1SXuhui Lin interrupts = <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>; 4288b67262e1SXuhui Lin clocks = <&cru PCLK_MAILBOX0>; 4289b67262e1SXuhui Lin clock-names = "pclk_mailbox"; 4290b67262e1SXuhui Lin #mbox-cells = <1>; 4291b67262e1SXuhui Lin status = "disabled"; 4292b67262e1SXuhui Lin }; 4293b67262e1SXuhui Lin 4294b67262e1SXuhui Lin mailbox13: mailbox@2ae5d000 { 4295b67262e1SXuhui Lin compatible = "rockchip,rk3576-mailbox"; 4296b67262e1SXuhui Lin reg = <0x0 0x2ae5d000 0x0 0x20>; 4297b67262e1SXuhui Lin interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>; 4298b67262e1SXuhui Lin clocks = <&cru PCLK_MAILBOX0>; 4299b67262e1SXuhui Lin clock-names = "pclk_mailbox"; 4300b67262e1SXuhui Lin #mbox-cells = <1>; 4301b67262e1SXuhui Lin status = "disabled"; 4302b67262e1SXuhui Lin }; 4303b67262e1SXuhui Lin 4304b67262e1SXuhui Lin tsadc: tsadc@2ae70000 { 4305b67262e1SXuhui Lin compatible = "rockchip,rk3576-tsadc"; 4306b67262e1SXuhui Lin reg = <0x0 0x2ae70000 0x0 0x400>; 4307b67262e1SXuhui Lin interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>; 4308b67262e1SXuhui Lin clocks = <&cru CLK_TSADC>, <&cru PCLK_TSADC>; 4309b67262e1SXuhui Lin clock-names = "tsadc", "apb_pclk"; 4310b67262e1SXuhui Lin assigned-clocks = <&cru CLK_TSADC>; 4311b67262e1SXuhui Lin assigned-clock-rates = <2000000>; 4312b67262e1SXuhui Lin resets = <&cru SRST_TSADC>, <&cru SRST_P_TSADC>; 4313b67262e1SXuhui Lin reset-names = "tsadc", "tsadc-apb"; 4314b67262e1SXuhui Lin #thermal-sensor-cells = <1>; 4315b67262e1SXuhui Lin rockchip,hw-tshut-temp = <120000>; 4316b67262e1SXuhui Lin rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */ 4317b67262e1SXuhui Lin rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */ 4318b67262e1SXuhui Lin status = "disabled"; 4319b67262e1SXuhui Lin }; 4320b67262e1SXuhui Lin 4321b67262e1SXuhui Lin i2c9: i2c@2ae80000 { 4322b67262e1SXuhui Lin compatible = "rockchip,rk3576-i2c", "rockchip,rk3399-i2c"; 4323b67262e1SXuhui Lin reg = <0x0 0x2ae80000 0x0 0x1000>; 4324b67262e1SXuhui Lin clocks = <&cru CLK_I2C9>, <&cru PCLK_I2C9>; 4325b67262e1SXuhui Lin clock-names = "i2c", "pclk"; 4326b67262e1SXuhui Lin interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>; 4327b67262e1SXuhui Lin pinctrl-names = "default"; 4328b67262e1SXuhui Lin pinctrl-0 = <&i2c9m0_xfer>; 4329b67262e1SXuhui Lin resets = <&cru SRST_I2C9>, <&cru SRST_P_I2C9>; 4330b67262e1SXuhui Lin reset-names = "i2c", "apb"; 4331b67262e1SXuhui Lin #address-cells = <1>; 4332b67262e1SXuhui Lin #size-cells = <0>; 4333b67262e1SXuhui Lin status = "disabled"; 4334b67262e1SXuhui Lin }; 4335b67262e1SXuhui Lin 4336b67262e1SXuhui Lin uart10: serial@2afc0000 { 4337b67262e1SXuhui Lin compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart"; 4338b67262e1SXuhui Lin reg = <0x0 0x2afc0000 0x0 0x100>; 4339b67262e1SXuhui Lin interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 4340b67262e1SXuhui Lin clocks = <&cru SCLK_UART10>, <&cru PCLK_UART10>; 4341b67262e1SXuhui Lin clock-names = "baudclk", "apb_pclk"; 4342b67262e1SXuhui Lin reg-shift = <2>; 4343b67262e1SXuhui Lin reg-io-width = <4>; 4344b67262e1SXuhui Lin dmas = <&dmac2 21>, <&dmac2 22>; 4345b67262e1SXuhui Lin pinctrl-names = "default"; 4346b67262e1SXuhui Lin pinctrl-0 = <&uart10m0_xfer>; 4347b67262e1SXuhui Lin status = "disabled"; 4348b67262e1SXuhui Lin }; 4349b67262e1SXuhui Lin 4350b67262e1SXuhui Lin uart11: serial@2afd0000 { 4351b67262e1SXuhui Lin compatible = "rockchip,rk3576-uart", "snps,dw-apb-uart"; 4352b67262e1SXuhui Lin reg = <0x0 0x2afd0000 0x0 0x100>; 4353b67262e1SXuhui Lin interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 4354b67262e1SXuhui Lin clocks = <&cru SCLK_UART11>, <&cru PCLK_UART11>; 4355b67262e1SXuhui Lin clock-names = "baudclk", "apb_pclk"; 4356b67262e1SXuhui Lin reg-shift = <2>; 4357b67262e1SXuhui Lin reg-io-width = <4>; 4358b67262e1SXuhui Lin dmas = <&dmac2 23>, <&dmac2 24>; 4359b67262e1SXuhui Lin pinctrl-names = "default"; 4360b67262e1SXuhui Lin pinctrl-0 = <&uart11m0_xfer>; 4361b67262e1SXuhui Lin status = "disabled"; 4362b67262e1SXuhui Lin }; 4363b67262e1SXuhui Lin 4364b67262e1SXuhui Lin hdptxphy: phy@2b000000 { 4365b67262e1SXuhui Lin compatible = "rockchip,rk3576-hdptx-phy", "rockchip,rk3588-hdptx-phy"; 4366b67262e1SXuhui Lin reg = <0x0 0x2b000000 0x0 0x2000>; 4367b67262e1SXuhui Lin clocks = <&cru CLK_PHY_REF_SRC>, <&cru PCLK_PMUPHY_ROOT>; 4368b67262e1SXuhui Lin clock-names = "ref", "apb"; 4369b67262e1SXuhui Lin resets = <&cru SRST_P_HDPTX_APB>, <&cru SRST_HDPTX_INIT>, 4370b67262e1SXuhui Lin <&cru SRST_HDPTX_CMN>, <&cru SRST_HDPTX_LANE>; 4371b67262e1SXuhui Lin reset-names = "apb", "init", "cmn", "lane"; 4372b67262e1SXuhui Lin rockchip,grf = <&hdptxphy_grf>; 4373b67262e1SXuhui Lin #phy-cells = <0>; 4374b67262e1SXuhui Lin status = "disabled"; 4375b67262e1SXuhui Lin }; 4376b67262e1SXuhui Lin 4377b67262e1SXuhui Lin hdptxphy_hdmi: hdmiphy@2b000000 { 4378b67262e1SXuhui Lin compatible = "rockchip,rk3576-hdptx-phy-hdmi", "rockchip,rk3588-hdptx-phy-hdmi"; 4379b67262e1SXuhui Lin reg = <0x0 0x2b000000 0x0 0x2000>; 4380b67262e1SXuhui Lin clocks = <&cru CLK_PHY_REF_SRC>, <&cru PCLK_PMUPHY_ROOT>; 4381b67262e1SXuhui Lin clock-names = "ref", "apb"; 4382b67262e1SXuhui Lin clock-output-names = "clk_hdmiphy_pixel0"; 4383b67262e1SXuhui Lin #clock-cells = <0>; 4384b67262e1SXuhui Lin resets = <&cru SRST_P_HDPTX_APB>, <&cru SRST_HDPTX_INIT>, 4385b67262e1SXuhui Lin <&cru SRST_HDPTX_CMN>, <&cru SRST_HDPTX_LANE>; 4386b67262e1SXuhui Lin reset-names = "apb", "init", "cmn", "lane"; 4387b67262e1SXuhui Lin rockchip,grf = <&hdptxphy_grf>; 4388b67262e1SXuhui Lin #phy-cells = <0>; 4389b67262e1SXuhui Lin status = "disabled"; 4390b67262e1SXuhui Lin }; 4391b67262e1SXuhui Lin 4392b67262e1SXuhui Lin usbdp_phy: phy@2b010000 { 4393b67262e1SXuhui Lin compatible = "rockchip,rk3576-usbdp-phy"; 4394b67262e1SXuhui Lin reg = <0x0 0x2b010000 0x0 0x10000>; 4395b67262e1SXuhui Lin rockchip,u2phy-grf = <&usb2phy_grf>; 4396b67262e1SXuhui Lin rockchip,usb-grf = <&usb_grf>; 4397b67262e1SXuhui Lin rockchip,usbdpphy-grf = <&usbdpphy_grf>; 4398b67262e1SXuhui Lin rockchip,vo-grf = <&vo1_grf>; 4399b67262e1SXuhui Lin clocks = <&cru CLK_PHY_REF_SRC >, 4400b67262e1SXuhui Lin <&cru CLK_USBDP_COMBO_PHY_IMMORTAL>, 4401b67262e1SXuhui Lin <&cru PCLK_USBDPPHY>; 4402b67262e1SXuhui Lin clock-names = "refclk", "immortal", "pclk"; 4403b67262e1SXuhui Lin resets = <&cru SRST_USBDP_COMBO_PHY_INIT>, 4404b67262e1SXuhui Lin <&cru SRST_USBDP_COMBO_PHY_CMN>, 4405b67262e1SXuhui Lin <&cru SRST_USBDP_COMBO_PHY_LANE>, 4406b67262e1SXuhui Lin <&cru SRST_USBDP_COMBO_PHY_PCS>, 4407b67262e1SXuhui Lin <&cru SRST_P_USBDPPHY>; 4408b67262e1SXuhui Lin reset-names = "init", "cmn", "lane", "pcs_apb", "pma_apb"; 4409b67262e1SXuhui Lin status = "disabled"; 4410b67262e1SXuhui Lin 4411b67262e1SXuhui Lin usbdp_phy_dp: dp-port { 4412b67262e1SXuhui Lin #phy-cells = <0>; 4413b67262e1SXuhui Lin status = "disabled"; 4414b67262e1SXuhui Lin }; 4415b67262e1SXuhui Lin 4416b67262e1SXuhui Lin usbdp_phy_u3: u3-port { 4417b67262e1SXuhui Lin #phy-cells = <0>; 4418b67262e1SXuhui Lin status = "disabled"; 4419b67262e1SXuhui Lin }; 4420b67262e1SXuhui Lin }; 4421b67262e1SXuhui Lin 4422b67262e1SXuhui Lin mipidcphy0: phy@2b020000 { 4423b67262e1SXuhui Lin compatible = "rockchip,rk3588-mipi-dcphy"; 4424b67262e1SXuhui Lin reg = <0x0 0x2b020000 0x0 0x10000>; 4425b67262e1SXuhui Lin rockchip,grf = <&mipidcphy0_grf>; 4426b67262e1SXuhui Lin clocks = <&cru PCLK_MIPI_DCPHY>; 4427b67262e1SXuhui Lin clock-names = "pclk"; 4428b67262e1SXuhui Lin resets = <&cru SRST_M_MIPI_DCPHY>, 4429b67262e1SXuhui Lin <&cru SRST_P_MIPI_DCPHY>, 4430b67262e1SXuhui Lin <&cru SRST_P_DCPHY_GRF>, 4431b67262e1SXuhui Lin <&cru SRST_S_MIPI_DCPHY>; 4432b67262e1SXuhui Lin reset-names = "m_phy", "apb", "grf", "s_phy"; 4433b67262e1SXuhui Lin #phy-cells = <0>; 4434b67262e1SXuhui Lin status = "okay"; 4435b67262e1SXuhui Lin }; 4436b67262e1SXuhui Lin 4437b67262e1SXuhui Lin csi2_dphy0_hw: csi2-dphy0-hw@2b030000 { 4438b67262e1SXuhui Lin compatible = "rockchip,rk3588-csi2-dphy-hw"; 4439b67262e1SXuhui Lin reg = <0x0 0x2b030000 0x0 0x8000>; 4440b67262e1SXuhui Lin clocks = <&cru PCLK_CSIDPHY>; 4441b67262e1SXuhui Lin clock-names = "pclk"; 4442b67262e1SXuhui Lin resets = <&cru SRST_P_CSIPHY>; 4443b67262e1SXuhui Lin reset-names = "srst_p_csiphy"; 4444b67262e1SXuhui Lin rockchip,grf = <&mipidphy0_grf>; 4445b67262e1SXuhui Lin rockchip,sys_grf = <&sys_grf>; 4446b67262e1SXuhui Lin status = "okay"; 4447b67262e1SXuhui Lin }; 4448b67262e1SXuhui Lin 4449b67262e1SXuhui Lin combphy0_ps: phy@2b050000 { 4450b67262e1SXuhui Lin compatible = "rockchip,rk3576-naneng-combphy"; 4451b67262e1SXuhui Lin reg = <0x0 0x2b050000 0x0 0x100>; 4452b67262e1SXuhui Lin #phy-cells = <1>; 4453b67262e1SXuhui Lin clocks = <&cru CLK_REF_PCIE0_PHY>, 4454b67262e1SXuhui Lin <&cru PCLK_PCIE2_COMBOPHY0>, 4455b67262e1SXuhui Lin <&cru PCLK_PCIE0>; 4456b67262e1SXuhui Lin clock-names = "refclk", "apbclk", "pipe_clk"; 4457b67262e1SXuhui Lin assigned-clocks = <&cru CLK_REF_PCIE0_PHY>; 4458b67262e1SXuhui Lin assigned-clock-rates = <100000000>; 4459b67262e1SXuhui Lin resets = <&cru SRST_P_PCIE2_COMBOPHY0>, 4460b67262e1SXuhui Lin <&cru SRST_PCIE0_PIPE_PHY>; 4461b67262e1SXuhui Lin reset-names = "combphy-apb", "combphy"; 4462b67262e1SXuhui Lin rockchip,pipe-grf = <&php_grf>; 4463b67262e1SXuhui Lin rockchip,pipe-phy-grf = <&pipe_phy0_grf>; 4464b67262e1SXuhui Lin status = "disabled"; 4465b67262e1SXuhui Lin }; 4466b67262e1SXuhui Lin 4467b67262e1SXuhui Lin combphy1_psu: phy@2b060000 { 4468b67262e1SXuhui Lin compatible = "rockchip,rk3576-naneng-combphy"; 4469b67262e1SXuhui Lin reg = <0x0 0x2b060000 0x0 0x100>; 4470b67262e1SXuhui Lin #phy-cells = <1>; 4471b67262e1SXuhui Lin clocks = <&cru CLK_REF_PCIE1_PHY>, 4472b67262e1SXuhui Lin <&cru PCLK_PCIE2_COMBOPHY1>, 4473b67262e1SXuhui Lin <&cru PCLK_PCIE1>; 4474b67262e1SXuhui Lin clock-names = "refclk", "apbclk", "pipe_clk"; 4475b67262e1SXuhui Lin assigned-clocks = <&cru CLK_REF_PCIE1_PHY>; 4476b67262e1SXuhui Lin assigned-clock-rates = <100000000>; 4477b67262e1SXuhui Lin resets = <&cru SRST_P_PCIE2_COMBOPHY1>, 4478b67262e1SXuhui Lin <&cru SRST_PCIE1_PIPE_PHY>; 4479b67262e1SXuhui Lin reset-names = "combphy-apb", "combphy"; 4480b67262e1SXuhui Lin rockchip,pipe-grf = <&php_grf>; 4481b67262e1SXuhui Lin rockchip,pipe-phy-grf = <&pipe_phy1_grf>; 4482b67262e1SXuhui Lin status = "disabled"; 4483b67262e1SXuhui Lin }; 4484b67262e1SXuhui Lin 4485b67262e1SXuhui Lin csi2_dphy1_hw: csi2-dphy1-hw@2b070000 { 4486b67262e1SXuhui Lin compatible = "rockchip,rk3588-csi2-dphy-hw"; 4487b67262e1SXuhui Lin reg = <0x0 0x2b070000 0x0 0x8000>; 4488b67262e1SXuhui Lin clocks = <&cru PCLK_CSIDPHY1>; 4489b67262e1SXuhui Lin clock-names = "pclk"; 4490b67262e1SXuhui Lin resets = <&cru SRST_P_CSIDPHY1>; 4491b67262e1SXuhui Lin reset-names = "srst_p_csiphy1"; 4492b67262e1SXuhui Lin rockchip,grf = <&mipidphy1_grf>; 4493b67262e1SXuhui Lin rockchip,sys_grf = <&sys_grf>; 4494b67262e1SXuhui Lin status = "okay"; 4495b67262e1SXuhui Lin }; 4496b67262e1SXuhui Lin 4497b67262e1SXuhui Lin scmi_shmem: scmi-shmem@4010f000 { 4498b67262e1SXuhui Lin compatible = "arm,scmi-shmem"; 4499b67262e1SXuhui Lin reg = <0x0 0x4010f000 0x0 0x100>; 4500b67262e1SXuhui Lin }; 4501b67262e1SXuhui Lin 4502b67262e1SXuhui Lin pinctrl: pinctrl { 4503b67262e1SXuhui Lin compatible = "rockchip,rk3576-pinctrl"; 4504b67262e1SXuhui Lin rockchip,grf = <&ioc_grf>; 4505b67262e1SXuhui Lin #address-cells = <2>; 4506b67262e1SXuhui Lin #size-cells = <2>; 4507b67262e1SXuhui Lin ranges; 4508b67262e1SXuhui Lin 4509b67262e1SXuhui Lin gpio0: gpio@27320000 { 4510b67262e1SXuhui Lin compatible = "rockchip,gpio-bank"; 4511b67262e1SXuhui Lin reg = <0x0 0x27320000 0x0 0x200>; 4512b67262e1SXuhui Lin interrupts = <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>; 4513b67262e1SXuhui Lin clocks = <&cru PCLK_GPIO0>, <&cru DBCLK_GPIO0>; 4514b67262e1SXuhui Lin 4515b67262e1SXuhui Lin gpio-controller; 4516b67262e1SXuhui Lin #gpio-cells = <2>; 4517b67262e1SXuhui Lin gpio-ranges = <&pinctrl 0 0 32>; 4518b67262e1SXuhui Lin interrupt-controller; 4519b67262e1SXuhui Lin #interrupt-cells = <2>; 4520b67262e1SXuhui Lin }; 4521b67262e1SXuhui Lin 4522b67262e1SXuhui Lin gpio1: gpio@2ae10000 { 4523b67262e1SXuhui Lin compatible = "rockchip,gpio-bank"; 4524b67262e1SXuhui Lin reg = <0x0 0x2ae10000 0x0 0x200>; 4525b67262e1SXuhui Lin interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>; 4526b67262e1SXuhui Lin clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>; 4527b67262e1SXuhui Lin 4528b67262e1SXuhui Lin gpio-controller; 4529b67262e1SXuhui Lin #gpio-cells = <2>; 4530b67262e1SXuhui Lin gpio-ranges = <&pinctrl 0 32 32>; 4531b67262e1SXuhui Lin interrupt-controller; 4532b67262e1SXuhui Lin #interrupt-cells = <2>; 4533b67262e1SXuhui Lin }; 4534b67262e1SXuhui Lin 4535b67262e1SXuhui Lin gpio2: gpio@2ae20000 { 4536b67262e1SXuhui Lin compatible = "rockchip,gpio-bank"; 4537b67262e1SXuhui Lin reg = <0x0 0x2ae20000 0x0 0x200>; 4538b67262e1SXuhui Lin interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>; 4539b67262e1SXuhui Lin clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>; 4540b67262e1SXuhui Lin 4541b67262e1SXuhui Lin gpio-controller; 4542b67262e1SXuhui Lin #gpio-cells = <2>; 4543b67262e1SXuhui Lin gpio-ranges = <&pinctrl 0 64 32>; 4544b67262e1SXuhui Lin interrupt-controller; 4545b67262e1SXuhui Lin #interrupt-cells = <2>; 4546b67262e1SXuhui Lin }; 4547b67262e1SXuhui Lin 4548b67262e1SXuhui Lin gpio3: gpio@2ae30000 { 4549b67262e1SXuhui Lin compatible = "rockchip,gpio-bank"; 4550b67262e1SXuhui Lin reg = <0x0 0x2ae30000 0x0 0x200>; 4551b67262e1SXuhui Lin interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>; 4552b67262e1SXuhui Lin clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>; 4553b67262e1SXuhui Lin 4554b67262e1SXuhui Lin gpio-controller; 4555b67262e1SXuhui Lin #gpio-cells = <2>; 4556b67262e1SXuhui Lin gpio-ranges = <&pinctrl 0 96 32>; 4557b67262e1SXuhui Lin interrupt-controller; 4558b67262e1SXuhui Lin #interrupt-cells = <2>; 4559b67262e1SXuhui Lin }; 4560b67262e1SXuhui Lin 4561b67262e1SXuhui Lin gpio4: gpio@2ae40000 { 4562b67262e1SXuhui Lin compatible = "rockchip,gpio-bank"; 4563b67262e1SXuhui Lin reg = <0x0 0x2ae40000 0x0 0x200>; 4564b67262e1SXuhui Lin interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>; 4565b67262e1SXuhui Lin clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>; 4566b67262e1SXuhui Lin 4567b67262e1SXuhui Lin gpio-controller; 4568b67262e1SXuhui Lin #gpio-cells = <2>; 4569b67262e1SXuhui Lin gpio-ranges = <&pinctrl 0 128 32>; 4570b67262e1SXuhui Lin interrupt-controller; 4571b67262e1SXuhui Lin #interrupt-cells = <2>; 4572b67262e1SXuhui Lin }; 4573b67262e1SXuhui Lin }; 4574b67262e1SXuhui Lin}; 4575b67262e1SXuhui Lin 4576b67262e1SXuhui Lin#include "rk3576-pinctrl.dtsi" 4577