1724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2724ba675SRob Herring/* 3724ba675SRob Herring * Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd. 4724ba675SRob Herring */ 5724ba675SRob Herring 6724ba675SRob Herring#include <dt-bindings/clock/rockchip,rv1126-cru.h> 7724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 8724ba675SRob Herring#include <dt-bindings/interrupt-controller/arm-gic.h> 9724ba675SRob Herring#include <dt-bindings/interrupt-controller/irq.h> 10724ba675SRob Herring#include <dt-bindings/pinctrl/rockchip.h> 11724ba675SRob Herring#include <dt-bindings/power/rockchip,rv1126-power.h> 12724ba675SRob Herring#include <dt-bindings/soc/rockchip,boot-mode.h> 13724ba675SRob Herring 14724ba675SRob Herring/ { 15724ba675SRob Herring #address-cells = <1>; 16724ba675SRob Herring #size-cells = <1>; 17724ba675SRob Herring 18724ba675SRob Herring compatible = "rockchip,rv1126"; 19724ba675SRob Herring 20724ba675SRob Herring interrupt-parent = <&gic>; 21724ba675SRob Herring 22724ba675SRob Herring aliases { 23724ba675SRob Herring i2c0 = &i2c0; 24b1ed2566STim Lunn i2c2 = &i2c2; 2515db79e0SKarthikeyan Krishnasamy i2c3 = &i2c3; 269f35b08aSTim Lunn serial0 = &uart0; 279f35b08aSTim Lunn serial1 = &uart1; 289f35b08aSTim Lunn serial2 = &uart2; 299f35b08aSTim Lunn serial3 = &uart3; 309f35b08aSTim Lunn serial4 = &uart4; 319f35b08aSTim Lunn serial5 = &uart5; 32724ba675SRob Herring }; 33724ba675SRob Herring 34724ba675SRob Herring cpus { 35724ba675SRob Herring #address-cells = <1>; 36724ba675SRob Herring #size-cells = <0>; 37724ba675SRob Herring 38724ba675SRob Herring cpu0: cpu@f00 { 39724ba675SRob Herring device_type = "cpu"; 40724ba675SRob Herring compatible = "arm,cortex-a7"; 41724ba675SRob Herring reg = <0xf00>; 42724ba675SRob Herring enable-method = "psci"; 43724ba675SRob Herring clocks = <&cru ARMCLK>; 44724ba675SRob Herring }; 45724ba675SRob Herring 46724ba675SRob Herring cpu1: cpu@f01 { 47724ba675SRob Herring device_type = "cpu"; 48724ba675SRob Herring compatible = "arm,cortex-a7"; 49724ba675SRob Herring reg = <0xf01>; 50724ba675SRob Herring enable-method = "psci"; 51724ba675SRob Herring clocks = <&cru ARMCLK>; 52724ba675SRob Herring }; 53724ba675SRob Herring 54724ba675SRob Herring cpu2: cpu@f02 { 55724ba675SRob Herring device_type = "cpu"; 56724ba675SRob Herring compatible = "arm,cortex-a7"; 57724ba675SRob Herring reg = <0xf02>; 58724ba675SRob Herring enable-method = "psci"; 59724ba675SRob Herring clocks = <&cru ARMCLK>; 60724ba675SRob Herring }; 61724ba675SRob Herring 62724ba675SRob Herring cpu3: cpu@f03 { 63724ba675SRob Herring device_type = "cpu"; 64724ba675SRob Herring compatible = "arm,cortex-a7"; 65724ba675SRob Herring reg = <0xf03>; 66724ba675SRob Herring enable-method = "psci"; 67724ba675SRob Herring clocks = <&cru ARMCLK>; 68724ba675SRob Herring }; 69724ba675SRob Herring }; 70724ba675SRob Herring 71724ba675SRob Herring arm-pmu { 72724ba675SRob Herring compatible = "arm,cortex-a7-pmu"; 73724ba675SRob Herring interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>, 74724ba675SRob Herring <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>, 75724ba675SRob Herring <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>, 76724ba675SRob Herring <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>; 77724ba675SRob Herring interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 78724ba675SRob Herring }; 79724ba675SRob Herring 80724ba675SRob Herring psci { 81724ba675SRob Herring compatible = "arm,psci-1.0"; 82724ba675SRob Herring method = "smc"; 83724ba675SRob Herring }; 84724ba675SRob Herring 85724ba675SRob Herring timer { 86724ba675SRob Herring compatible = "arm,armv7-timer"; 87724ba675SRob Herring interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 88724ba675SRob Herring <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 89724ba675SRob Herring <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 90724ba675SRob Herring <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 91724ba675SRob Herring clock-frequency = <24000000>; 92724ba675SRob Herring }; 93724ba675SRob Herring 941bf0dcb1SJagan Teki display_subsystem { 951bf0dcb1SJagan Teki compatible = "rockchip,display-subsystem"; 961bf0dcb1SJagan Teki ports = <&vop_out>; 971bf0dcb1SJagan Teki }; 981bf0dcb1SJagan Teki 99724ba675SRob Herring xin24m: oscillator { 100724ba675SRob Herring compatible = "fixed-clock"; 101724ba675SRob Herring clock-frequency = <24000000>; 102724ba675SRob Herring clock-output-names = "xin24m"; 103724ba675SRob Herring #clock-cells = <0>; 104724ba675SRob Herring }; 105724ba675SRob Herring 106724ba675SRob Herring grf: syscon@fe000000 { 107724ba675SRob Herring compatible = "rockchip,rv1126-grf", "syscon", "simple-mfd"; 108724ba675SRob Herring reg = <0xfe000000 0x20000>; 109724ba675SRob Herring }; 110724ba675SRob Herring 111724ba675SRob Herring pmugrf: syscon@fe020000 { 112724ba675SRob Herring compatible = "rockchip,rv1126-pmugrf", "syscon", "simple-mfd"; 113724ba675SRob Herring reg = <0xfe020000 0x1000>; 114724ba675SRob Herring 115724ba675SRob Herring pmu_io_domains: io-domains { 116724ba675SRob Herring compatible = "rockchip,rv1126-pmu-io-voltage-domain"; 117724ba675SRob Herring status = "disabled"; 118724ba675SRob Herring }; 119724ba675SRob Herring }; 120724ba675SRob Herring 121724ba675SRob Herring qos_emmc: qos@fe860000 { 122724ba675SRob Herring compatible = "rockchip,rv1126-qos", "syscon"; 123724ba675SRob Herring reg = <0xfe860000 0x20>; 124724ba675SRob Herring }; 125724ba675SRob Herring 126724ba675SRob Herring qos_nandc: qos@fe860080 { 127724ba675SRob Herring compatible = "rockchip,rv1126-qos", "syscon"; 128724ba675SRob Herring reg = <0xfe860080 0x20>; 129724ba675SRob Herring }; 130724ba675SRob Herring 131724ba675SRob Herring qos_sfc: qos@fe860200 { 132724ba675SRob Herring compatible = "rockchip,rv1126-qos", "syscon"; 133724ba675SRob Herring reg = <0xfe860200 0x20>; 134724ba675SRob Herring }; 135724ba675SRob Herring 136724ba675SRob Herring qos_sdio: qos@fe86c000 { 137724ba675SRob Herring compatible = "rockchip,rv1126-qos", "syscon"; 138724ba675SRob Herring reg = <0xfe86c000 0x20>; 139724ba675SRob Herring }; 140724ba675SRob Herring 1414fafaed5SJagan Teki qos_iep: qos@fe8a0000 { 1424fafaed5SJagan Teki compatible = "rockchip,rv1126-qos", "syscon"; 1434fafaed5SJagan Teki reg = <0xfe8a0000 0x20>; 1444fafaed5SJagan Teki }; 1454fafaed5SJagan Teki 1464fafaed5SJagan Teki qos_rga_rd: qos@fe8a0080 { 1474fafaed5SJagan Teki compatible = "rockchip,rv1126-qos", "syscon"; 1484fafaed5SJagan Teki reg = <0xfe8a0080 0x20>; 1494fafaed5SJagan Teki }; 1504fafaed5SJagan Teki 1514fafaed5SJagan Teki qos_rga_wr: qos@fe8a0100 { 1524fafaed5SJagan Teki compatible = "rockchip,rv1126-qos", "syscon"; 1534fafaed5SJagan Teki reg = <0xfe8a0100 0x20>; 1544fafaed5SJagan Teki }; 1554fafaed5SJagan Teki 1564fafaed5SJagan Teki qos_vop: qos@fe8a0180 { 1574fafaed5SJagan Teki compatible = "rockchip,rv1126-qos", "syscon"; 1584fafaed5SJagan Teki reg = <0xfe8a0180 0x20>; 1594fafaed5SJagan Teki }; 1604fafaed5SJagan Teki 161724ba675SRob Herring gic: interrupt-controller@feff0000 { 162724ba675SRob Herring compatible = "arm,gic-400"; 163724ba675SRob Herring interrupt-controller; 164724ba675SRob Herring #interrupt-cells = <3>; 165724ba675SRob Herring #address-cells = <0>; 166724ba675SRob Herring 167724ba675SRob Herring reg = <0xfeff1000 0x1000>, 168724ba675SRob Herring <0xfeff2000 0x2000>, 169724ba675SRob Herring <0xfeff4000 0x2000>, 170724ba675SRob Herring <0xfeff6000 0x2000>; 171724ba675SRob Herring interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 172724ba675SRob Herring }; 173724ba675SRob Herring 174724ba675SRob Herring pmu: power-management@ff3e0000 { 175724ba675SRob Herring compatible = "rockchip,rv1126-pmu", "syscon", "simple-mfd"; 176724ba675SRob Herring reg = <0xff3e0000 0x1000>; 177724ba675SRob Herring 178724ba675SRob Herring power: power-controller { 179724ba675SRob Herring compatible = "rockchip,rv1126-power-controller"; 180724ba675SRob Herring #power-domain-cells = <1>; 181724ba675SRob Herring #address-cells = <1>; 182724ba675SRob Herring #size-cells = <0>; 183724ba675SRob Herring 184724ba675SRob Herring power-domain@RV1126_PD_NVM { 185724ba675SRob Herring reg = <RV1126_PD_NVM>; 186724ba675SRob Herring clocks = <&cru HCLK_EMMC>, 187724ba675SRob Herring <&cru CLK_EMMC>, 188724ba675SRob Herring <&cru HCLK_NANDC>, 189724ba675SRob Herring <&cru CLK_NANDC>, 190724ba675SRob Herring <&cru HCLK_SFC>, 191724ba675SRob Herring <&cru HCLK_SFCXIP>, 192724ba675SRob Herring <&cru SCLK_SFC>; 193724ba675SRob Herring pm_qos = <&qos_emmc>, 194724ba675SRob Herring <&qos_nandc>, 195724ba675SRob Herring <&qos_sfc>; 196724ba675SRob Herring #power-domain-cells = <0>; 197724ba675SRob Herring }; 198724ba675SRob Herring 199724ba675SRob Herring power-domain@RV1126_PD_SDIO { 200724ba675SRob Herring reg = <RV1126_PD_SDIO>; 201724ba675SRob Herring clocks = <&cru HCLK_SDIO>, 202724ba675SRob Herring <&cru CLK_SDIO>; 203724ba675SRob Herring pm_qos = <&qos_sdio>; 204724ba675SRob Herring #power-domain-cells = <0>; 205724ba675SRob Herring }; 2064fafaed5SJagan Teki 2074fafaed5SJagan Teki power-domain@RV1126_PD_VO { 2084fafaed5SJagan Teki reg = <RV1126_PD_VO>; 2094fafaed5SJagan Teki clocks = <&cru ACLK_RGA>, 2104fafaed5SJagan Teki <&cru HCLK_RGA>, 2114fafaed5SJagan Teki <&cru CLK_RGA_CORE>, 2124fafaed5SJagan Teki <&cru ACLK_VOP>, 2134fafaed5SJagan Teki <&cru HCLK_VOP>, 2144fafaed5SJagan Teki <&cru DCLK_VOP>, 2154fafaed5SJagan Teki <&cru PCLK_DSIHOST>, 2164fafaed5SJagan Teki <&cru ACLK_IEP>, 2174fafaed5SJagan Teki <&cru HCLK_IEP>, 2184fafaed5SJagan Teki <&cru CLK_IEP_CORE>; 2194fafaed5SJagan Teki pm_qos = <&qos_rga_rd>, 2204fafaed5SJagan Teki <&qos_rga_wr>, 2214fafaed5SJagan Teki <&qos_vop>, 2224fafaed5SJagan Teki <&qos_iep>; 2234fafaed5SJagan Teki #power-domain-cells = <0>; 2244fafaed5SJagan Teki }; 225724ba675SRob Herring }; 226724ba675SRob Herring }; 227724ba675SRob Herring 228724ba675SRob Herring i2c0: i2c@ff3f0000 { 229724ba675SRob Herring compatible = "rockchip,rv1126-i2c", "rockchip,rk3399-i2c"; 230724ba675SRob Herring reg = <0xff3f0000 0x1000>; 231724ba675SRob Herring interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 232724ba675SRob Herring rockchip,grf = <&pmugrf>; 233724ba675SRob Herring clocks = <&pmucru CLK_I2C0>, <&pmucru PCLK_I2C0>; 234724ba675SRob Herring clock-names = "i2c", "pclk"; 235724ba675SRob Herring pinctrl-names = "default"; 236724ba675SRob Herring pinctrl-0 = <&i2c0_xfer>; 237724ba675SRob Herring #address-cells = <1>; 238724ba675SRob Herring #size-cells = <0>; 239724ba675SRob Herring status = "disabled"; 240724ba675SRob Herring }; 241724ba675SRob Herring 242b1ed2566STim Lunn i2c2: i2c@ff400000 { 243b1ed2566STim Lunn compatible = "rockchip,rv1126-i2c", "rockchip,rk3399-i2c"; 244b1ed2566STim Lunn reg = <0xff400000 0x1000>; 245b1ed2566STim Lunn interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 246b1ed2566STim Lunn rockchip,grf = <&pmugrf>; 247b1ed2566STim Lunn clocks = <&pmucru CLK_I2C2>, <&pmucru PCLK_I2C2>; 248b1ed2566STim Lunn clock-names = "i2c", "pclk"; 249b1ed2566STim Lunn pinctrl-names = "default"; 250b1ed2566STim Lunn pinctrl-0 = <&i2c2_xfer>; 251b1ed2566STim Lunn #address-cells = <1>; 252b1ed2566STim Lunn #size-cells = <0>; 253b1ed2566STim Lunn status = "disabled"; 254b1ed2566STim Lunn }; 255b1ed2566STim Lunn 256724ba675SRob Herring uart1: serial@ff410000 { 257724ba675SRob Herring compatible = "rockchip,rv1126-uart", "snps,dw-apb-uart"; 258724ba675SRob Herring reg = <0xff410000 0x100>; 259724ba675SRob Herring interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 260724ba675SRob Herring clock-frequency = <24000000>; 261724ba675SRob Herring clocks = <&pmucru SCLK_UART1>, <&pmucru PCLK_UART1>; 262724ba675SRob Herring clock-names = "baudclk", "apb_pclk"; 263724ba675SRob Herring dmas = <&dmac 7>, <&dmac 6>; 264724ba675SRob Herring dma-names = "tx", "rx"; 265724ba675SRob Herring pinctrl-names = "default"; 266724ba675SRob Herring pinctrl-0 = <&uart1m0_xfer>; 267724ba675SRob Herring reg-shift = <2>; 268724ba675SRob Herring reg-io-width = <4>; 269724ba675SRob Herring status = "disabled"; 270724ba675SRob Herring }; 271724ba675SRob Herring 27228b2ae4aSJagan Teki pwm2: pwm@ff430020 { 27328b2ae4aSJagan Teki compatible = "rockchip,rv1126-pwm", "rockchip,rk3328-pwm"; 27428b2ae4aSJagan Teki reg = <0xff430020 0x10>; 27528b2ae4aSJagan Teki clock-names = "pwm", "pclk"; 27628b2ae4aSJagan Teki clocks = <&pmucru CLK_PWM0>, <&pmucru PCLK_PWM0>; 27728b2ae4aSJagan Teki pinctrl-names = "default"; 27828b2ae4aSJagan Teki pinctrl-0 = <&pwm2m0_pins>; 27928b2ae4aSJagan Teki #pwm-cells = <3>; 28028b2ae4aSJagan Teki status = "disabled"; 28128b2ae4aSJagan Teki }; 28228b2ae4aSJagan Teki 283724ba675SRob Herring pmucru: clock-controller@ff480000 { 284724ba675SRob Herring compatible = "rockchip,rv1126-pmucru"; 285724ba675SRob Herring reg = <0xff480000 0x1000>; 286724ba675SRob Herring rockchip,grf = <&grf>; 287724ba675SRob Herring #clock-cells = <1>; 288724ba675SRob Herring #reset-cells = <1>; 289724ba675SRob Herring }; 290724ba675SRob Herring 291724ba675SRob Herring cru: clock-controller@ff490000 { 292724ba675SRob Herring compatible = "rockchip,rv1126-cru"; 293724ba675SRob Herring reg = <0xff490000 0x1000>; 294724ba675SRob Herring clocks = <&xin24m>; 295724ba675SRob Herring clock-names = "xin24m"; 296724ba675SRob Herring rockchip,grf = <&grf>; 297724ba675SRob Herring #clock-cells = <1>; 298724ba675SRob Herring #reset-cells = <1>; 299724ba675SRob Herring }; 300724ba675SRob Herring 301724ba675SRob Herring dmac: dma-controller@ff4e0000 { 302724ba675SRob Herring compatible = "arm,pl330", "arm,primecell"; 303724ba675SRob Herring reg = <0xff4e0000 0x4000>; 304724ba675SRob Herring interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, 305724ba675SRob Herring <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 306724ba675SRob Herring #dma-cells = <1>; 307724ba675SRob Herring arm,pl330-periph-burst; 308724ba675SRob Herring clocks = <&cru ACLK_DMAC>; 309724ba675SRob Herring clock-names = "apb_pclk"; 310724ba675SRob Herring }; 311724ba675SRob Herring 31215db79e0SKarthikeyan Krishnasamy i2c3: i2c@ff520000 { 31315db79e0SKarthikeyan Krishnasamy compatible = "rockchip,rv1126-i2c", "rockchip,rk3399-i2c"; 31415db79e0SKarthikeyan Krishnasamy reg = <0xff520000 0x1000>; 31515db79e0SKarthikeyan Krishnasamy interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 31615db79e0SKarthikeyan Krishnasamy clocks = <&cru CLK_I2C3>, <&cru PCLK_I2C3>; 31715db79e0SKarthikeyan Krishnasamy clock-names = "i2c", "pclk"; 31815db79e0SKarthikeyan Krishnasamy pinctrl-names = "default"; 31915db79e0SKarthikeyan Krishnasamy pinctrl-0 = <&i2c3m0_xfer>; 32015db79e0SKarthikeyan Krishnasamy rockchip,grf = <&pmugrf>; 32115db79e0SKarthikeyan Krishnasamy #address-cells = <1>; 32215db79e0SKarthikeyan Krishnasamy #size-cells = <0>; 32315db79e0SKarthikeyan Krishnasamy status = "disabled"; 32415db79e0SKarthikeyan Krishnasamy }; 32515db79e0SKarthikeyan Krishnasamy 326c5cb1950SJagan Teki pwm11: pwm@ff550030 { 327c5cb1950SJagan Teki compatible = "rockchip,rv1126-pwm", "rockchip,rk3328-pwm"; 328c5cb1950SJagan Teki reg = <0xff550030 0x10>; 329c5cb1950SJagan Teki clock-names = "pwm", "pclk"; 330c5cb1950SJagan Teki clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>; 331c5cb1950SJagan Teki pinctrl-0 = <&pwm11m0_pins>; 332c5cb1950SJagan Teki pinctrl-names = "default"; 333c5cb1950SJagan Teki #pwm-cells = <3>; 334c5cb1950SJagan Teki status = "disabled"; 335c5cb1950SJagan Teki }; 336c5cb1950SJagan Teki 337724ba675SRob Herring uart0: serial@ff560000 { 338724ba675SRob Herring compatible = "rockchip,rv1126-uart", "snps,dw-apb-uart"; 339724ba675SRob Herring reg = <0xff560000 0x100>; 340724ba675SRob Herring interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 341724ba675SRob Herring clock-frequency = <24000000>; 342724ba675SRob Herring clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; 343724ba675SRob Herring clock-names = "baudclk", "apb_pclk"; 344724ba675SRob Herring dmas = <&dmac 5>, <&dmac 4>; 345724ba675SRob Herring dma-names = "tx", "rx"; 346724ba675SRob Herring pinctrl-names = "default"; 347724ba675SRob Herring pinctrl-0 = <&uart0_xfer>; 348724ba675SRob Herring reg-shift = <2>; 349724ba675SRob Herring reg-io-width = <4>; 350724ba675SRob Herring status = "disabled"; 351724ba675SRob Herring }; 352724ba675SRob Herring 353724ba675SRob Herring uart2: serial@ff570000 { 354724ba675SRob Herring compatible = "rockchip,rv1126-uart", "snps,dw-apb-uart"; 355724ba675SRob Herring reg = <0xff570000 0x100>; 356724ba675SRob Herring interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 357724ba675SRob Herring clock-frequency = <24000000>; 358724ba675SRob Herring clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; 359724ba675SRob Herring clock-names = "baudclk", "apb_pclk"; 360724ba675SRob Herring dmas = <&dmac 9>, <&dmac 8>; 361724ba675SRob Herring dma-names = "tx", "rx"; 362724ba675SRob Herring pinctrl-names = "default"; 363724ba675SRob Herring pinctrl-0 = <&uart2m1_xfer>; 364724ba675SRob Herring reg-shift = <2>; 365724ba675SRob Herring reg-io-width = <4>; 366724ba675SRob Herring status = "disabled"; 367724ba675SRob Herring }; 368724ba675SRob Herring 369724ba675SRob Herring uart3: serial@ff580000 { 370724ba675SRob Herring compatible = "rockchip,rv1126-uart", "snps,dw-apb-uart"; 371724ba675SRob Herring reg = <0xff580000 0x100>; 372724ba675SRob Herring interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 373724ba675SRob Herring clock-frequency = <24000000>; 374724ba675SRob Herring clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>; 375724ba675SRob Herring clock-names = "baudclk", "apb_pclk"; 376724ba675SRob Herring dmas = <&dmac 11>, <&dmac 10>; 377724ba675SRob Herring dma-names = "tx", "rx"; 378724ba675SRob Herring pinctrl-names = "default"; 379724ba675SRob Herring pinctrl-0 = <&uart3m0_xfer>; 380724ba675SRob Herring reg-shift = <2>; 381724ba675SRob Herring reg-io-width = <4>; 382724ba675SRob Herring status = "disabled"; 383724ba675SRob Herring }; 384724ba675SRob Herring 385724ba675SRob Herring uart4: serial@ff590000 { 386724ba675SRob Herring compatible = "rockchip,rv1126-uart", "snps,dw-apb-uart"; 387724ba675SRob Herring reg = <0xff590000 0x100>; 388724ba675SRob Herring interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 389724ba675SRob Herring clock-frequency = <24000000>; 390724ba675SRob Herring clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>; 391724ba675SRob Herring clock-names = "baudclk", "apb_pclk"; 392724ba675SRob Herring dmas = <&dmac 13>, <&dmac 12>; 393724ba675SRob Herring dma-names = "tx", "rx"; 394724ba675SRob Herring pinctrl-names = "default"; 395724ba675SRob Herring pinctrl-0 = <&uart4m0_xfer>; 396724ba675SRob Herring reg-shift = <2>; 397724ba675SRob Herring reg-io-width = <4>; 398724ba675SRob Herring status = "disabled"; 399724ba675SRob Herring }; 400724ba675SRob Herring 401724ba675SRob Herring uart5: serial@ff5a0000 { 402724ba675SRob Herring compatible = "rockchip,rv1126-uart", "snps,dw-apb-uart"; 403724ba675SRob Herring reg = <0xff5a0000 0x100>; 404724ba675SRob Herring interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>; 405724ba675SRob Herring clock-frequency = <24000000>; 406724ba675SRob Herring clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>; 407724ba675SRob Herring clock-names = "baudclk", "apb_pclk"; 408724ba675SRob Herring dmas = <&dmac 15>, <&dmac 14>; 409724ba675SRob Herring dma-names = "tx", "rx"; 410724ba675SRob Herring pinctrl-names = "default"; 411724ba675SRob Herring pinctrl-0 = <&uart5m0_xfer>; 412724ba675SRob Herring reg-shift = <2>; 413724ba675SRob Herring reg-io-width = <4>; 414724ba675SRob Herring status = "disabled"; 415724ba675SRob Herring }; 416724ba675SRob Herring 417724ba675SRob Herring saradc: adc@ff5e0000 { 418724ba675SRob Herring compatible = "rockchip,rv1126-saradc", "rockchip,rk3399-saradc"; 419724ba675SRob Herring reg = <0xff5e0000 0x100>; 420724ba675SRob Herring interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 421724ba675SRob Herring #io-channel-cells = <1>; 422724ba675SRob Herring clocks = <&cru CLK_SARADC>, <&cru PCLK_SARADC>; 423724ba675SRob Herring clock-names = "saradc", "apb_pclk"; 424724ba675SRob Herring resets = <&cru SRST_SARADC_P>; 425724ba675SRob Herring reset-names = "saradc-apb"; 426724ba675SRob Herring status = "disabled"; 427724ba675SRob Herring }; 428724ba675SRob Herring 429724ba675SRob Herring timer0: timer@ff660000 { 430724ba675SRob Herring compatible = "rockchip,rv1126-timer", "rockchip,rk3288-timer"; 431724ba675SRob Herring reg = <0xff660000 0x20>; 432724ba675SRob Herring interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 433724ba675SRob Herring clocks = <&cru PCLK_TIMER>, <&cru CLK_TIMER0>; 434724ba675SRob Herring clock-names = "pclk", "timer"; 435724ba675SRob Herring }; 436724ba675SRob Herring 437*212cda94SKarthikeyan Krishnasamy i2s0: i2s@ff800000 { 438*212cda94SKarthikeyan Krishnasamy compatible = "rockchip,rv1126-i2s-tdm"; 439*212cda94SKarthikeyan Krishnasamy reg = <0xff800000 0x1000>; 440*212cda94SKarthikeyan Krishnasamy interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; 441*212cda94SKarthikeyan Krishnasamy clocks = <&cru MCLK_I2S0_TX>, <&cru MCLK_I2S0_RX>, <&cru HCLK_I2S0>; 442*212cda94SKarthikeyan Krishnasamy clock-names = "mclk_tx", "mclk_rx", "hclk"; 443*212cda94SKarthikeyan Krishnasamy dmas = <&dmac 20>, <&dmac 19>; 444*212cda94SKarthikeyan Krishnasamy dma-names = "tx", "rx"; 445*212cda94SKarthikeyan Krishnasamy pinctrl-names = "default"; 446*212cda94SKarthikeyan Krishnasamy pinctrl-0 = <&i2s0m0_sclk_tx>, 447*212cda94SKarthikeyan Krishnasamy <&i2s0m0_sclk_rx>, 448*212cda94SKarthikeyan Krishnasamy <&i2s0m0_mclk>, 449*212cda94SKarthikeyan Krishnasamy <&i2s0m0_lrck_tx>, 450*212cda94SKarthikeyan Krishnasamy <&i2s0m0_lrck_rx>, 451*212cda94SKarthikeyan Krishnasamy <&i2s0m0_sdi0>, 452*212cda94SKarthikeyan Krishnasamy <&i2s0m0_sdo0>, 453*212cda94SKarthikeyan Krishnasamy <&i2s0m0_sdo1_sdi3>, 454*212cda94SKarthikeyan Krishnasamy <&i2s0m0_sdo2_sdi2>, 455*212cda94SKarthikeyan Krishnasamy <&i2s0m0_sdo3_sdi1>; 456*212cda94SKarthikeyan Krishnasamy resets = <&cru SRST_I2S0_TX_M>, <&cru SRST_I2S0_RX_M>; 457*212cda94SKarthikeyan Krishnasamy reset-names = "tx-m", "rx-m"; 458*212cda94SKarthikeyan Krishnasamy rockchip,grf = <&grf>; 459*212cda94SKarthikeyan Krishnasamy #sound-dai-cells = <0>; 460*212cda94SKarthikeyan Krishnasamy status = "disabled"; 461*212cda94SKarthikeyan Krishnasamy }; 462*212cda94SKarthikeyan Krishnasamy 4631bf0dcb1SJagan Teki vop: vop@ffb00000 { 4641bf0dcb1SJagan Teki compatible = "rockchip,rv1126-vop"; 4651bf0dcb1SJagan Teki reg = <0xffb00000 0x200>, <0xffb00a00 0x400>; 4661bf0dcb1SJagan Teki interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>; 4671bf0dcb1SJagan Teki clock-names = "aclk_vop", "dclk_vop", "hclk_vop"; 4681bf0dcb1SJagan Teki clocks = <&cru ACLK_VOP>, <&cru DCLK_VOP>, <&cru HCLK_VOP>; 4691bf0dcb1SJagan Teki reset-names = "axi", "ahb", "dclk"; 4701bf0dcb1SJagan Teki resets = <&cru SRST_VOP_A>, <&cru SRST_VOP_H>, <&cru SRST_VOP_D>; 4711bf0dcb1SJagan Teki iommus = <&vop_mmu>; 4721bf0dcb1SJagan Teki power-domains = <&power RV1126_PD_VO>; 4731bf0dcb1SJagan Teki status = "disabled"; 4741bf0dcb1SJagan Teki 4751bf0dcb1SJagan Teki vop_out: port { 4761bf0dcb1SJagan Teki #address-cells = <1>; 4771bf0dcb1SJagan Teki #size-cells = <0>; 4781bf0dcb1SJagan Teki 4791bf0dcb1SJagan Teki vop_out_rgb: endpoint@0 { 4801bf0dcb1SJagan Teki reg = <0>; 4811bf0dcb1SJagan Teki }; 4821bf0dcb1SJagan Teki 4831bf0dcb1SJagan Teki vop_out_dsi: endpoint@1 { 4841bf0dcb1SJagan Teki reg = <1>; 4851bf0dcb1SJagan Teki }; 4861bf0dcb1SJagan Teki }; 4871bf0dcb1SJagan Teki }; 4881bf0dcb1SJagan Teki 4891bf0dcb1SJagan Teki vop_mmu: iommu@ffb00f00 { 4901bf0dcb1SJagan Teki compatible = "rockchip,iommu"; 4911bf0dcb1SJagan Teki reg = <0xffb00f00 0x100>; 4921bf0dcb1SJagan Teki interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>; 4931bf0dcb1SJagan Teki clock-names = "aclk", "iface"; 4941bf0dcb1SJagan Teki clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>; 4951bf0dcb1SJagan Teki #iommu-cells = <0>; 4961bf0dcb1SJagan Teki power-domains = <&power RV1126_PD_VO>; 4971bf0dcb1SJagan Teki status = "disabled"; 4981bf0dcb1SJagan Teki }; 4991bf0dcb1SJagan Teki 500724ba675SRob Herring gmac: ethernet@ffc40000 { 501724ba675SRob Herring compatible = "rockchip,rv1126-gmac", "snps,dwmac-4.20a"; 502724ba675SRob Herring reg = <0xffc40000 0x4000>; 503724ba675SRob Herring interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>, 504724ba675SRob Herring <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>; 505724ba675SRob Herring interrupt-names = "macirq", "eth_wake_irq"; 506724ba675SRob Herring rockchip,grf = <&grf>; 507724ba675SRob Herring clocks = <&cru CLK_GMAC_SRC>, <&cru CLK_GMAC_TX_RX>, 508724ba675SRob Herring <&cru CLK_GMAC_TX_RX>, <&cru CLK_GMAC_REF>, 509724ba675SRob Herring <&cru ACLK_GMAC>, <&cru PCLK_GMAC>, 510724ba675SRob Herring <&cru CLK_GMAC_TX_RX>, <&cru CLK_GMAC_PTPREF>; 511724ba675SRob Herring clock-names = "stmmaceth", "mac_clk_rx", 512724ba675SRob Herring "mac_clk_tx", "clk_mac_ref", 513724ba675SRob Herring "aclk_mac", "pclk_mac", 514724ba675SRob Herring "clk_mac_speed", "ptp_ref"; 515724ba675SRob Herring resets = <&cru SRST_GMAC_A>; 516724ba675SRob Herring reset-names = "stmmaceth"; 517724ba675SRob Herring 518724ba675SRob Herring snps,mixed-burst; 519724ba675SRob Herring snps,tso; 520724ba675SRob Herring 521724ba675SRob Herring snps,axi-config = <&stmmac_axi_setup>; 522724ba675SRob Herring snps,mtl-rx-config = <&mtl_rx_setup>; 523724ba675SRob Herring snps,mtl-tx-config = <&mtl_tx_setup>; 524724ba675SRob Herring status = "disabled"; 525724ba675SRob Herring 526724ba675SRob Herring mdio: mdio { 527724ba675SRob Herring compatible = "snps,dwmac-mdio"; 528724ba675SRob Herring #address-cells = <0x1>; 529724ba675SRob Herring #size-cells = <0x0>; 530724ba675SRob Herring }; 531724ba675SRob Herring 532724ba675SRob Herring stmmac_axi_setup: stmmac-axi-config { 533724ba675SRob Herring snps,wr_osr_lmt = <4>; 534724ba675SRob Herring snps,rd_osr_lmt = <8>; 535724ba675SRob Herring snps,blen = <0 0 0 0 16 8 4>; 536724ba675SRob Herring }; 537724ba675SRob Herring 538724ba675SRob Herring mtl_rx_setup: rx-queues-config { 539724ba675SRob Herring snps,rx-queues-to-use = <1>; 540724ba675SRob Herring queue0 {}; 541724ba675SRob Herring }; 542724ba675SRob Herring 543724ba675SRob Herring mtl_tx_setup: tx-queues-config { 544724ba675SRob Herring snps,tx-queues-to-use = <1>; 545724ba675SRob Herring queue0 {}; 546724ba675SRob Herring }; 547724ba675SRob Herring }; 548724ba675SRob Herring 549724ba675SRob Herring emmc: mmc@ffc50000 { 550724ba675SRob Herring compatible = "rockchip,rv1126-dw-mshc", "rockchip,rk3288-dw-mshc"; 551724ba675SRob Herring reg = <0xffc50000 0x4000>; 552724ba675SRob Herring interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>; 553724ba675SRob Herring clocks = <&cru HCLK_EMMC>, <&cru CLK_EMMC>, 554724ba675SRob Herring <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>; 555724ba675SRob Herring clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 556724ba675SRob Herring fifo-depth = <0x100>; 557724ba675SRob Herring max-frequency = <200000000>; 558724ba675SRob Herring power-domains = <&power RV1126_PD_NVM>; 559724ba675SRob Herring status = "disabled"; 560724ba675SRob Herring }; 561724ba675SRob Herring 562724ba675SRob Herring sdmmc: mmc@ffc60000 { 563724ba675SRob Herring compatible = "rockchip,rv1126-dw-mshc", "rockchip,rk3288-dw-mshc"; 564724ba675SRob Herring reg = <0xffc60000 0x4000>; 565724ba675SRob Herring interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>; 566724ba675SRob Herring clocks = <&cru HCLK_SDMMC>, <&cru CLK_SDMMC>, 567724ba675SRob Herring <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>; 568724ba675SRob Herring clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 569724ba675SRob Herring fifo-depth = <0x100>; 570724ba675SRob Herring max-frequency = <200000000>; 571724ba675SRob Herring status = "disabled"; 572724ba675SRob Herring }; 573724ba675SRob Herring 574724ba675SRob Herring sdio: mmc@ffc70000 { 575724ba675SRob Herring compatible = "rockchip,rv1126-dw-mshc", "rockchip,rk3288-dw-mshc"; 576724ba675SRob Herring reg = <0xffc70000 0x4000>; 577724ba675SRob Herring interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; 578724ba675SRob Herring clocks = <&cru HCLK_SDIO>, <&cru CLK_SDIO>, 579724ba675SRob Herring <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>; 580724ba675SRob Herring clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 581724ba675SRob Herring fifo-depth = <0x100>; 582724ba675SRob Herring max-frequency = <200000000>; 583724ba675SRob Herring power-domains = <&power RV1126_PD_SDIO>; 584724ba675SRob Herring status = "disabled"; 585724ba675SRob Herring }; 586724ba675SRob Herring 587c3ae1484SJagan Teki sfc: spi@ffc90000 { 588c3ae1484SJagan Teki compatible = "rockchip,sfc"; 589c3ae1484SJagan Teki reg = <0xffc90000 0x4000>; 590c3ae1484SJagan Teki interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>; 591c3ae1484SJagan Teki assigned-clocks = <&cru SCLK_SFC>; 592c3ae1484SJagan Teki assigned-clock-rates = <80000000>; 593c3ae1484SJagan Teki clock-names = "clk_sfc", "hclk_sfc"; 594c3ae1484SJagan Teki clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>; 595c3ae1484SJagan Teki power-domains = <&power RV1126_PD_NVM>; 596c3ae1484SJagan Teki status = "disabled"; 597c3ae1484SJagan Teki }; 598c3ae1484SJagan Teki 599724ba675SRob Herring pinctrl: pinctrl { 600724ba675SRob Herring compatible = "rockchip,rv1126-pinctrl"; 601724ba675SRob Herring rockchip,grf = <&grf>; 602724ba675SRob Herring rockchip,pmu = <&pmugrf>; 603724ba675SRob Herring #address-cells = <1>; 604724ba675SRob Herring #size-cells = <1>; 605724ba675SRob Herring ranges; 606724ba675SRob Herring 607724ba675SRob Herring gpio0: gpio@ff460000 { 608724ba675SRob Herring compatible = "rockchip,gpio-bank"; 609724ba675SRob Herring reg = <0xff460000 0x100>; 610724ba675SRob Herring interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>; 611724ba675SRob Herring clocks = <&pmucru PCLK_GPIO0>, <&pmucru DBCLK_GPIO0>; 612724ba675SRob Herring gpio-controller; 613724ba675SRob Herring #gpio-cells = <2>; 614724ba675SRob Herring interrupt-controller; 615724ba675SRob Herring #interrupt-cells = <2>; 616724ba675SRob Herring }; 617724ba675SRob Herring 618724ba675SRob Herring gpio1: gpio@ff620000 { 619724ba675SRob Herring compatible = "rockchip,gpio-bank"; 620724ba675SRob Herring reg = <0xff620000 0x100>; 621724ba675SRob Herring interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>; 622724ba675SRob Herring clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>; 623724ba675SRob Herring gpio-controller; 624724ba675SRob Herring #gpio-cells = <2>; 625724ba675SRob Herring interrupt-controller; 626724ba675SRob Herring #interrupt-cells = <2>; 627724ba675SRob Herring }; 628724ba675SRob Herring 629724ba675SRob Herring gpio2: gpio@ff630000 { 630724ba675SRob Herring compatible = "rockchip,gpio-bank"; 631724ba675SRob Herring reg = <0xff630000 0x100>; 632724ba675SRob Herring interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 633724ba675SRob Herring clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>; 634724ba675SRob Herring gpio-controller; 635724ba675SRob Herring #gpio-cells = <2>; 636724ba675SRob Herring interrupt-controller; 637724ba675SRob Herring #interrupt-cells = <2>; 638724ba675SRob Herring }; 639724ba675SRob Herring 640724ba675SRob Herring gpio3: gpio@ff640000 { 641724ba675SRob Herring compatible = "rockchip,gpio-bank"; 642724ba675SRob Herring reg = <0xff640000 0x100>; 643724ba675SRob Herring interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 644724ba675SRob Herring clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>; 645724ba675SRob Herring gpio-controller; 646724ba675SRob Herring #gpio-cells = <2>; 647724ba675SRob Herring interrupt-controller; 648724ba675SRob Herring #interrupt-cells = <2>; 649724ba675SRob Herring }; 650724ba675SRob Herring 651724ba675SRob Herring gpio4: gpio@ff650000 { 652724ba675SRob Herring compatible = "rockchip,gpio-bank"; 653724ba675SRob Herring reg = <0xff650000 0x100>; 654724ba675SRob Herring interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 655724ba675SRob Herring clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>; 656724ba675SRob Herring gpio-controller; 657724ba675SRob Herring #gpio-cells = <2>; 658724ba675SRob Herring interrupt-controller; 659724ba675SRob Herring #interrupt-cells = <2>; 660724ba675SRob Herring }; 661724ba675SRob Herring }; 662724ba675SRob Herring}; 663724ba675SRob Herring 664724ba675SRob Herring#include "rv1126-pinctrl.dtsi" 665