1b647442cSKever Yang/* 2b647442cSKever Yang * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd. 3b647442cSKever Yang * 4b647442cSKever Yang * SPDX-License-Identifier: GPL-2.0+ 5b647442cSKever Yang */ 6b647442cSKever Yang 7b647442cSKever Yang#include <dt-bindings/gpio/gpio.h> 8b647442cSKever Yang#include <dt-bindings/interrupt-controller/irq.h> 9b647442cSKever Yang#include <dt-bindings/interrupt-controller/arm-gic.h> 10b647442cSKever Yang#include <dt-bindings/pinctrl/rockchip.h> 11b647442cSKever Yang#include <dt-bindings/clock/rk3228-cru.h> 12b647442cSKever Yang#include <dt-bindings/thermal/thermal.h> 13b647442cSKever Yang 14b647442cSKever Yang/ { 15b647442cSKever Yang #address-cells = <1>; 16b647442cSKever Yang #size-cells = <1>; 17b647442cSKever Yang 18b647442cSKever Yang interrupt-parent = <&gic>; 19b647442cSKever Yang 20b647442cSKever Yang aliases { 21b647442cSKever Yang serial0 = &uart0; 22b647442cSKever Yang serial1 = &uart1; 23b647442cSKever Yang serial2 = &uart2; 24a2a1bfe1SKever Yang mmc0 = &emmc; 25a2a1bfe1SKever Yang mmc1 = &sdmmc; 26b647442cSKever Yang }; 27b647442cSKever Yang 28b647442cSKever Yang cpus { 29b647442cSKever Yang #address-cells = <1>; 30b647442cSKever Yang #size-cells = <0>; 31b647442cSKever Yang 32b647442cSKever Yang cpu0: cpu@f00 { 33b647442cSKever Yang device_type = "cpu"; 34b647442cSKever Yang compatible = "arm,cortex-a7"; 35b647442cSKever Yang reg = <0xf00>; 36b647442cSKever Yang resets = <&cru SRST_CORE0>; 37b647442cSKever Yang operating-points = < 38b647442cSKever Yang /* KHz uV */ 39b647442cSKever Yang 816000 1000000 40b647442cSKever Yang >; 41b647442cSKever Yang #cooling-cells = <2>; /* min followed by max */ 42b647442cSKever Yang clock-latency = <40000>; 43b647442cSKever Yang clocks = <&cru ARMCLK>; 44b647442cSKever Yang }; 45b647442cSKever Yang 46b647442cSKever Yang cpu1: cpu@f01 { 47b647442cSKever Yang device_type = "cpu"; 48b647442cSKever Yang compatible = "arm,cortex-a7"; 49b647442cSKever Yang reg = <0xf01>; 50b647442cSKever Yang resets = <&cru SRST_CORE1>; 51b647442cSKever Yang }; 52b647442cSKever Yang 53b647442cSKever Yang cpu2: cpu@f02 { 54b647442cSKever Yang device_type = "cpu"; 55b647442cSKever Yang compatible = "arm,cortex-a7"; 56b647442cSKever Yang reg = <0xf02>; 57b647442cSKever Yang resets = <&cru SRST_CORE2>; 58b647442cSKever Yang }; 59b647442cSKever Yang 60b647442cSKever Yang cpu3: cpu@f03 { 61b647442cSKever Yang device_type = "cpu"; 62b647442cSKever Yang compatible = "arm,cortex-a7"; 63b647442cSKever Yang reg = <0xf03>; 64b647442cSKever Yang resets = <&cru SRST_CORE3>; 65b647442cSKever Yang }; 66b647442cSKever Yang }; 67b647442cSKever Yang 68b647442cSKever Yang amba { 69b647442cSKever Yang compatible = "simple-bus"; 70b647442cSKever Yang #address-cells = <1>; 71b647442cSKever Yang #size-cells = <1>; 72b647442cSKever Yang ranges; 73b647442cSKever Yang 74b647442cSKever Yang pdma: pdma@110f0000 { 75b647442cSKever Yang compatible = "arm,pl330", "arm,primecell"; 76b647442cSKever Yang reg = <0x110f0000 0x4000>; 77b647442cSKever Yang interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, 78b647442cSKever Yang <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; 79b647442cSKever Yang #dma-cells = <1>; 80b647442cSKever Yang clocks = <&cru ACLK_DMAC>; 81b647442cSKever Yang clock-names = "apb_pclk"; 82b647442cSKever Yang }; 83b647442cSKever Yang }; 84b647442cSKever Yang 85b647442cSKever Yang arm-pmu { 86b647442cSKever Yang compatible = "arm,cortex-a7-pmu"; 87b647442cSKever Yang interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>, 88b647442cSKever Yang <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>, 89b647442cSKever Yang <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>, 90b647442cSKever Yang <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>; 91b647442cSKever Yang interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 92b647442cSKever Yang }; 93b647442cSKever Yang 94a2815bdaSJoseph Chen memory@60000000 { 95a2815bdaSJoseph Chen device_type = "memory"; 96a2815bdaSJoseph Chen reg = <0x60000000 0x40000000>; 97a2815bdaSJoseph Chen }; 98a2815bdaSJoseph Chen 99*fbf3603bSJoseph Chen psci: psci { 100*fbf3603bSJoseph Chen compatible = "arm,psci-1.0"; 101*fbf3603bSJoseph Chen method = "smc"; 102*fbf3603bSJoseph Chen }; 103*fbf3603bSJoseph Chen 104b647442cSKever Yang timer { 105b647442cSKever Yang compatible = "arm,armv7-timer"; 106b647442cSKever Yang arm,cpu-registers-not-fw-configured; 107b647442cSKever Yang interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 108b647442cSKever Yang <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 109b647442cSKever Yang <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 110b647442cSKever Yang <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 111b647442cSKever Yang clock-frequency = <24000000>; 112b647442cSKever Yang }; 113b647442cSKever Yang 114b647442cSKever Yang xin24m: oscillator { 115b647442cSKever Yang compatible = "fixed-clock"; 116b647442cSKever Yang clock-frequency = <24000000>; 117b647442cSKever Yang clock-output-names = "xin24m"; 118b647442cSKever Yang #clock-cells = <0>; 119b647442cSKever Yang }; 120b647442cSKever Yang 121b647442cSKever Yang bus_intmem@10080000 { 122b647442cSKever Yang compatible = "mmio-sram"; 123b647442cSKever Yang reg = <0x10080000 0x9000>; 124b647442cSKever Yang #address-cells = <1>; 125b647442cSKever Yang #size-cells = <1>; 126b647442cSKever Yang ranges = <0 0x10080000 0x9000>; 127b647442cSKever Yang smp-sram@0 { 128b647442cSKever Yang compatible = "rockchip,rk322x-smp-sram"; 129b647442cSKever Yang reg = <0x00 0x10>; 130b647442cSKever Yang }; 131b647442cSKever Yang ddr_sram: ddr-sram@1000 { 132b647442cSKever Yang compatible = "rockchip,rk322x-ddr-sram"; 133b647442cSKever Yang reg = <0x1000 0x8000>; 134b647442cSKever Yang }; 135b647442cSKever Yang }; 136b647442cSKever Yang 1377a92af66SLin Jinhan crypto: crypto@100a0000 { 1387a92af66SLin Jinhan compatible = "rockchip,rk322x-crypto"; 1397a92af66SLin Jinhan reg = <0x100a0000 0x10000>; 1407a92af66SLin Jinhan clock-names = "sclk_crypto"; 1417a92af66SLin Jinhan clocks = <&cru SCLK_CRYPTO>; 1427a92af66SLin Jinhan status = "disabled"; 1437a92af66SLin Jinhan }; 1447a92af66SLin Jinhan 145b647442cSKever Yang i2s1: i2s1@100b0000 { 146b647442cSKever Yang compatible = "rockchip,rk3228-i2s", "rockchip,rk3066-i2s"; 147b647442cSKever Yang reg = <0x100b0000 0x4000>; 148b647442cSKever Yang interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>; 149b647442cSKever Yang #address-cells = <1>; 150b647442cSKever Yang #size-cells = <0>; 151b647442cSKever Yang clock-names = "i2s_clk", "i2s_hclk"; 152b647442cSKever Yang clocks = <&cru SCLK_I2S1>, <&cru HCLK_I2S1_8CH>; 153b647442cSKever Yang dmas = <&pdma 14>, <&pdma 15>; 154b647442cSKever Yang dma-names = "tx", "rx"; 155b647442cSKever Yang pinctrl-names = "default"; 156b647442cSKever Yang pinctrl-0 = <&i2s1_bus>; 157b647442cSKever Yang status = "disabled"; 158b647442cSKever Yang }; 159b647442cSKever Yang 160b647442cSKever Yang i2s0: i2s0@100c0000 { 161b647442cSKever Yang compatible = "rockchip,rk3228-i2s", "rockchip,rk3066-i2s"; 162b647442cSKever Yang reg = <0x100c0000 0x4000>; 163b647442cSKever Yang interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 164b647442cSKever Yang #address-cells = <1>; 165b647442cSKever Yang #size-cells = <0>; 166b647442cSKever Yang clock-names = "i2s_clk", "i2s_hclk"; 167b647442cSKever Yang clocks = <&cru SCLK_I2S0>, <&cru HCLK_I2S0_8CH>; 168b647442cSKever Yang dmas = <&pdma 11>, <&pdma 12>; 169b647442cSKever Yang dma-names = "tx", "rx"; 170b647442cSKever Yang status = "disabled"; 171b647442cSKever Yang }; 172b647442cSKever Yang 173b647442cSKever Yang i2s2: i2s2@100e0000 { 174b647442cSKever Yang compatible = "rockchip,rk3228-i2s", "rockchip,rk3066-i2s"; 175b647442cSKever Yang reg = <0x100e0000 0x4000>; 176b647442cSKever Yang interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 177b647442cSKever Yang #address-cells = <1>; 178b647442cSKever Yang #size-cells = <0>; 179b647442cSKever Yang clock-names = "i2s_clk", "i2s_hclk"; 180b647442cSKever Yang clocks = <&cru SCLK_I2S2>, <&cru HCLK_I2S2_2CH>; 181b647442cSKever Yang dmas = <&pdma 0>, <&pdma 1>; 182b647442cSKever Yang dma-names = "tx", "rx"; 183b647442cSKever Yang status = "disabled"; 184b647442cSKever Yang }; 185b647442cSKever Yang 186b647442cSKever Yang grf: syscon@11000000 { 187b647442cSKever Yang compatible = "rockchip,rk3228-grf", "syscon"; 188b647442cSKever Yang reg = <0x11000000 0x1000>; 189e4a1de10SWilliam Wu #address-cells = <1>; 190e4a1de10SWilliam Wu #size-cells = <1>; 191e4a1de10SWilliam Wu 192e4a1de10SWilliam Wu u2phy0: usb2-phy@760 { 193e4a1de10SWilliam Wu compatible = "rockchip,rk322x-usb2phy"; 194e4a1de10SWilliam Wu reg = <0x0760 0x0c>; 195e4a1de10SWilliam Wu status = "disabled"; 196e4a1de10SWilliam Wu 197e4a1de10SWilliam Wu u2phy0_otg: otg-port { 198e4a1de10SWilliam Wu #phy-cells = <0>; 199e4a1de10SWilliam Wu interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>, 200e4a1de10SWilliam Wu <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>, 201e4a1de10SWilliam Wu <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; 202e4a1de10SWilliam Wu interrupt-names = "otg-bvalid", "otg-id", 203e4a1de10SWilliam Wu "linestate"; 204e4a1de10SWilliam Wu status = "disabled"; 205e4a1de10SWilliam Wu }; 206e4a1de10SWilliam Wu 207e4a1de10SWilliam Wu u2phy0_host: host-port { 208e4a1de10SWilliam Wu #phy-cells = <0>; 209e4a1de10SWilliam Wu interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 210e4a1de10SWilliam Wu interrupt-names = "linestate"; 211e4a1de10SWilliam Wu status = "disabled"; 212e4a1de10SWilliam Wu }; 213e4a1de10SWilliam Wu }; 214e4a1de10SWilliam Wu 215e4a1de10SWilliam Wu u2phy1: usb2-phy@800 { 216e4a1de10SWilliam Wu compatible = "rockchip,rk322x-usb2phy"; 217e4a1de10SWilliam Wu reg = <0x0800 0x0c>; 218e4a1de10SWilliam Wu status = "disabled"; 219e4a1de10SWilliam Wu 220e4a1de10SWilliam Wu u2phy1_otg: otg-port { 221e4a1de10SWilliam Wu #phy-cells = <0>; 222e4a1de10SWilliam Wu interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; 223e4a1de10SWilliam Wu interrupt-names = "linestate"; 224e4a1de10SWilliam Wu status = "disabled"; 225e4a1de10SWilliam Wu }; 226e4a1de10SWilliam Wu 227e4a1de10SWilliam Wu u2phy1_host: host-port { 228e4a1de10SWilliam Wu #phy-cells = <0>; 229e4a1de10SWilliam Wu interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>; 230e4a1de10SWilliam Wu interrupt-names = "linestate"; 231e4a1de10SWilliam Wu status = "disabled"; 232e4a1de10SWilliam Wu }; 233e4a1de10SWilliam Wu }; 234b647442cSKever Yang }; 235b647442cSKever Yang 236b647442cSKever Yang uart0: serial@11010000 { 237b647442cSKever Yang compatible = "snps,dw-apb-uart"; 238b647442cSKever Yang reg = <0x11010000 0x100>; 239b647442cSKever Yang interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; 240b647442cSKever Yang clock-frequency = <24000000>; 241b647442cSKever Yang clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; 242b647442cSKever Yang clock-names = "baudclk", "apb_pclk"; 243b647442cSKever Yang pinctrl-names = "default"; 244b647442cSKever Yang pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 245b647442cSKever Yang reg-shift = <2>; 246b647442cSKever Yang reg-io-width = <4>; 247b647442cSKever Yang status = "disabled"; 248b647442cSKever Yang }; 249b647442cSKever Yang 250b647442cSKever Yang uart1: serial@11020000 { 251b647442cSKever Yang compatible = "snps,dw-apb-uart"; 252b647442cSKever Yang reg = <0x11020000 0x100>; 253b647442cSKever Yang interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>; 254b647442cSKever Yang clock-frequency = <24000000>; 255b647442cSKever Yang clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; 256b647442cSKever Yang clock-names = "baudclk", "apb_pclk"; 257b647442cSKever Yang pinctrl-names = "default"; 258b647442cSKever Yang pinctrl-0 = <&uart1_xfer>; 259b647442cSKever Yang reg-shift = <2>; 260b647442cSKever Yang reg-io-width = <4>; 261b647442cSKever Yang status = "disabled"; 262b647442cSKever Yang }; 263b647442cSKever Yang 264b647442cSKever Yang uart2: serial@11030000 { 265b647442cSKever Yang compatible = "snps,dw-apb-uart"; 266b647442cSKever Yang reg = <0x11030000 0x100>; 267b647442cSKever Yang interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>; 268b647442cSKever Yang clock-frequency = <24000000>; 269b647442cSKever Yang clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; 270b647442cSKever Yang clock-names = "baudclk", "apb_pclk"; 271b647442cSKever Yang pinctrl-names = "default"; 2723174f329SDavid Wu pinctrl-0 = <&uart21_xfer>; 273b647442cSKever Yang reg-shift = <2>; 274b647442cSKever Yang reg-io-width = <4>; 275b647442cSKever Yang status = "disabled"; 276b647442cSKever Yang }; 277b647442cSKever Yang 2785d3e2943SFrancis Fan efuse: efuse@11040000 { 2795d3e2943SFrancis Fan compatible = "rockchip,rk322x-efuse"; 2805d3e2943SFrancis Fan reg = <0x11040000 0x20>; 2815d3e2943SFrancis Fan #address-cells = <1>; 2825d3e2943SFrancis Fan #size-cells = <1>; 2835d3e2943SFrancis Fan clocks = <&cru PCLK_EFUSE_256>; 2845d3e2943SFrancis Fan clock-names = "pclk_efuse"; 2855d3e2943SFrancis Fan 2865d3e2943SFrancis Fan /* Data cells */ 2875d3e2943SFrancis Fan efuse_id: id@7 { 2885d3e2943SFrancis Fan reg = <0x7 0x10>; 2895d3e2943SFrancis Fan }; 2905d3e2943SFrancis Fan cpu_leakage: cpu_leakage@17 { 2915d3e2943SFrancis Fan reg = <0x17 0x1>; 2925d3e2943SFrancis Fan }; 2935d3e2943SFrancis Fan }; 2945d3e2943SFrancis Fan 295b647442cSKever Yang i2c0: i2c@11050000 { 296b647442cSKever Yang compatible = "rockchip,rk3228-i2c"; 297b647442cSKever Yang reg = <0x11050000 0x1000>; 298b647442cSKever Yang interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 299b647442cSKever Yang #address-cells = <1>; 300b647442cSKever Yang #size-cells = <0>; 301b647442cSKever Yang clock-names = "i2c"; 302b647442cSKever Yang clocks = <&cru PCLK_I2C0>; 303b647442cSKever Yang pinctrl-names = "default"; 304b647442cSKever Yang pinctrl-0 = <&i2c0_xfer>; 305b647442cSKever Yang status = "disabled"; 306b647442cSKever Yang }; 307b647442cSKever Yang 308b647442cSKever Yang i2c1: i2c@11060000 { 309b647442cSKever Yang compatible = "rockchip,rk3228-i2c"; 310b647442cSKever Yang reg = <0x11060000 0x1000>; 311b647442cSKever Yang interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 312b647442cSKever Yang #address-cells = <1>; 313b647442cSKever Yang #size-cells = <0>; 314b647442cSKever Yang clock-names = "i2c"; 315b647442cSKever Yang clocks = <&cru PCLK_I2C1>; 316b647442cSKever Yang pinctrl-names = "default"; 317b647442cSKever Yang pinctrl-0 = <&i2c1_xfer>; 318b647442cSKever Yang status = "disabled"; 319b647442cSKever Yang }; 320b647442cSKever Yang 321b647442cSKever Yang i2c2: i2c@11070000 { 322b647442cSKever Yang compatible = "rockchip,rk3228-i2c"; 323b647442cSKever Yang reg = <0x11070000 0x1000>; 324b647442cSKever Yang interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 325b647442cSKever Yang #address-cells = <1>; 326b647442cSKever Yang #size-cells = <0>; 327b647442cSKever Yang clock-names = "i2c"; 328b647442cSKever Yang clocks = <&cru PCLK_I2C2>; 329b647442cSKever Yang pinctrl-names = "default"; 330b647442cSKever Yang pinctrl-0 = <&i2c2_xfer>; 331b647442cSKever Yang status = "disabled"; 332b647442cSKever Yang }; 333b647442cSKever Yang 334b647442cSKever Yang i2c3: i2c@11080000 { 335b647442cSKever Yang compatible = "rockchip,rk3228-i2c"; 336b647442cSKever Yang reg = <0x11080000 0x1000>; 337b647442cSKever Yang interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 338b647442cSKever Yang #address-cells = <1>; 339b647442cSKever Yang #size-cells = <0>; 340b647442cSKever Yang clock-names = "i2c"; 341b647442cSKever Yang clocks = <&cru PCLK_I2C3>; 342b647442cSKever Yang pinctrl-names = "default"; 343b647442cSKever Yang pinctrl-0 = <&i2c3_xfer>; 344b647442cSKever Yang status = "disabled"; 345b647442cSKever Yang }; 346b647442cSKever Yang 347b647442cSKever Yang pwm0: pwm@110b0000 { 348b647442cSKever Yang compatible = "rockchip,rk3288-pwm"; 349b647442cSKever Yang reg = <0x110b0000 0x10>; 350b647442cSKever Yang #pwm-cells = <3>; 351b647442cSKever Yang clocks = <&cru PCLK_PWM>; 352b647442cSKever Yang clock-names = "pwm"; 353bab0c55cSDavid Wu pinctrl-names = "active"; 354b647442cSKever Yang pinctrl-0 = <&pwm0_pin>; 355b647442cSKever Yang status = "disabled"; 356b647442cSKever Yang }; 357b647442cSKever Yang 358b647442cSKever Yang pwm1: pwm@110b0010 { 359b647442cSKever Yang compatible = "rockchip,rk3288-pwm"; 360b647442cSKever Yang reg = <0x110b0010 0x10>; 361b647442cSKever Yang #pwm-cells = <3>; 362b647442cSKever Yang clocks = <&cru PCLK_PWM>; 363b647442cSKever Yang clock-names = "pwm"; 364bab0c55cSDavid Wu pinctrl-names = "active"; 365b647442cSKever Yang pinctrl-0 = <&pwm1_pin>; 366b647442cSKever Yang status = "disabled"; 367b647442cSKever Yang }; 368b647442cSKever Yang 369b647442cSKever Yang pwm2: pwm@110b0020 { 370b647442cSKever Yang compatible = "rockchip,rk3288-pwm"; 371b647442cSKever Yang reg = <0x110b0020 0x10>; 372b647442cSKever Yang #pwm-cells = <3>; 373b647442cSKever Yang clocks = <&cru PCLK_PWM>; 374b647442cSKever Yang clock-names = "pwm"; 375bab0c55cSDavid Wu pinctrl-names = "active"; 376b647442cSKever Yang pinctrl-0 = <&pwm2_pin>; 377b647442cSKever Yang status = "disabled"; 378b647442cSKever Yang }; 379b647442cSKever Yang 380b647442cSKever Yang pwm3: pwm@110b0030 { 381b647442cSKever Yang compatible = "rockchip,rk3288-pwm"; 382b647442cSKever Yang reg = <0x110b0030 0x10>; 383b647442cSKever Yang #pwm-cells = <2>; 384b647442cSKever Yang clocks = <&cru PCLK_PWM>; 385b647442cSKever Yang clock-names = "pwm"; 386bab0c55cSDavid Wu pinctrl-names = "active"; 387b647442cSKever Yang pinctrl-0 = <&pwm3_pin>; 388b647442cSKever Yang status = "disabled"; 389b647442cSKever Yang }; 390b647442cSKever Yang 391b647442cSKever Yang timer: timer@110c0000 { 392b647442cSKever Yang compatible = "rockchip,rk3288-timer"; 393b647442cSKever Yang reg = <0x110c0000 0x20>; 394b647442cSKever Yang interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>; 395b647442cSKever Yang clocks = <&xin24m>, <&cru PCLK_TIMER>; 396b647442cSKever Yang clock-names = "timer", "pclk"; 397b647442cSKever Yang }; 398b647442cSKever Yang 399b647442cSKever Yang cru: clock-controller@110e0000 { 400b647442cSKever Yang compatible = "rockchip,rk3228-cru"; 401b647442cSKever Yang reg = <0x110e0000 0x1000>; 402b647442cSKever Yang rockchip,grf = <&grf>; 403b647442cSKever Yang #clock-cells = <1>; 404b647442cSKever Yang #reset-cells = <1>; 405b647442cSKever Yang assigned-clocks = <&cru PLL_GPLL>; 406b647442cSKever Yang assigned-clock-rates = <594000000>; 407b647442cSKever Yang }; 408b647442cSKever Yang 409b647442cSKever Yang thermal-zones { 410b647442cSKever Yang cpu_thermal: cpu-thermal { 411b647442cSKever Yang polling-delay-passive = <100>; /* milliseconds */ 412b647442cSKever Yang polling-delay = <5000>; /* milliseconds */ 413b647442cSKever Yang 414b647442cSKever Yang thermal-sensors = <&tsadc 0>; 415b647442cSKever Yang 416b647442cSKever Yang trips { 417b647442cSKever Yang cpu_alert0: cpu_alert0 { 418b647442cSKever Yang temperature = <70000>; /* millicelsius */ 419b647442cSKever Yang hysteresis = <2000>; /* millicelsius */ 420b647442cSKever Yang type = "passive"; 421b647442cSKever Yang }; 422b647442cSKever Yang cpu_alert1: cpu_alert1 { 423b647442cSKever Yang temperature = <75000>; /* millicelsius */ 424b647442cSKever Yang hysteresis = <2000>; /* millicelsius */ 425b647442cSKever Yang type = "passive"; 426b647442cSKever Yang }; 427b647442cSKever Yang cpu_crit: cpu_crit { 428b647442cSKever Yang temperature = <90000>; /* millicelsius */ 429b647442cSKever Yang hysteresis = <2000>; /* millicelsius */ 430b647442cSKever Yang type = "critical"; 431b647442cSKever Yang }; 432b647442cSKever Yang }; 433b647442cSKever Yang 434b647442cSKever Yang cooling-maps { 435b647442cSKever Yang map0 { 436b647442cSKever Yang trip = <&cpu_alert0>; 437b647442cSKever Yang cooling-device = 438b647442cSKever Yang <&cpu0 THERMAL_NO_LIMIT 6>; 439b647442cSKever Yang }; 440b647442cSKever Yang map1 { 441b647442cSKever Yang trip = <&cpu_alert1>; 442b647442cSKever Yang cooling-device = 443b647442cSKever Yang <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; 444b647442cSKever Yang }; 445b647442cSKever Yang }; 446b647442cSKever Yang }; 447b647442cSKever Yang }; 448b647442cSKever Yang 449b647442cSKever Yang tsadc: tsadc@11150000 { 450b647442cSKever Yang compatible = "rockchip,rk3228-tsadc"; 451b647442cSKever Yang reg = <0x11150000 0x100>; 452b647442cSKever Yang interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; 453b647442cSKever Yang clocks = <&cru SCLK_TSADC>, <&cru PCLK_TSADC>; 454b647442cSKever Yang clock-names = "tsadc", "apb_pclk"; 455b647442cSKever Yang resets = <&cru SRST_TSADC>; 456b647442cSKever Yang reset-names = "tsadc-apb"; 457b647442cSKever Yang pinctrl-names = "init", "default", "sleep"; 458b647442cSKever Yang pinctrl-0 = <&otp_gpio>; 459b647442cSKever Yang pinctrl-1 = <&otp_out>; 460b647442cSKever Yang pinctrl-2 = <&otp_gpio>; 461b647442cSKever Yang #thermal-sensor-cells = <0>; 462b647442cSKever Yang rockchip,hw-tshut-temp = <95000>; 463b647442cSKever Yang status = "disabled"; 464b647442cSKever Yang }; 465b647442cSKever Yang 466a2a1bfe1SKever Yang sdmmc: dwmmc@30000000 { 467a2a1bfe1SKever Yang compatible = "rockchip,rk3228-dw-mshc", "rockchip,rk3288-dw-mshc"; 468a2a1bfe1SKever Yang reg = <0x30000000 0x4000>; 46995ca100bSKever Yang max-frequency = <150000000>; 470a2a1bfe1SKever Yang interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 471a2a1bfe1SKever Yang clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>, 472a2a1bfe1SKever Yang <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>; 473c5c7b477SKever Yang clock-names = "biu", "ciu", "ciu-drv", "ciu-sample"; 474a2a1bfe1SKever Yang fifo-depth = <0x100>; 4754df150d1SJason Zhu cd-gpios = <&gpio1 RK_PC1 GPIO_ACTIVE_HIGH>; 476a2a1bfe1SKever Yang pinctrl-names = "default"; 477a2a1bfe1SKever Yang pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>; 478a2a1bfe1SKever Yang status = "disabled"; 479a2a1bfe1SKever Yang }; 480a2a1bfe1SKever Yang 481a2a1bfe1SKever Yang sdio: dwmmc@30010000 { 482a2a1bfe1SKever Yang compatible = "rockchip,rk3228-dw-mshc", "rockchip,rk3288-dw-mshc"; 483a2a1bfe1SKever Yang reg = <0x30010000 0x4000>; 484a2a1bfe1SKever Yang interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 485a2a1bfe1SKever Yang clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>, 486a2a1bfe1SKever Yang <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>; 487c5c7b477SKever Yang clock-names = "biu", "ciu", "ciu-drv", "ciu-sample"; 488a2a1bfe1SKever Yang fifo-depth = <0x100>; 489a2a1bfe1SKever Yang pinctrl-names = "default"; 490a2a1bfe1SKever Yang pinctrl-0 = <&sdio_clk &sdio_cmd &sdio_bus4>; 491a2a1bfe1SKever Yang status = "disabled"; 492a2a1bfe1SKever Yang }; 493a2a1bfe1SKever Yang 494b647442cSKever Yang emmc: dwmmc@30020000 { 495b647442cSKever Yang compatible = "rockchip,rk3288-dw-mshc"; 496b647442cSKever Yang reg = <0x30020000 0x4000>; 49795ca100bSKever Yang max-frequency = <150000000>; 498b647442cSKever Yang interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 499b647442cSKever Yang clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>, 500b647442cSKever Yang <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>; 501c5c7b477SKever Yang clock-names = "biu", "ciu", "ciu-drv", "ciu-sample"; 502b647442cSKever Yang bus-width = <8>; 503b647442cSKever Yang default-sample-phase = <158>; 504b647442cSKever Yang num-slots = <1>; 505b647442cSKever Yang fifo-depth = <0x100>; 506b647442cSKever Yang pinctrl-names = "default"; 507b647442cSKever Yang pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>; 508b647442cSKever Yang resets = <&cru SRST_EMMC>; 509b647442cSKever Yang reset-names = "reset"; 510b647442cSKever Yang status = "disabled"; 511b647442cSKever Yang }; 512b647442cSKever Yang 51301240628SMeng Dongyang usb20_otg: usb@30040000 { 51401240628SMeng Dongyang compatible = "rockchip,rk3229-usb", "rockchip,rk3288-usb", 51501240628SMeng Dongyang "snps,dwc2"; 51601240628SMeng Dongyang reg = <0x30040000 0x40000>; 51701240628SMeng Dongyang interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 51801240628SMeng Dongyang hnp-srp-disable; 51901240628SMeng Dongyang dr_mode = "otg"; 520e4a1de10SWilliam Wu phys = <&u2phy0_otg>; 521e4a1de10SWilliam Wu phy-names = "usb2-phy"; 52201240628SMeng Dongyang status = "disabled"; 52301240628SMeng Dongyang }; 52401240628SMeng Dongyang 525b647442cSKever Yang gmac: ethernet@30200000 { 526b647442cSKever Yang compatible = "rockchip,rk3228-gmac"; 527b647442cSKever Yang reg = <0x30200000 0x10000>; 528b647442cSKever Yang interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 529b647442cSKever Yang interrupt-names = "macirq"; 530b647442cSKever Yang clocks = <&cru SCLK_MAC>, <&cru SCLK_MAC_RX>, 531b647442cSKever Yang <&cru SCLK_MAC_TX>, <&cru SCLK_MAC_REF>, 532b647442cSKever Yang <&cru SCLK_MAC_REFOUT>, <&cru ACLK_GMAC>, 533fed88102SDavid Wu <&cru PCLK_GMAC>, <&cru SCLK_MAC_PHY>; 534b647442cSKever Yang clock-names = "stmmaceth", "mac_clk_rx", 535b647442cSKever Yang "mac_clk_tx", "clk_mac_ref", 536b647442cSKever Yang "clk_mac_refout", "aclk_mac", 537fed88102SDavid Wu "pclk_mac", "clk_macphy"; 538fed88102SDavid Wu resets = <&cru SRST_GMAC>, <&cru SRST_MACPHY>; 539fed88102SDavid Wu reset-names = "stmmaceth", "mac-phy"; 540b647442cSKever Yang rockchip,grf = <&grf>; 541b647442cSKever Yang status = "disabled"; 542b647442cSKever Yang }; 543b647442cSKever Yang 544b647442cSKever Yang gic: interrupt-controller@32010000 { 545b647442cSKever Yang compatible = "arm,gic-400"; 546b647442cSKever Yang interrupt-controller; 547b647442cSKever Yang #interrupt-cells = <3>; 548b647442cSKever Yang #address-cells = <0>; 549b647442cSKever Yang 550b647442cSKever Yang reg = <0x32011000 0x1000>, 551b647442cSKever Yang <0x32012000 0x2000>, 552b647442cSKever Yang <0x32014000 0x2000>, 553b647442cSKever Yang <0x32016000 0x2000>; 554b647442cSKever Yang interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 555b647442cSKever Yang }; 556b647442cSKever Yang 557b647442cSKever Yang pinctrl: pinctrl { 558b647442cSKever Yang compatible = "rockchip,rk3228-pinctrl"; 559b647442cSKever Yang rockchip,grf = <&grf>; 560b647442cSKever Yang #address-cells = <1>; 561b647442cSKever Yang #size-cells = <1>; 562b647442cSKever Yang ranges; 563b647442cSKever Yang 564b647442cSKever Yang gpio0: gpio0@11110000 { 565b647442cSKever Yang compatible = "rockchip,gpio-bank"; 566b647442cSKever Yang reg = <0x11110000 0x100>; 567b647442cSKever Yang interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 568b647442cSKever Yang clocks = <&cru PCLK_GPIO0>; 569b647442cSKever Yang 570b647442cSKever Yang gpio-controller; 571b647442cSKever Yang #gpio-cells = <2>; 572b647442cSKever Yang 573b647442cSKever Yang interrupt-controller; 574b647442cSKever Yang #interrupt-cells = <2>; 575b647442cSKever Yang }; 576b647442cSKever Yang 577b647442cSKever Yang gpio1: gpio1@11120000 { 578b647442cSKever Yang compatible = "rockchip,gpio-bank"; 579b647442cSKever Yang reg = <0x11120000 0x100>; 580b647442cSKever Yang interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>; 581b647442cSKever Yang clocks = <&cru PCLK_GPIO1>; 582b647442cSKever Yang 583b647442cSKever Yang gpio-controller; 584b647442cSKever Yang #gpio-cells = <2>; 585b647442cSKever Yang 586b647442cSKever Yang interrupt-controller; 587b647442cSKever Yang #interrupt-cells = <2>; 588b647442cSKever Yang }; 589b647442cSKever Yang 590b647442cSKever Yang gpio2: gpio2@11130000 { 591b647442cSKever Yang compatible = "rockchip,gpio-bank"; 592b647442cSKever Yang reg = <0x11130000 0x100>; 593b647442cSKever Yang interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>; 594b647442cSKever Yang clocks = <&cru PCLK_GPIO2>; 595b647442cSKever Yang 596b647442cSKever Yang gpio-controller; 597b647442cSKever Yang #gpio-cells = <2>; 598b647442cSKever Yang 599b647442cSKever Yang interrupt-controller; 600b647442cSKever Yang #interrupt-cells = <2>; 601b647442cSKever Yang }; 602b647442cSKever Yang 603b647442cSKever Yang gpio3: gpio3@11140000 { 604b647442cSKever Yang compatible = "rockchip,gpio-bank"; 605b647442cSKever Yang reg = <0x11140000 0x100>; 606b647442cSKever Yang interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; 607b647442cSKever Yang clocks = <&cru PCLK_GPIO3>; 608b647442cSKever Yang 609b647442cSKever Yang gpio-controller; 610b647442cSKever Yang #gpio-cells = <2>; 611b647442cSKever Yang 612b647442cSKever Yang interrupt-controller; 613b647442cSKever Yang #interrupt-cells = <2>; 614b647442cSKever Yang }; 615b647442cSKever Yang 616b647442cSKever Yang pcfg_pull_up: pcfg-pull-up { 617b647442cSKever Yang bias-pull-up; 618b647442cSKever Yang }; 619b647442cSKever Yang 620b647442cSKever Yang pcfg_pull_down: pcfg-pull-down { 621b647442cSKever Yang bias-pull-down; 622b647442cSKever Yang }; 623b647442cSKever Yang 624b647442cSKever Yang pcfg_pull_none: pcfg-pull-none { 625b647442cSKever Yang bias-disable; 626b647442cSKever Yang }; 627b647442cSKever Yang 628b647442cSKever Yang pcfg_pull_none_drv_12ma: pcfg-pull-none-drv-12ma { 629b647442cSKever Yang drive-strength = <12>; 630b647442cSKever Yang }; 631b647442cSKever Yang 632a2a1bfe1SKever Yang sdmmc { 633a2a1bfe1SKever Yang sdmmc_clk: sdmmc-clk { 634a2a1bfe1SKever Yang rockchip,pins = <1 16 RK_FUNC_1 &pcfg_pull_none_drv_12ma>; 635a2a1bfe1SKever Yang }; 636a2a1bfe1SKever Yang 637a2a1bfe1SKever Yang sdmmc_cmd: sdmmc-cmd { 638a2a1bfe1SKever Yang rockchip,pins = <1 15 RK_FUNC_1 &pcfg_pull_none_drv_12ma>; 639a2a1bfe1SKever Yang }; 640a2a1bfe1SKever Yang 641a2a1bfe1SKever Yang sdmmc_bus4: sdmmc-bus4 { 642a2a1bfe1SKever Yang rockchip,pins = <1 18 RK_FUNC_1 &pcfg_pull_none_drv_12ma>, 643a2a1bfe1SKever Yang <1 19 RK_FUNC_1 &pcfg_pull_none_drv_12ma>, 644a2a1bfe1SKever Yang <1 20 RK_FUNC_1 &pcfg_pull_none_drv_12ma>, 645a2a1bfe1SKever Yang <1 21 RK_FUNC_1 &pcfg_pull_none_drv_12ma>; 646a2a1bfe1SKever Yang }; 647a2a1bfe1SKever Yang }; 648a2a1bfe1SKever Yang 649a2a1bfe1SKever Yang sdio { 650a2a1bfe1SKever Yang sdio_clk: sdio-clk { 651a2a1bfe1SKever Yang rockchip,pins = <3 0 RK_FUNC_1 &pcfg_pull_none_drv_12ma>; 652a2a1bfe1SKever Yang }; 653a2a1bfe1SKever Yang 654a2a1bfe1SKever Yang sdio_cmd: sdio-cmd { 655a2a1bfe1SKever Yang rockchip,pins = <3 1 RK_FUNC_1 &pcfg_pull_none_drv_12ma>; 656a2a1bfe1SKever Yang }; 657a2a1bfe1SKever Yang 658a2a1bfe1SKever Yang sdio_bus4: sdio-bus4 { 659a2a1bfe1SKever Yang rockchip,pins = <3 2 RK_FUNC_1 &pcfg_pull_none_drv_12ma>, 660a2a1bfe1SKever Yang <3 3 RK_FUNC_1 &pcfg_pull_none_drv_12ma>, 661a2a1bfe1SKever Yang <3 4 RK_FUNC_1 &pcfg_pull_none_drv_12ma>, 662a2a1bfe1SKever Yang <3 5 RK_FUNC_1 &pcfg_pull_none_drv_12ma>; 663a2a1bfe1SKever Yang }; 664a2a1bfe1SKever Yang }; 665a2a1bfe1SKever Yang 666b647442cSKever Yang emmc { 667b647442cSKever Yang emmc_clk: emmc-clk { 668b647442cSKever Yang rockchip,pins = <2 RK_PA7 RK_FUNC_2 &pcfg_pull_none>; 669b647442cSKever Yang }; 670b647442cSKever Yang 671b647442cSKever Yang emmc_cmd: emmc-cmd { 672b647442cSKever Yang rockchip,pins = <1 RK_PC6 RK_FUNC_2 &pcfg_pull_none>; 673b647442cSKever Yang }; 674b647442cSKever Yang 675b647442cSKever Yang emmc_bus8: emmc-bus8 { 676b647442cSKever Yang rockchip,pins = <1 RK_PD0 RK_FUNC_2 &pcfg_pull_none>, 677b647442cSKever Yang <1 RK_PD1 RK_FUNC_2 &pcfg_pull_none>, 678b647442cSKever Yang <1 RK_PD2 RK_FUNC_2 &pcfg_pull_none>, 679b647442cSKever Yang <1 RK_PD3 RK_FUNC_2 &pcfg_pull_none>, 680b647442cSKever Yang <1 RK_PD4 RK_FUNC_2 &pcfg_pull_none>, 681b647442cSKever Yang <1 RK_PD5 RK_FUNC_2 &pcfg_pull_none>, 682b647442cSKever Yang <1 RK_PD6 RK_FUNC_2 &pcfg_pull_none>, 683b647442cSKever Yang <1 RK_PD7 RK_FUNC_2 &pcfg_pull_none>; 684b647442cSKever Yang }; 685b647442cSKever Yang }; 686b647442cSKever Yang 687b647442cSKever Yang gmac { 688b647442cSKever Yang rgmii_pins: rgmii-pins { 689b647442cSKever Yang rockchip,pins = <2 RK_PB6 RK_FUNC_1 &pcfg_pull_none>, 690b647442cSKever Yang <2 RK_PB4 RK_FUNC_1 &pcfg_pull_none>, 691b647442cSKever Yang <2 RK_PD1 RK_FUNC_1 &pcfg_pull_none>, 692b647442cSKever Yang <2 RK_PC3 RK_FUNC_1 &pcfg_pull_none_drv_12ma>, 693b647442cSKever Yang <2 RK_PC2 RK_FUNC_1 &pcfg_pull_none_drv_12ma>, 694b647442cSKever Yang <2 RK_PC6 RK_FUNC_1 &pcfg_pull_none_drv_12ma>, 695b647442cSKever Yang <2 RK_PC7 RK_FUNC_1 &pcfg_pull_none_drv_12ma>, 696b647442cSKever Yang <2 RK_PB1 RK_FUNC_1 &pcfg_pull_none_drv_12ma>, 697b647442cSKever Yang <2 RK_PB5 RK_FUNC_1 &pcfg_pull_none_drv_12ma>, 698b647442cSKever Yang <2 RK_PC1 RK_FUNC_1 &pcfg_pull_none>, 699b647442cSKever Yang <2 RK_PC0 RK_FUNC_1 &pcfg_pull_none>, 700b647442cSKever Yang <2 RK_PC5 RK_FUNC_2 &pcfg_pull_none>, 701b647442cSKever Yang <2 RK_PC4 RK_FUNC_2 &pcfg_pull_none>, 702b647442cSKever Yang <2 RK_PB3 RK_FUNC_1 &pcfg_pull_none>, 703b647442cSKever Yang <2 RK_PB0 RK_FUNC_1 &pcfg_pull_none>; 704b647442cSKever Yang }; 705b647442cSKever Yang 706b647442cSKever Yang rmii_pins: rmii-pins { 707b647442cSKever Yang rockchip,pins = <2 RK_PB6 RK_FUNC_1 &pcfg_pull_none>, 708b647442cSKever Yang <2 RK_PB4 RK_FUNC_1 &pcfg_pull_none>, 709b647442cSKever Yang <2 RK_PD1 RK_FUNC_1 &pcfg_pull_none>, 710b647442cSKever Yang <2 RK_PC3 RK_FUNC_1 &pcfg_pull_none_drv_12ma>, 711b647442cSKever Yang <2 RK_PC2 RK_FUNC_1 &pcfg_pull_none_drv_12ma>, 712b647442cSKever Yang <2 RK_PB5 RK_FUNC_1 &pcfg_pull_none_drv_12ma>, 713b647442cSKever Yang <2 RK_PC1 RK_FUNC_1 &pcfg_pull_none>, 714b647442cSKever Yang <2 RK_PC0 RK_FUNC_1 &pcfg_pull_none>, 715b647442cSKever Yang <2 RK_PB0 RK_FUNC_1 &pcfg_pull_none>, 716b647442cSKever Yang <2 RK_PB7 RK_FUNC_1 &pcfg_pull_none>; 717b647442cSKever Yang }; 718b647442cSKever Yang 719b647442cSKever Yang phy_pins: phy-pins { 720b647442cSKever Yang rockchip,pins = <2 RK_PB6 RK_FUNC_2 &pcfg_pull_none>, 721b647442cSKever Yang <2 RK_PB0 RK_FUNC_2 &pcfg_pull_none>; 722b647442cSKever Yang }; 723b647442cSKever Yang }; 724b647442cSKever Yang 725b647442cSKever Yang i2c0 { 726b647442cSKever Yang i2c0_xfer: i2c0-xfer { 727b647442cSKever Yang rockchip,pins = <0 RK_PA0 RK_FUNC_1 &pcfg_pull_none>, 728b647442cSKever Yang <0 RK_PA1 RK_FUNC_1 &pcfg_pull_none>; 729b647442cSKever Yang }; 730b647442cSKever Yang }; 731b647442cSKever Yang 732b647442cSKever Yang i2c1 { 733b647442cSKever Yang i2c1_xfer: i2c1-xfer { 734b647442cSKever Yang rockchip,pins = <0 RK_PA2 RK_FUNC_1 &pcfg_pull_none>, 735b647442cSKever Yang <0 RK_PA3 RK_FUNC_1 &pcfg_pull_none>; 736b647442cSKever Yang }; 737b647442cSKever Yang }; 738b647442cSKever Yang 739b647442cSKever Yang i2c2 { 740b647442cSKever Yang i2c2_xfer: i2c2-xfer { 741b647442cSKever Yang rockchip,pins = <2 RK_PC4 RK_FUNC_1 &pcfg_pull_none>, 742b647442cSKever Yang <2 RK_PC5 RK_FUNC_1 &pcfg_pull_none>; 743b647442cSKever Yang }; 744b647442cSKever Yang }; 745b647442cSKever Yang 746b647442cSKever Yang i2c3 { 747b647442cSKever Yang i2c3_xfer: i2c3-xfer { 748b647442cSKever Yang rockchip,pins = <0 RK_PA6 RK_FUNC_1 &pcfg_pull_none>, 749b647442cSKever Yang <0 RK_PA7 RK_FUNC_1 &pcfg_pull_none>; 750b647442cSKever Yang }; 751b647442cSKever Yang }; 752b647442cSKever Yang 753b647442cSKever Yang i2s1 { 754b647442cSKever Yang i2s1_bus: i2s1-bus { 755b647442cSKever Yang rockchip,pins = <0 RK_PB0 RK_FUNC_1 &pcfg_pull_none>, 756b647442cSKever Yang <0 RK_PB1 RK_FUNC_1 &pcfg_pull_none>, 757b647442cSKever Yang <0 RK_PB3 RK_FUNC_1 &pcfg_pull_none>, 758b647442cSKever Yang <0 RK_PB4 RK_FUNC_1 &pcfg_pull_none>, 759b647442cSKever Yang <0 RK_PB5 RK_FUNC_1 &pcfg_pull_none>, 760b647442cSKever Yang <0 RK_PB6 RK_FUNC_1 &pcfg_pull_none>, 761b647442cSKever Yang <1 RK_PA2 RK_FUNC_1 &pcfg_pull_none>, 762b647442cSKever Yang <1 RK_PA4 RK_FUNC_1 &pcfg_pull_none>, 763b647442cSKever Yang <1 RK_PA5 RK_FUNC_1 &pcfg_pull_none>; 764b647442cSKever Yang }; 765b647442cSKever Yang }; 766b647442cSKever Yang 767b647442cSKever Yang pwm0 { 768b647442cSKever Yang pwm0_pin: pwm0-pin { 769b647442cSKever Yang rockchip,pins = <3 RK_PC5 RK_FUNC_1 &pcfg_pull_none>; 770b647442cSKever Yang }; 771b647442cSKever Yang }; 772b647442cSKever Yang 773b647442cSKever Yang pwm1 { 774b647442cSKever Yang pwm1_pin: pwm1-pin { 775b647442cSKever Yang rockchip,pins = <0 RK_PD6 RK_FUNC_2 &pcfg_pull_none>; 776b647442cSKever Yang }; 777b647442cSKever Yang }; 778b647442cSKever Yang 779b647442cSKever Yang pwm2 { 780b647442cSKever Yang pwm2_pin: pwm2-pin { 781b647442cSKever Yang rockchip,pins = <1 RK_PB4 RK_FUNC_2 &pcfg_pull_none>; 782b647442cSKever Yang }; 783b647442cSKever Yang }; 784b647442cSKever Yang 785b647442cSKever Yang pwm3 { 786b647442cSKever Yang pwm3_pin: pwm3-pin { 787b647442cSKever Yang rockchip,pins = <1 RK_PB3 RK_FUNC_2 &pcfg_pull_none>; 788b647442cSKever Yang }; 789b647442cSKever Yang }; 790b647442cSKever Yang 791b647442cSKever Yang tsadc { 792b647442cSKever Yang otp_gpio: otp-gpio { 793b647442cSKever Yang rockchip,pins = <0 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>; 794b647442cSKever Yang }; 795b647442cSKever Yang 796b647442cSKever Yang otp_out: otp-out { 797b647442cSKever Yang rockchip,pins = <0 RK_PD0 RK_FUNC_2 &pcfg_pull_none>; 798b647442cSKever Yang }; 799b647442cSKever Yang }; 800b647442cSKever Yang 801b647442cSKever Yang uart0 { 802b647442cSKever Yang uart0_xfer: uart0-xfer { 803b647442cSKever Yang rockchip,pins = <2 RK_PD2 RK_FUNC_1 &pcfg_pull_none>, 804b647442cSKever Yang <2 RK_PD3 RK_FUNC_1 &pcfg_pull_none>; 805b647442cSKever Yang }; 806b647442cSKever Yang 807b647442cSKever Yang uart0_cts: uart0-cts { 808b647442cSKever Yang rockchip,pins = <2 RK_PD5 RK_FUNC_1 &pcfg_pull_none>; 809b647442cSKever Yang }; 810b647442cSKever Yang 811b647442cSKever Yang uart0_rts: uart0-rts { 812b647442cSKever Yang rockchip,pins = <0 RK_PC1 RK_FUNC_1 &pcfg_pull_none>; 813b647442cSKever Yang }; 814b647442cSKever Yang }; 815b647442cSKever Yang 816b647442cSKever Yang uart1 { 817b647442cSKever Yang uart1_xfer: uart1-xfer { 818b647442cSKever Yang rockchip,pins = <1 RK_PB1 RK_FUNC_1 &pcfg_pull_none>, 819b647442cSKever Yang <1 RK_PB2 RK_FUNC_1 &pcfg_pull_none>; 820b647442cSKever Yang }; 821b647442cSKever Yang 822b647442cSKever Yang uart1_cts: uart1-cts { 823b647442cSKever Yang rockchip,pins = <1 RK_PB0 RK_FUNC_1 &pcfg_pull_none>; 824b647442cSKever Yang }; 825b647442cSKever Yang 826b647442cSKever Yang uart1_rts: uart1-rts { 827b647442cSKever Yang rockchip,pins = <1 RK_PB3 RK_FUNC_1 &pcfg_pull_none>; 828b647442cSKever Yang }; 829b647442cSKever Yang }; 830b647442cSKever Yang 831b647442cSKever Yang uart2 { 832b647442cSKever Yang uart2_xfer: uart2-xfer { 8333174f329SDavid Wu rockchip,pins = <1 RK_PC2 RK_FUNC_2 &pcfg_pull_up>, 834b647442cSKever Yang <1 RK_PC3 RK_FUNC_2 &pcfg_pull_none>; 835b647442cSKever Yang }; 836b647442cSKever Yang 837b647442cSKever Yang uart2_cts: uart2-cts { 838b647442cSKever Yang rockchip,pins = <0 RK_PD1 RK_FUNC_1 &pcfg_pull_none>; 839b647442cSKever Yang }; 840b647442cSKever Yang 841b647442cSKever Yang uart2_rts: uart2-rts { 842b647442cSKever Yang rockchip,pins = <0 RK_PD0 RK_FUNC_1 &pcfg_pull_none>; 843b647442cSKever Yang }; 844b647442cSKever Yang }; 8453174f329SDavid Wu 8463174f329SDavid Wu uart2-1 { 8473174f329SDavid Wu uart21_xfer: uart21-xfer { 8483174f329SDavid Wu rockchip,pins = <1 10 RK_FUNC_2 &pcfg_pull_up>, 8493174f329SDavid Wu <1 9 RK_FUNC_2 &pcfg_pull_none>; 8503174f329SDavid Wu }; 8513174f329SDavid Wu }; 852b647442cSKever Yang }; 853b647442cSKever Yang 854b647442cSKever Yang dmc: dmc@11200000 { 855b647442cSKever Yang compatible = "rockchip,rk3228-dmc", "syscon"; 856b647442cSKever Yang rockchip,cru = <&cru>; 857b647442cSKever Yang rockchip,grf = <&grf>; 858b647442cSKever Yang rockchip,msch = <&service_msch>; 859b647442cSKever Yang reg = <0x11200000 0x3fc 860b647442cSKever Yang 0x12000000 0x400>; 861b647442cSKever Yang rockchip,sram = <&ddr_sram>; 862b647442cSKever Yang }; 863b647442cSKever Yang 864b647442cSKever Yang service_msch: syscon@31090000 { 865b647442cSKever Yang compatible = "rockchip,rk3228-msch", "syscon"; 866b647442cSKever Yang reg = <0x31090000 0x2000>; 867b647442cSKever Yang }; 8680a5f26cbSZhangbin Tong 8690a5f26cbSZhangbin Tong nandc: nandc@30030000 { 8700a5f26cbSZhangbin Tong compatible = "rockchip,rk-nandc"; 8710a5f26cbSZhangbin Tong reg = <0x30030000 0x4000>; 8720a5f26cbSZhangbin Tong interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 8730a5f26cbSZhangbin Tong nandc_id = <0>; 8740a5f26cbSZhangbin Tong clocks = <&cru SCLK_NANDC>, <&cru HCLK_NANDC>; 8750a5f26cbSZhangbin Tong clock-names = "clk_nandc", "hclk_nandc"; 8760a5f26cbSZhangbin Tong status = "disabled"; 8770a5f26cbSZhangbin Tong }; 878b647442cSKever Yang}; 879