1f126890aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2f126890aSEmmanuel Vadot 3f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 4f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h> 5f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 6f126890aSEmmanuel Vadot#include <dt-bindings/pinctrl/rockchip.h> 7f126890aSEmmanuel Vadot#include <dt-bindings/clock/rk3036-cru.h> 8f126890aSEmmanuel Vadot#include <dt-bindings/soc/rockchip,boot-mode.h> 9f126890aSEmmanuel Vadot#include <dt-bindings/power/rk3036-power.h> 10f126890aSEmmanuel Vadot 11f126890aSEmmanuel Vadot/ { 12f126890aSEmmanuel Vadot #address-cells = <1>; 13f126890aSEmmanuel Vadot #size-cells = <1>; 14f126890aSEmmanuel Vadot 15f126890aSEmmanuel Vadot compatible = "rockchip,rk3036"; 16f126890aSEmmanuel Vadot 17f126890aSEmmanuel Vadot interrupt-parent = <&gic>; 18f126890aSEmmanuel Vadot 19f126890aSEmmanuel Vadot aliases { 208d13bc63SEmmanuel Vadot gpio0 = &gpio0; 218d13bc63SEmmanuel Vadot gpio1 = &gpio1; 228d13bc63SEmmanuel Vadot gpio2 = &gpio2; 23f126890aSEmmanuel Vadot i2c0 = &i2c0; 24f126890aSEmmanuel Vadot i2c1 = &i2c1; 25f126890aSEmmanuel Vadot i2c2 = &i2c2; 26f126890aSEmmanuel Vadot mshc0 = &emmc; 27f126890aSEmmanuel Vadot mshc1 = &sdmmc; 28f126890aSEmmanuel Vadot mshc2 = &sdio; 29f126890aSEmmanuel Vadot serial0 = &uart0; 30f126890aSEmmanuel Vadot serial1 = &uart1; 31f126890aSEmmanuel Vadot serial2 = &uart2; 32f126890aSEmmanuel Vadot spi = &spi; 33f126890aSEmmanuel Vadot }; 34f126890aSEmmanuel Vadot 35f126890aSEmmanuel Vadot cpus { 36f126890aSEmmanuel Vadot #address-cells = <1>; 37f126890aSEmmanuel Vadot #size-cells = <0>; 38f126890aSEmmanuel Vadot enable-method = "rockchip,rk3036-smp"; 39f126890aSEmmanuel Vadot 40f126890aSEmmanuel Vadot cpu0: cpu@f00 { 41f126890aSEmmanuel Vadot device_type = "cpu"; 42f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 43f126890aSEmmanuel Vadot reg = <0xf00>; 44f126890aSEmmanuel Vadot resets = <&cru SRST_CORE0>; 45f126890aSEmmanuel Vadot operating-points = < 46f126890aSEmmanuel Vadot /* KHz uV */ 47f126890aSEmmanuel Vadot 816000 1000000 48f126890aSEmmanuel Vadot >; 49f126890aSEmmanuel Vadot clock-latency = <40000>; 50f126890aSEmmanuel Vadot clocks = <&cru ARMCLK>; 51f126890aSEmmanuel Vadot }; 52f126890aSEmmanuel Vadot 53f126890aSEmmanuel Vadot cpu1: cpu@f01 { 54f126890aSEmmanuel Vadot device_type = "cpu"; 55f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 56f126890aSEmmanuel Vadot reg = <0xf01>; 57f126890aSEmmanuel Vadot resets = <&cru SRST_CORE1>; 58f126890aSEmmanuel Vadot }; 59f126890aSEmmanuel Vadot }; 60f126890aSEmmanuel Vadot 61f126890aSEmmanuel Vadot arm-pmu { 62f126890aSEmmanuel Vadot compatible = "arm,cortex-a7-pmu"; 63f126890aSEmmanuel Vadot interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>, 64f126890aSEmmanuel Vadot <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; 65f126890aSEmmanuel Vadot interrupt-affinity = <&cpu0>, <&cpu1>; 66f126890aSEmmanuel Vadot }; 67f126890aSEmmanuel Vadot 68f126890aSEmmanuel Vadot display-subsystem { 69f126890aSEmmanuel Vadot compatible = "rockchip,display-subsystem"; 70f126890aSEmmanuel Vadot ports = <&vop_out>; 71f126890aSEmmanuel Vadot }; 72f126890aSEmmanuel Vadot 73f126890aSEmmanuel Vadot timer { 74f126890aSEmmanuel Vadot compatible = "arm,armv7-timer"; 75f126890aSEmmanuel Vadot arm,cpu-registers-not-fw-configured; 76f126890aSEmmanuel Vadot interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>, 77f126890aSEmmanuel Vadot <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>, 78f126890aSEmmanuel Vadot <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>, 79f126890aSEmmanuel Vadot <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>; 80f126890aSEmmanuel Vadot clock-frequency = <24000000>; 81f126890aSEmmanuel Vadot }; 82f126890aSEmmanuel Vadot 83f126890aSEmmanuel Vadot xin24m: oscillator { 84f126890aSEmmanuel Vadot compatible = "fixed-clock"; 85f126890aSEmmanuel Vadot clock-frequency = <24000000>; 86f126890aSEmmanuel Vadot clock-output-names = "xin24m"; 87f126890aSEmmanuel Vadot #clock-cells = <0>; 88f126890aSEmmanuel Vadot }; 89f126890aSEmmanuel Vadot 90f126890aSEmmanuel Vadot bus_intmem: sram@10080000 { 91f126890aSEmmanuel Vadot compatible = "mmio-sram"; 92f126890aSEmmanuel Vadot reg = <0x10080000 0x2000>; 93f126890aSEmmanuel Vadot #address-cells = <1>; 94f126890aSEmmanuel Vadot #size-cells = <1>; 95f126890aSEmmanuel Vadot ranges = <0 0x10080000 0x2000>; 96f126890aSEmmanuel Vadot 97f126890aSEmmanuel Vadot smp-sram@0 { 98f126890aSEmmanuel Vadot compatible = "rockchip,rk3066-smp-sram"; 99f126890aSEmmanuel Vadot reg = <0x00 0x10>; 100f126890aSEmmanuel Vadot }; 101f126890aSEmmanuel Vadot }; 102f126890aSEmmanuel Vadot 103f126890aSEmmanuel Vadot gpu: gpu@10090000 { 104f126890aSEmmanuel Vadot compatible = "rockchip,rk3036-mali", "arm,mali-400"; 105f126890aSEmmanuel Vadot reg = <0x10090000 0x10000>; 106f126890aSEmmanuel Vadot interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, 107f126890aSEmmanuel Vadot <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, 108f126890aSEmmanuel Vadot <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>, 109f126890aSEmmanuel Vadot <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 110f126890aSEmmanuel Vadot interrupt-names = "gp", 111f126890aSEmmanuel Vadot "gpmmu", 112f126890aSEmmanuel Vadot "pp0", 113f126890aSEmmanuel Vadot "ppmmu0"; 114f126890aSEmmanuel Vadot assigned-clocks = <&cru SCLK_GPU>; 115f126890aSEmmanuel Vadot assigned-clock-rates = <100000000>; 116f126890aSEmmanuel Vadot clocks = <&cru SCLK_GPU>, <&cru SCLK_GPU>; 117f126890aSEmmanuel Vadot clock-names = "bus", "core"; 118f126890aSEmmanuel Vadot power-domains = <&power RK3036_PD_GPU>; 119f126890aSEmmanuel Vadot resets = <&cru SRST_GPU>; 120f126890aSEmmanuel Vadot status = "disabled"; 121f126890aSEmmanuel Vadot }; 122f126890aSEmmanuel Vadot 123f126890aSEmmanuel Vadot vpu: video-codec@10108000 { 124f126890aSEmmanuel Vadot compatible = "rockchip,rk3036-vpu"; 125f126890aSEmmanuel Vadot reg = <0x10108000 0x800>; 126f126890aSEmmanuel Vadot interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 127f126890aSEmmanuel Vadot interrupt-names = "vdpu"; 128f126890aSEmmanuel Vadot clocks = <&cru ACLK_VCODEC>, <&cru HCLK_VCODEC>; 129f126890aSEmmanuel Vadot clock-names = "aclk", "hclk"; 130f126890aSEmmanuel Vadot iommus = <&vpu_mmu>; 131f126890aSEmmanuel Vadot power-domains = <&power RK3036_PD_VPU>; 132f126890aSEmmanuel Vadot }; 133f126890aSEmmanuel Vadot 134f126890aSEmmanuel Vadot vpu_mmu: iommu@10108800 { 135f126890aSEmmanuel Vadot compatible = "rockchip,iommu"; 136f126890aSEmmanuel Vadot reg = <0x10108800 0x100>; 137f126890aSEmmanuel Vadot interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; 138f126890aSEmmanuel Vadot clocks = <&cru ACLK_VCODEC>, <&cru HCLK_VCODEC>; 139f126890aSEmmanuel Vadot clock-names = "aclk", "iface"; 140f126890aSEmmanuel Vadot power-domains = <&power RK3036_PD_VPU>; 141f126890aSEmmanuel Vadot #iommu-cells = <0>; 142f126890aSEmmanuel Vadot }; 143f126890aSEmmanuel Vadot 144f126890aSEmmanuel Vadot vop: vop@10118000 { 145f126890aSEmmanuel Vadot compatible = "rockchip,rk3036-vop"; 146f126890aSEmmanuel Vadot reg = <0x10118000 0x19c>; 147f126890aSEmmanuel Vadot interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>; 148f126890aSEmmanuel Vadot clocks = <&cru ACLK_LCDC>, <&cru SCLK_LCDC>, <&cru HCLK_LCDC>; 149f126890aSEmmanuel Vadot clock-names = "aclk_vop", "dclk_vop", "hclk_vop"; 150f126890aSEmmanuel Vadot resets = <&cru SRST_LCDC1_A>, <&cru SRST_LCDC1_H>, <&cru SRST_LCDC1_D>; 151f126890aSEmmanuel Vadot reset-names = "axi", "ahb", "dclk"; 152f126890aSEmmanuel Vadot iommus = <&vop_mmu>; 153f126890aSEmmanuel Vadot power-domains = <&power RK3036_PD_VIO>; 154f126890aSEmmanuel Vadot status = "disabled"; 155f126890aSEmmanuel Vadot 156f126890aSEmmanuel Vadot vop_out: port { 157f126890aSEmmanuel Vadot #address-cells = <1>; 158f126890aSEmmanuel Vadot #size-cells = <0>; 159f126890aSEmmanuel Vadot vop_out_hdmi: endpoint@0 { 160f126890aSEmmanuel Vadot reg = <0>; 161f126890aSEmmanuel Vadot remote-endpoint = <&hdmi_in_vop>; 162f126890aSEmmanuel Vadot }; 163f126890aSEmmanuel Vadot }; 164f126890aSEmmanuel Vadot }; 165f126890aSEmmanuel Vadot 166f126890aSEmmanuel Vadot vop_mmu: iommu@10118300 { 167f126890aSEmmanuel Vadot compatible = "rockchip,iommu"; 168f126890aSEmmanuel Vadot reg = <0x10118300 0x100>; 169f126890aSEmmanuel Vadot interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>; 170f126890aSEmmanuel Vadot clocks = <&cru ACLK_LCDC>, <&cru HCLK_LCDC>; 171f126890aSEmmanuel Vadot clock-names = "aclk", "iface"; 172f126890aSEmmanuel Vadot power-domains = <&power RK3036_PD_VIO>; 173f126890aSEmmanuel Vadot #iommu-cells = <0>; 174f126890aSEmmanuel Vadot status = "disabled"; 175f126890aSEmmanuel Vadot }; 176f126890aSEmmanuel Vadot 177f126890aSEmmanuel Vadot qos_gpu: qos@1012d000 { 178f126890aSEmmanuel Vadot compatible = "rockchip,rk3036-qos", "syscon"; 179f126890aSEmmanuel Vadot reg = <0x1012d000 0x20>; 180f126890aSEmmanuel Vadot }; 181f126890aSEmmanuel Vadot 182f126890aSEmmanuel Vadot qos_vpu: qos@1012e000 { 183f126890aSEmmanuel Vadot compatible = "rockchip,rk3036-qos", "syscon"; 184f126890aSEmmanuel Vadot reg = <0x1012e000 0x20>; 185f126890aSEmmanuel Vadot }; 186f126890aSEmmanuel Vadot 187f126890aSEmmanuel Vadot qos_vio: qos@1012f000 { 188f126890aSEmmanuel Vadot compatible = "rockchip,rk3036-qos", "syscon"; 189f126890aSEmmanuel Vadot reg = <0x1012f000 0x20>; 190f126890aSEmmanuel Vadot }; 191f126890aSEmmanuel Vadot 192f126890aSEmmanuel Vadot gic: interrupt-controller@10139000 { 193f126890aSEmmanuel Vadot compatible = "arm,gic-400"; 194f126890aSEmmanuel Vadot interrupt-controller; 195f126890aSEmmanuel Vadot #interrupt-cells = <3>; 196f126890aSEmmanuel Vadot #address-cells = <0>; 197f126890aSEmmanuel Vadot 198f126890aSEmmanuel Vadot reg = <0x10139000 0x1000>, 199f126890aSEmmanuel Vadot <0x1013a000 0x2000>, 200f126890aSEmmanuel Vadot <0x1013c000 0x2000>, 201f126890aSEmmanuel Vadot <0x1013e000 0x2000>; 202f126890aSEmmanuel Vadot interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>; 203f126890aSEmmanuel Vadot }; 204f126890aSEmmanuel Vadot 205f126890aSEmmanuel Vadot usb_otg: usb@10180000 { 206f126890aSEmmanuel Vadot compatible = "rockchip,rk3036-usb", "rockchip,rk3066-usb", 207f126890aSEmmanuel Vadot "snps,dwc2"; 208f126890aSEmmanuel Vadot reg = <0x10180000 0x40000>; 209f126890aSEmmanuel Vadot interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 210f126890aSEmmanuel Vadot clocks = <&cru HCLK_OTG0>; 211f126890aSEmmanuel Vadot clock-names = "otg"; 212f126890aSEmmanuel Vadot dr_mode = "otg"; 213f126890aSEmmanuel Vadot g-np-tx-fifo-size = <16>; 214f126890aSEmmanuel Vadot g-rx-fifo-size = <275>; 215f126890aSEmmanuel Vadot g-tx-fifo-size = <256 128 128 64 64 32>; 216f126890aSEmmanuel Vadot status = "disabled"; 217f126890aSEmmanuel Vadot }; 218f126890aSEmmanuel Vadot 219f126890aSEmmanuel Vadot usb_host: usb@101c0000 { 220f126890aSEmmanuel Vadot compatible = "rockchip,rk3036-usb", "rockchip,rk3066-usb", 221f126890aSEmmanuel Vadot "snps,dwc2"; 222f126890aSEmmanuel Vadot reg = <0x101c0000 0x40000>; 223f126890aSEmmanuel Vadot interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 224f126890aSEmmanuel Vadot clocks = <&cru HCLK_OTG1>; 225f126890aSEmmanuel Vadot clock-names = "otg"; 226f126890aSEmmanuel Vadot dr_mode = "host"; 227f126890aSEmmanuel Vadot status = "disabled"; 228f126890aSEmmanuel Vadot }; 229f126890aSEmmanuel Vadot 230f126890aSEmmanuel Vadot emac: ethernet@10200000 { 231f126890aSEmmanuel Vadot compatible = "rockchip,rk3036-emac"; 232f126890aSEmmanuel Vadot reg = <0x10200000 0x4000>; 233f126890aSEmmanuel Vadot interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 234f126890aSEmmanuel Vadot rockchip,grf = <&grf>; 235f126890aSEmmanuel Vadot clocks = <&cru HCLK_MAC>, <&cru SCLK_MACREF>, <&cru SCLK_MAC>; 236f126890aSEmmanuel Vadot clock-names = "hclk", "macref", "macclk"; 237f126890aSEmmanuel Vadot /* 238f126890aSEmmanuel Vadot * Fix the emac parent clock is DPLL instead of APLL. 239f126890aSEmmanuel Vadot * since that will cause some unstable things if the cpufreq 240f126890aSEmmanuel Vadot * is working. (e.g: the accurate 50MHz what mac_ref need) 241f126890aSEmmanuel Vadot */ 242f126890aSEmmanuel Vadot assigned-clocks = <&cru SCLK_MACPLL>; 243f126890aSEmmanuel Vadot assigned-clock-parents = <&cru PLL_DPLL>; 244f126890aSEmmanuel Vadot max-speed = <100>; 245f126890aSEmmanuel Vadot phy-mode = "rmii"; 246f126890aSEmmanuel Vadot status = "disabled"; 247f126890aSEmmanuel Vadot }; 248f126890aSEmmanuel Vadot 249f126890aSEmmanuel Vadot sdmmc: mmc@10214000 { 250f126890aSEmmanuel Vadot compatible = "rockchip,rk3036-dw-mshc", "rockchip,rk3288-dw-mshc"; 251f126890aSEmmanuel Vadot reg = <0x10214000 0x4000>; 252f126890aSEmmanuel Vadot clock-frequency = <37500000>; 253f126890aSEmmanuel Vadot max-frequency = <37500000>; 254f126890aSEmmanuel Vadot clocks = <&cru HCLK_SDMMC>, <&cru SCLK_SDMMC>; 255f126890aSEmmanuel Vadot clock-names = "biu", "ciu"; 256f126890aSEmmanuel Vadot fifo-depth = <0x100>; 257f126890aSEmmanuel Vadot interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 258f126890aSEmmanuel Vadot resets = <&cru SRST_MMC0>; 259f126890aSEmmanuel Vadot reset-names = "reset"; 260f126890aSEmmanuel Vadot status = "disabled"; 261f126890aSEmmanuel Vadot }; 262f126890aSEmmanuel Vadot 263f126890aSEmmanuel Vadot sdio: mmc@10218000 { 264f126890aSEmmanuel Vadot compatible = "rockchip,rk3036-dw-mshc", "rockchip,rk3288-dw-mshc"; 265f126890aSEmmanuel Vadot reg = <0x10218000 0x4000>; 266f126890aSEmmanuel Vadot max-frequency = <37500000>; 267f126890aSEmmanuel Vadot clocks = <&cru HCLK_SDIO>, <&cru SCLK_SDIO>, 268f126890aSEmmanuel Vadot <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>; 269f126890aSEmmanuel Vadot clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 270f126890aSEmmanuel Vadot fifo-depth = <0x100>; 271f126890aSEmmanuel Vadot interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 272f126890aSEmmanuel Vadot resets = <&cru SRST_SDIO>; 273f126890aSEmmanuel Vadot reset-names = "reset"; 274f126890aSEmmanuel Vadot status = "disabled"; 275f126890aSEmmanuel Vadot }; 276f126890aSEmmanuel Vadot 277f126890aSEmmanuel Vadot emmc: mmc@1021c000 { 278f126890aSEmmanuel Vadot compatible = "rockchip,rk3036-dw-mshc", "rockchip,rk3288-dw-mshc"; 279f126890aSEmmanuel Vadot reg = <0x1021c000 0x4000>; 280f126890aSEmmanuel Vadot interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 281f126890aSEmmanuel Vadot bus-width = <8>; 282f126890aSEmmanuel Vadot cap-mmc-highspeed; 283f126890aSEmmanuel Vadot clock-frequency = <37500000>; 284f126890aSEmmanuel Vadot max-frequency = <37500000>; 285f126890aSEmmanuel Vadot clocks = <&cru HCLK_EMMC>, <&cru SCLK_EMMC>, 286f126890aSEmmanuel Vadot <&cru SCLK_EMMC_DRV>, <&cru SCLK_EMMC_SAMPLE>; 287f126890aSEmmanuel Vadot clock-names = "biu", "ciu", "ciu-drive", "ciu-sample"; 288f126890aSEmmanuel Vadot disable-wp; 289f126890aSEmmanuel Vadot dmas = <&pdma 12>; 290f126890aSEmmanuel Vadot dma-names = "rx-tx"; 291f126890aSEmmanuel Vadot fifo-depth = <0x100>; 292f126890aSEmmanuel Vadot mmc-ddr-1_8v; 293f126890aSEmmanuel Vadot non-removable; 294f126890aSEmmanuel Vadot pinctrl-names = "default"; 295f126890aSEmmanuel Vadot pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>; 296f126890aSEmmanuel Vadot resets = <&cru SRST_EMMC>; 297f126890aSEmmanuel Vadot reset-names = "reset"; 298f126890aSEmmanuel Vadot status = "disabled"; 299f126890aSEmmanuel Vadot }; 300f126890aSEmmanuel Vadot 301f126890aSEmmanuel Vadot i2s: i2s@10220000 { 302f126890aSEmmanuel Vadot compatible = "rockchip,rk3036-i2s", "rockchip,rk3066-i2s"; 303f126890aSEmmanuel Vadot reg = <0x10220000 0x4000>; 304f126890aSEmmanuel Vadot interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>; 305f126890aSEmmanuel Vadot clock-names = "i2s_clk", "i2s_hclk"; 306f126890aSEmmanuel Vadot clocks = <&cru SCLK_I2S>, <&cru HCLK_I2S>; 307f126890aSEmmanuel Vadot dmas = <&pdma 0>, <&pdma 1>; 308f126890aSEmmanuel Vadot dma-names = "tx", "rx"; 309f126890aSEmmanuel Vadot pinctrl-names = "default"; 310f126890aSEmmanuel Vadot pinctrl-0 = <&i2s_bus>; 311f126890aSEmmanuel Vadot #sound-dai-cells = <0>; 312f126890aSEmmanuel Vadot status = "disabled"; 313f126890aSEmmanuel Vadot }; 314f126890aSEmmanuel Vadot 315f126890aSEmmanuel Vadot nfc: nand-controller@10500000 { 316f126890aSEmmanuel Vadot compatible = "rockchip,rk3036-nfc", 317f126890aSEmmanuel Vadot "rockchip,rk2928-nfc"; 318f126890aSEmmanuel Vadot reg = <0x10500000 0x4000>; 319f126890aSEmmanuel Vadot interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>; 320f126890aSEmmanuel Vadot clocks = <&cru HCLK_NANDC>, <&cru SCLK_NANDC>; 321f126890aSEmmanuel Vadot clock-names = "ahb", "nfc"; 322f126890aSEmmanuel Vadot assigned-clocks = <&cru SCLK_NANDC>; 323f126890aSEmmanuel Vadot assigned-clock-rates = <150000000>; 324f126890aSEmmanuel Vadot pinctrl-0 = <&flash_ale &flash_bus8 &flash_cle &flash_csn0 325f126890aSEmmanuel Vadot &flash_rdn &flash_rdy &flash_wrn>; 326f126890aSEmmanuel Vadot pinctrl-names = "default"; 327f126890aSEmmanuel Vadot status = "disabled"; 328f126890aSEmmanuel Vadot }; 329f126890aSEmmanuel Vadot 330f126890aSEmmanuel Vadot cru: clock-controller@20000000 { 331f126890aSEmmanuel Vadot compatible = "rockchip,rk3036-cru"; 332f126890aSEmmanuel Vadot reg = <0x20000000 0x1000>; 333f126890aSEmmanuel Vadot clocks = <&xin24m>; 334f126890aSEmmanuel Vadot clock-names = "xin24m"; 335f126890aSEmmanuel Vadot rockchip,grf = <&grf>; 336f126890aSEmmanuel Vadot #clock-cells = <1>; 337f126890aSEmmanuel Vadot #reset-cells = <1>; 338f126890aSEmmanuel Vadot assigned-clocks = <&cru PLL_GPLL>; 339f126890aSEmmanuel Vadot assigned-clock-rates = <594000000>; 340f126890aSEmmanuel Vadot }; 341f126890aSEmmanuel Vadot 342f126890aSEmmanuel Vadot grf: syscon@20008000 { 343f126890aSEmmanuel Vadot compatible = "rockchip,rk3036-grf", "syscon", "simple-mfd"; 344f126890aSEmmanuel Vadot reg = <0x20008000 0x1000>; 345f126890aSEmmanuel Vadot 346f126890aSEmmanuel Vadot power: power-controller { 347f126890aSEmmanuel Vadot compatible = "rockchip,rk3036-power-controller"; 348f126890aSEmmanuel Vadot #power-domain-cells = <1>; 349f126890aSEmmanuel Vadot #address-cells = <1>; 350f126890aSEmmanuel Vadot #size-cells = <0>; 351f126890aSEmmanuel Vadot 352f126890aSEmmanuel Vadot power-domain@RK3036_PD_VIO { 353f126890aSEmmanuel Vadot reg = <RK3036_PD_VIO>; 354f126890aSEmmanuel Vadot clocks = <&cru ACLK_LCDC>, 355f126890aSEmmanuel Vadot <&cru HCLK_LCDC>, 356f126890aSEmmanuel Vadot <&cru SCLK_LCDC>; 357f126890aSEmmanuel Vadot pm_qos = <&qos_vio>; 358f126890aSEmmanuel Vadot #power-domain-cells = <0>; 359f126890aSEmmanuel Vadot }; 360f126890aSEmmanuel Vadot 361f126890aSEmmanuel Vadot power-domain@RK3036_PD_VPU { 362f126890aSEmmanuel Vadot reg = <RK3036_PD_VPU>; 363f126890aSEmmanuel Vadot clocks = <&cru ACLK_VCODEC>, 364f126890aSEmmanuel Vadot <&cru HCLK_VCODEC>; 365f126890aSEmmanuel Vadot pm_qos = <&qos_vpu>; 366f126890aSEmmanuel Vadot #power-domain-cells = <0>; 367f126890aSEmmanuel Vadot }; 368f126890aSEmmanuel Vadot 369f126890aSEmmanuel Vadot power-domain@RK3036_PD_GPU { 370f126890aSEmmanuel Vadot reg = <RK3036_PD_GPU>; 371f126890aSEmmanuel Vadot clocks = <&cru SCLK_GPU>; 372f126890aSEmmanuel Vadot pm_qos = <&qos_gpu>; 373f126890aSEmmanuel Vadot #power-domain-cells = <0>; 374f126890aSEmmanuel Vadot }; 375f126890aSEmmanuel Vadot }; 376f126890aSEmmanuel Vadot 377f126890aSEmmanuel Vadot reboot-mode { 378f126890aSEmmanuel Vadot compatible = "syscon-reboot-mode"; 379f126890aSEmmanuel Vadot offset = <0x1d8>; 380f126890aSEmmanuel Vadot mode-normal = <BOOT_NORMAL>; 381f126890aSEmmanuel Vadot mode-recovery = <BOOT_RECOVERY>; 382f126890aSEmmanuel Vadot mode-bootloader = <BOOT_FASTBOOT>; 383f126890aSEmmanuel Vadot mode-loader = <BOOT_BL_DOWNLOAD>; 384f126890aSEmmanuel Vadot }; 385f126890aSEmmanuel Vadot }; 386f126890aSEmmanuel Vadot 387*b2d2a78aSEmmanuel Vadot acodec: audio-codec@20030000 { 388*b2d2a78aSEmmanuel Vadot compatible = "rockchip,rk3036-codec"; 389f126890aSEmmanuel Vadot reg = <0x20030000 0x4000>; 390f126890aSEmmanuel Vadot clock-names = "acodec_pclk"; 391f126890aSEmmanuel Vadot clocks = <&cru PCLK_ACODEC>; 392*b2d2a78aSEmmanuel Vadot rockchip,grf = <&grf>; 393*b2d2a78aSEmmanuel Vadot #sound-dai-cells = <0>; 394f126890aSEmmanuel Vadot status = "disabled"; 395f126890aSEmmanuel Vadot }; 396f126890aSEmmanuel Vadot 397f126890aSEmmanuel Vadot hdmi: hdmi@20034000 { 398f126890aSEmmanuel Vadot compatible = "rockchip,rk3036-inno-hdmi"; 399f126890aSEmmanuel Vadot reg = <0x20034000 0x4000>; 400f126890aSEmmanuel Vadot interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 401f126890aSEmmanuel Vadot clocks = <&cru PCLK_HDMI>; 402f126890aSEmmanuel Vadot clock-names = "pclk"; 403f126890aSEmmanuel Vadot pinctrl-names = "default"; 404f126890aSEmmanuel Vadot pinctrl-0 = <&hdmi_ctl>; 4050e8011faSEmmanuel Vadot #sound-dai-cells = <0>; 406f126890aSEmmanuel Vadot status = "disabled"; 407f126890aSEmmanuel Vadot 4088d13bc63SEmmanuel Vadot ports { 409f126890aSEmmanuel Vadot #address-cells = <1>; 410f126890aSEmmanuel Vadot #size-cells = <0>; 4118d13bc63SEmmanuel Vadot 4128d13bc63SEmmanuel Vadot hdmi_in: port@0 { 413f126890aSEmmanuel Vadot reg = <0>; 4148d13bc63SEmmanuel Vadot 4158d13bc63SEmmanuel Vadot hdmi_in_vop: endpoint { 416f126890aSEmmanuel Vadot remote-endpoint = <&vop_out_hdmi>; 417f126890aSEmmanuel Vadot }; 418f126890aSEmmanuel Vadot }; 4198d13bc63SEmmanuel Vadot 4208d13bc63SEmmanuel Vadot hdmi_out: port@1 { 4218d13bc63SEmmanuel Vadot reg = <1>; 4228d13bc63SEmmanuel Vadot }; 4238d13bc63SEmmanuel Vadot }; 424f126890aSEmmanuel Vadot }; 425f126890aSEmmanuel Vadot 426f126890aSEmmanuel Vadot timer: timer@20044000 { 427f126890aSEmmanuel Vadot compatible = "rockchip,rk3036-timer", "rockchip,rk3288-timer"; 428f126890aSEmmanuel Vadot reg = <0x20044000 0x20>; 429f126890aSEmmanuel Vadot interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 430f126890aSEmmanuel Vadot clocks = <&cru PCLK_TIMER>, <&xin24m>; 431f126890aSEmmanuel Vadot clock-names = "pclk", "timer"; 432f126890aSEmmanuel Vadot }; 433f126890aSEmmanuel Vadot 434f126890aSEmmanuel Vadot pwm0: pwm@20050000 { 435f126890aSEmmanuel Vadot compatible = "rockchip,rk3036-pwm", "rockchip,rk2928-pwm"; 436f126890aSEmmanuel Vadot reg = <0x20050000 0x10>; 437f126890aSEmmanuel Vadot #pwm-cells = <3>; 438f126890aSEmmanuel Vadot clocks = <&cru PCLK_PWM>; 439f126890aSEmmanuel Vadot pinctrl-names = "default"; 440f126890aSEmmanuel Vadot pinctrl-0 = <&pwm0_pin>; 441f126890aSEmmanuel Vadot status = "disabled"; 442f126890aSEmmanuel Vadot }; 443f126890aSEmmanuel Vadot 444f126890aSEmmanuel Vadot pwm1: pwm@20050010 { 445f126890aSEmmanuel Vadot compatible = "rockchip,rk3036-pwm", "rockchip,rk2928-pwm"; 446f126890aSEmmanuel Vadot reg = <0x20050010 0x10>; 447f126890aSEmmanuel Vadot #pwm-cells = <3>; 448f126890aSEmmanuel Vadot clocks = <&cru PCLK_PWM>; 449f126890aSEmmanuel Vadot pinctrl-names = "default"; 450f126890aSEmmanuel Vadot pinctrl-0 = <&pwm1_pin>; 451f126890aSEmmanuel Vadot status = "disabled"; 452f126890aSEmmanuel Vadot }; 453f126890aSEmmanuel Vadot 454f126890aSEmmanuel Vadot pwm2: pwm@20050020 { 455f126890aSEmmanuel Vadot compatible = "rockchip,rk3036-pwm", "rockchip,rk2928-pwm"; 456f126890aSEmmanuel Vadot reg = <0x20050020 0x10>; 457f126890aSEmmanuel Vadot #pwm-cells = <3>; 458f126890aSEmmanuel Vadot clocks = <&cru PCLK_PWM>; 459f126890aSEmmanuel Vadot pinctrl-names = "default"; 460f126890aSEmmanuel Vadot pinctrl-0 = <&pwm2_pin>; 461f126890aSEmmanuel Vadot status = "disabled"; 462f126890aSEmmanuel Vadot }; 463f126890aSEmmanuel Vadot 464f126890aSEmmanuel Vadot pwm3: pwm@20050030 { 465f126890aSEmmanuel Vadot compatible = "rockchip,rk3036-pwm", "rockchip,rk2928-pwm"; 466f126890aSEmmanuel Vadot reg = <0x20050030 0x10>; 467f126890aSEmmanuel Vadot #pwm-cells = <2>; 468f126890aSEmmanuel Vadot clocks = <&cru PCLK_PWM>; 469f126890aSEmmanuel Vadot pinctrl-names = "default"; 470f126890aSEmmanuel Vadot pinctrl-0 = <&pwm3_pin>; 471f126890aSEmmanuel Vadot status = "disabled"; 472f126890aSEmmanuel Vadot }; 473f126890aSEmmanuel Vadot 474f126890aSEmmanuel Vadot i2c1: i2c@20056000 { 475f126890aSEmmanuel Vadot compatible = "rockchip,rk3036-i2c", "rockchip,rk3288-i2c"; 476f126890aSEmmanuel Vadot reg = <0x20056000 0x1000>; 477f126890aSEmmanuel Vadot interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 478f126890aSEmmanuel Vadot #address-cells = <1>; 479f126890aSEmmanuel Vadot #size-cells = <0>; 480f126890aSEmmanuel Vadot clock-names = "i2c"; 481f126890aSEmmanuel Vadot clocks = <&cru PCLK_I2C1>; 482f126890aSEmmanuel Vadot pinctrl-names = "default"; 483f126890aSEmmanuel Vadot pinctrl-0 = <&i2c1_xfer>; 484f126890aSEmmanuel Vadot status = "disabled"; 485f126890aSEmmanuel Vadot }; 486f126890aSEmmanuel Vadot 487f126890aSEmmanuel Vadot i2c2: i2c@2005a000 { 488f126890aSEmmanuel Vadot compatible = "rockchip,rk3036-i2c", "rockchip,rk3288-i2c"; 489f126890aSEmmanuel Vadot reg = <0x2005a000 0x1000>; 490f126890aSEmmanuel Vadot interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>; 491f126890aSEmmanuel Vadot #address-cells = <1>; 492f126890aSEmmanuel Vadot #size-cells = <0>; 493f126890aSEmmanuel Vadot clock-names = "i2c"; 494f126890aSEmmanuel Vadot clocks = <&cru PCLK_I2C2>; 495f126890aSEmmanuel Vadot pinctrl-names = "default"; 496f126890aSEmmanuel Vadot pinctrl-0 = <&i2c2_xfer>; 497f126890aSEmmanuel Vadot status = "disabled"; 498f126890aSEmmanuel Vadot }; 499f126890aSEmmanuel Vadot 500f126890aSEmmanuel Vadot uart0: serial@20060000 { 501f126890aSEmmanuel Vadot compatible = "rockchip,rk3036-uart", "snps,dw-apb-uart"; 502f126890aSEmmanuel Vadot reg = <0x20060000 0x100>; 503f126890aSEmmanuel Vadot interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>; 504f126890aSEmmanuel Vadot reg-shift = <2>; 505f126890aSEmmanuel Vadot reg-io-width = <4>; 506f126890aSEmmanuel Vadot clock-frequency = <24000000>; 507f126890aSEmmanuel Vadot clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>; 508f126890aSEmmanuel Vadot clock-names = "baudclk", "apb_pclk"; 509f126890aSEmmanuel Vadot pinctrl-names = "default"; 510f126890aSEmmanuel Vadot pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 511f126890aSEmmanuel Vadot status = "disabled"; 512f126890aSEmmanuel Vadot }; 513f126890aSEmmanuel Vadot 514f126890aSEmmanuel Vadot uart1: serial@20064000 { 515f126890aSEmmanuel Vadot compatible = "rockchip,rk3036-uart", "snps,dw-apb-uart"; 516f126890aSEmmanuel Vadot reg = <0x20064000 0x100>; 517f126890aSEmmanuel Vadot interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 518f126890aSEmmanuel Vadot reg-shift = <2>; 519f126890aSEmmanuel Vadot reg-io-width = <4>; 520f126890aSEmmanuel Vadot clock-frequency = <24000000>; 521f126890aSEmmanuel Vadot clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>; 522f126890aSEmmanuel Vadot clock-names = "baudclk", "apb_pclk"; 523f126890aSEmmanuel Vadot pinctrl-names = "default"; 524f126890aSEmmanuel Vadot pinctrl-0 = <&uart1_xfer>; 525f126890aSEmmanuel Vadot status = "disabled"; 526f126890aSEmmanuel Vadot }; 527f126890aSEmmanuel Vadot 528f126890aSEmmanuel Vadot uart2: serial@20068000 { 529f126890aSEmmanuel Vadot compatible = "rockchip,rk3036-uart", "snps,dw-apb-uart"; 530f126890aSEmmanuel Vadot reg = <0x20068000 0x100>; 531f126890aSEmmanuel Vadot interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>; 532f126890aSEmmanuel Vadot reg-shift = <2>; 533f126890aSEmmanuel Vadot reg-io-width = <4>; 534f126890aSEmmanuel Vadot clock-frequency = <24000000>; 535f126890aSEmmanuel Vadot clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>; 536f126890aSEmmanuel Vadot clock-names = "baudclk", "apb_pclk"; 537f126890aSEmmanuel Vadot pinctrl-names = "default"; 538f126890aSEmmanuel Vadot pinctrl-0 = <&uart2_xfer>; 539f126890aSEmmanuel Vadot status = "disabled"; 540f126890aSEmmanuel Vadot }; 541f126890aSEmmanuel Vadot 542f126890aSEmmanuel Vadot i2c0: i2c@20072000 { 543f126890aSEmmanuel Vadot compatible = "rockchip,rk3036-i2c", "rockchip,rk3288-i2c"; 544f126890aSEmmanuel Vadot reg = <0x20072000 0x1000>; 545f126890aSEmmanuel Vadot interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>; 546f126890aSEmmanuel Vadot #address-cells = <1>; 547f126890aSEmmanuel Vadot #size-cells = <0>; 548f126890aSEmmanuel Vadot clock-names = "i2c"; 549f126890aSEmmanuel Vadot clocks = <&cru PCLK_I2C0>; 550f126890aSEmmanuel Vadot pinctrl-names = "default"; 551f126890aSEmmanuel Vadot pinctrl-0 = <&i2c0_xfer>; 552f126890aSEmmanuel Vadot status = "disabled"; 553f126890aSEmmanuel Vadot }; 554f126890aSEmmanuel Vadot 555f126890aSEmmanuel Vadot spi: spi@20074000 { 556*b2d2a78aSEmmanuel Vadot compatible = "rockchip,rk3036-spi"; 557f126890aSEmmanuel Vadot reg = <0x20074000 0x1000>; 558f126890aSEmmanuel Vadot interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>; 559*b2d2a78aSEmmanuel Vadot clocks = <&cru SCLK_SPI>, <&cru PCLK_SPI>; 560*b2d2a78aSEmmanuel Vadot clock-names = "spiclk", "apb_pclk"; 561f126890aSEmmanuel Vadot dmas = <&pdma 8>, <&pdma 9>; 562f126890aSEmmanuel Vadot dma-names = "tx", "rx"; 563f126890aSEmmanuel Vadot pinctrl-names = "default"; 564f126890aSEmmanuel Vadot pinctrl-0 = <&spi_txd &spi_rxd &spi_clk &spi_cs0>; 565f126890aSEmmanuel Vadot #address-cells = <1>; 566f126890aSEmmanuel Vadot #size-cells = <0>; 567f126890aSEmmanuel Vadot status = "disabled"; 568f126890aSEmmanuel Vadot }; 569f126890aSEmmanuel Vadot 570f126890aSEmmanuel Vadot pdma: dma-controller@20078000 { 571f126890aSEmmanuel Vadot compatible = "arm,pl330", "arm,primecell"; 572f126890aSEmmanuel Vadot reg = <0x20078000 0x4000>; 573f126890aSEmmanuel Vadot interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, 574f126890aSEmmanuel Vadot <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; 575f126890aSEmmanuel Vadot #dma-cells = <1>; 576f126890aSEmmanuel Vadot arm,pl330-broken-no-flushp; 577f126890aSEmmanuel Vadot arm,pl330-periph-burst; 578f126890aSEmmanuel Vadot clocks = <&cru ACLK_DMAC2>; 579f126890aSEmmanuel Vadot clock-names = "apb_pclk"; 580f126890aSEmmanuel Vadot }; 581f126890aSEmmanuel Vadot 582f126890aSEmmanuel Vadot pinctrl: pinctrl { 583f126890aSEmmanuel Vadot compatible = "rockchip,rk3036-pinctrl"; 584f126890aSEmmanuel Vadot rockchip,grf = <&grf>; 585f126890aSEmmanuel Vadot #address-cells = <1>; 586f126890aSEmmanuel Vadot #size-cells = <1>; 587f126890aSEmmanuel Vadot ranges; 588f126890aSEmmanuel Vadot 589f126890aSEmmanuel Vadot gpio0: gpio@2007c000 { 590f126890aSEmmanuel Vadot compatible = "rockchip,gpio-bank"; 591f126890aSEmmanuel Vadot reg = <0x2007c000 0x100>; 592f126890aSEmmanuel Vadot interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>; 593f126890aSEmmanuel Vadot clocks = <&cru PCLK_GPIO0>; 594f126890aSEmmanuel Vadot 595f126890aSEmmanuel Vadot gpio-controller; 596f126890aSEmmanuel Vadot #gpio-cells = <2>; 597f126890aSEmmanuel Vadot 598f126890aSEmmanuel Vadot interrupt-controller; 599f126890aSEmmanuel Vadot #interrupt-cells = <2>; 600f126890aSEmmanuel Vadot }; 601f126890aSEmmanuel Vadot 602f126890aSEmmanuel Vadot gpio1: gpio@20080000 { 603f126890aSEmmanuel Vadot compatible = "rockchip,gpio-bank"; 604f126890aSEmmanuel Vadot reg = <0x20080000 0x100>; 605f126890aSEmmanuel Vadot interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>; 606f126890aSEmmanuel Vadot clocks = <&cru PCLK_GPIO1>; 607f126890aSEmmanuel Vadot 608f126890aSEmmanuel Vadot gpio-controller; 609f126890aSEmmanuel Vadot #gpio-cells = <2>; 610f126890aSEmmanuel Vadot 611f126890aSEmmanuel Vadot interrupt-controller; 612f126890aSEmmanuel Vadot #interrupt-cells = <2>; 613f126890aSEmmanuel Vadot }; 614f126890aSEmmanuel Vadot 615f126890aSEmmanuel Vadot gpio2: gpio@20084000 { 616f126890aSEmmanuel Vadot compatible = "rockchip,gpio-bank"; 617f126890aSEmmanuel Vadot reg = <0x20084000 0x100>; 618f126890aSEmmanuel Vadot interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 619f126890aSEmmanuel Vadot clocks = <&cru PCLK_GPIO2>; 620f126890aSEmmanuel Vadot 621f126890aSEmmanuel Vadot gpio-controller; 622f126890aSEmmanuel Vadot #gpio-cells = <2>; 623f126890aSEmmanuel Vadot 624f126890aSEmmanuel Vadot interrupt-controller; 625f126890aSEmmanuel Vadot #interrupt-cells = <2>; 626f126890aSEmmanuel Vadot }; 627f126890aSEmmanuel Vadot 628f126890aSEmmanuel Vadot pcfg_pull_default: pcfg-pull-default { 629f126890aSEmmanuel Vadot bias-pull-pin-default; 630f126890aSEmmanuel Vadot }; 631f126890aSEmmanuel Vadot 632f126890aSEmmanuel Vadot pcfg_pull_none: pcfg-pull-none { 633f126890aSEmmanuel Vadot bias-disable; 634f126890aSEmmanuel Vadot }; 635f126890aSEmmanuel Vadot 636f126890aSEmmanuel Vadot pwm0 { 637f126890aSEmmanuel Vadot pwm0_pin: pwm0-pin { 638f126890aSEmmanuel Vadot rockchip,pins = <0 RK_PA0 2 &pcfg_pull_none>; 639f126890aSEmmanuel Vadot }; 640f126890aSEmmanuel Vadot }; 641f126890aSEmmanuel Vadot 642f126890aSEmmanuel Vadot pwm1 { 643f126890aSEmmanuel Vadot pwm1_pin: pwm1-pin { 644f126890aSEmmanuel Vadot rockchip,pins = <0 RK_PA1 2 &pcfg_pull_none>; 645f126890aSEmmanuel Vadot }; 646f126890aSEmmanuel Vadot }; 647f126890aSEmmanuel Vadot 648f126890aSEmmanuel Vadot pwm2 { 649f126890aSEmmanuel Vadot pwm2_pin: pwm2-pin { 650f126890aSEmmanuel Vadot rockchip,pins = <0 RK_PA1 2 &pcfg_pull_none>; 651f126890aSEmmanuel Vadot }; 652f126890aSEmmanuel Vadot }; 653f126890aSEmmanuel Vadot 654f126890aSEmmanuel Vadot pwm3 { 655f126890aSEmmanuel Vadot pwm3_pin: pwm3-pin { 656f126890aSEmmanuel Vadot rockchip,pins = <0 RK_PD3 1 &pcfg_pull_none>; 657f126890aSEmmanuel Vadot }; 658f126890aSEmmanuel Vadot }; 659f126890aSEmmanuel Vadot 660f126890aSEmmanuel Vadot sdmmc { 661f126890aSEmmanuel Vadot sdmmc_clk: sdmmc-clk { 662f126890aSEmmanuel Vadot rockchip,pins = <1 RK_PC0 1 &pcfg_pull_none>; 663f126890aSEmmanuel Vadot }; 664f126890aSEmmanuel Vadot 665f126890aSEmmanuel Vadot sdmmc_cmd: sdmmc-cmd { 666f126890aSEmmanuel Vadot rockchip,pins = <1 RK_PB7 1 &pcfg_pull_default>; 667f126890aSEmmanuel Vadot }; 668f126890aSEmmanuel Vadot 669f126890aSEmmanuel Vadot sdmmc_cd: sdmmc-cd { 670f126890aSEmmanuel Vadot rockchip,pins = <1 RK_PC1 1 &pcfg_pull_default>; 671f126890aSEmmanuel Vadot }; 672f126890aSEmmanuel Vadot 673f126890aSEmmanuel Vadot sdmmc_bus1: sdmmc-bus1 { 674f126890aSEmmanuel Vadot rockchip,pins = <1 RK_PC2 1 &pcfg_pull_default>; 675f126890aSEmmanuel Vadot }; 676f126890aSEmmanuel Vadot 677f126890aSEmmanuel Vadot sdmmc_bus4: sdmmc-bus4 { 678f126890aSEmmanuel Vadot rockchip,pins = <1 RK_PC2 1 &pcfg_pull_default>, 679f126890aSEmmanuel Vadot <1 RK_PC3 1 &pcfg_pull_default>, 680f126890aSEmmanuel Vadot <1 RK_PC4 1 &pcfg_pull_default>, 681f126890aSEmmanuel Vadot <1 RK_PC5 1 &pcfg_pull_default>; 682f126890aSEmmanuel Vadot }; 683f126890aSEmmanuel Vadot }; 684f126890aSEmmanuel Vadot 685f126890aSEmmanuel Vadot sdio { 686f126890aSEmmanuel Vadot sdio_bus1: sdio-bus1 { 687f126890aSEmmanuel Vadot rockchip,pins = <0 RK_PB3 1 &pcfg_pull_default>; 688f126890aSEmmanuel Vadot }; 689f126890aSEmmanuel Vadot 690f126890aSEmmanuel Vadot sdio_bus4: sdio-bus4 { 691f126890aSEmmanuel Vadot rockchip,pins = <0 RK_PB3 1 &pcfg_pull_default>, 692f126890aSEmmanuel Vadot <0 RK_PB4 1 &pcfg_pull_default>, 693f126890aSEmmanuel Vadot <0 RK_PB5 1 &pcfg_pull_default>, 694f126890aSEmmanuel Vadot <0 RK_PB6 1 &pcfg_pull_default>; 695f126890aSEmmanuel Vadot }; 696f126890aSEmmanuel Vadot 697f126890aSEmmanuel Vadot sdio_cmd: sdio-cmd { 698f126890aSEmmanuel Vadot rockchip,pins = <0 RK_PB0 1 &pcfg_pull_default>; 699f126890aSEmmanuel Vadot }; 700f126890aSEmmanuel Vadot 701f126890aSEmmanuel Vadot sdio_clk: sdio-clk { 702f126890aSEmmanuel Vadot rockchip,pins = <0 RK_PB1 1 &pcfg_pull_none>; 703f126890aSEmmanuel Vadot }; 704f126890aSEmmanuel Vadot }; 705f126890aSEmmanuel Vadot 706f126890aSEmmanuel Vadot emmc { 707f126890aSEmmanuel Vadot /* 708f126890aSEmmanuel Vadot * We run eMMC at max speed; bump up drive strength. 709f126890aSEmmanuel Vadot * We also have external pulls, so disable the internal ones. 710f126890aSEmmanuel Vadot */ 711f126890aSEmmanuel Vadot emmc_clk: emmc-clk { 712f126890aSEmmanuel Vadot rockchip,pins = <2 RK_PA4 2 &pcfg_pull_none>; 713f126890aSEmmanuel Vadot }; 714f126890aSEmmanuel Vadot 715f126890aSEmmanuel Vadot emmc_cmd: emmc-cmd { 716f126890aSEmmanuel Vadot rockchip,pins = <2 RK_PA1 2 &pcfg_pull_default>; 717f126890aSEmmanuel Vadot }; 718f126890aSEmmanuel Vadot 719f126890aSEmmanuel Vadot emmc_bus8: emmc-bus8 { 720f126890aSEmmanuel Vadot rockchip,pins = <1 RK_PD0 2 &pcfg_pull_default>, 721f126890aSEmmanuel Vadot <1 RK_PD1 2 &pcfg_pull_default>, 722f126890aSEmmanuel Vadot <1 RK_PD2 2 &pcfg_pull_default>, 723f126890aSEmmanuel Vadot <1 RK_PD3 2 &pcfg_pull_default>, 724f126890aSEmmanuel Vadot <1 RK_PD4 2 &pcfg_pull_default>, 725f126890aSEmmanuel Vadot <1 RK_PD5 2 &pcfg_pull_default>, 726f126890aSEmmanuel Vadot <1 RK_PD6 2 &pcfg_pull_default>, 727f126890aSEmmanuel Vadot <1 RK_PD7 2 &pcfg_pull_default>; 728f126890aSEmmanuel Vadot }; 729f126890aSEmmanuel Vadot }; 730f126890aSEmmanuel Vadot 731f126890aSEmmanuel Vadot nfc { 732f126890aSEmmanuel Vadot flash_ale: flash-ale { 733f126890aSEmmanuel Vadot rockchip,pins = <2 RK_PA0 1 &pcfg_pull_default>; 734f126890aSEmmanuel Vadot }; 735f126890aSEmmanuel Vadot 736f126890aSEmmanuel Vadot flash_bus8: flash-bus8 { 737f126890aSEmmanuel Vadot rockchip,pins = <1 RK_PD0 1 &pcfg_pull_default>, 738f126890aSEmmanuel Vadot <1 RK_PD1 1 &pcfg_pull_default>, 739f126890aSEmmanuel Vadot <1 RK_PD2 1 &pcfg_pull_default>, 740f126890aSEmmanuel Vadot <1 RK_PD3 1 &pcfg_pull_default>, 741f126890aSEmmanuel Vadot <1 RK_PD4 1 &pcfg_pull_default>, 742f126890aSEmmanuel Vadot <1 RK_PD5 1 &pcfg_pull_default>, 743f126890aSEmmanuel Vadot <1 RK_PD6 1 &pcfg_pull_default>, 744f126890aSEmmanuel Vadot <1 RK_PD7 1 &pcfg_pull_default>; 745f126890aSEmmanuel Vadot }; 746f126890aSEmmanuel Vadot 747f126890aSEmmanuel Vadot flash_cle: flash-cle { 748f126890aSEmmanuel Vadot rockchip,pins = <2 RK_PA1 1 &pcfg_pull_default>; 749f126890aSEmmanuel Vadot }; 750f126890aSEmmanuel Vadot 751f126890aSEmmanuel Vadot flash_csn0: flash-csn0 { 752f126890aSEmmanuel Vadot rockchip,pins = <2 RK_PA6 1 &pcfg_pull_default>; 753f126890aSEmmanuel Vadot }; 754f126890aSEmmanuel Vadot 755f126890aSEmmanuel Vadot flash_rdn: flash-rdn { 756f126890aSEmmanuel Vadot rockchip,pins = <2 RK_PA3 1 &pcfg_pull_default>; 757f126890aSEmmanuel Vadot }; 758f126890aSEmmanuel Vadot 759f126890aSEmmanuel Vadot flash_rdy: flash-rdy { 760f126890aSEmmanuel Vadot rockchip,pins = <2 RK_PA4 1 &pcfg_pull_default>; 761f126890aSEmmanuel Vadot }; 762f126890aSEmmanuel Vadot 763f126890aSEmmanuel Vadot flash_wrn: flash-wrn { 764f126890aSEmmanuel Vadot rockchip,pins = <2 RK_PA2 1 &pcfg_pull_default>; 765f126890aSEmmanuel Vadot }; 766f126890aSEmmanuel Vadot }; 767f126890aSEmmanuel Vadot 768f126890aSEmmanuel Vadot emac { 769f126890aSEmmanuel Vadot emac_xfer: emac-xfer { 770f126890aSEmmanuel Vadot rockchip,pins = <2 RK_PB2 1 &pcfg_pull_default>, /* crs_dvalid */ 771f126890aSEmmanuel Vadot <2 RK_PB5 1 &pcfg_pull_default>, /* tx_en */ 772f126890aSEmmanuel Vadot <2 RK_PB6 1 &pcfg_pull_default>, /* mac_clk */ 773f126890aSEmmanuel Vadot <2 RK_PB7 1 &pcfg_pull_default>, /* rx_err */ 774f126890aSEmmanuel Vadot <2 RK_PC0 1 &pcfg_pull_default>, /* rxd1 */ 775f126890aSEmmanuel Vadot <2 RK_PC1 1 &pcfg_pull_default>, /* rxd0 */ 776f126890aSEmmanuel Vadot <2 RK_PC2 1 &pcfg_pull_default>, /* txd1 */ 777f126890aSEmmanuel Vadot <2 RK_PC3 1 &pcfg_pull_default>; /* txd0 */ 778f126890aSEmmanuel Vadot }; 779f126890aSEmmanuel Vadot 780f126890aSEmmanuel Vadot emac_mdio: emac-mdio { 781f126890aSEmmanuel Vadot rockchip,pins = <2 RK_PB4 1 &pcfg_pull_default>, /* mac_md */ 782f126890aSEmmanuel Vadot <2 RK_PD1 1 &pcfg_pull_default>; /* mac_mdclk */ 783f126890aSEmmanuel Vadot }; 784f126890aSEmmanuel Vadot }; 785f126890aSEmmanuel Vadot 786f126890aSEmmanuel Vadot i2c0 { 787f126890aSEmmanuel Vadot i2c0_xfer: i2c0-xfer { 788f126890aSEmmanuel Vadot rockchip,pins = <0 RK_PA0 1 &pcfg_pull_none>, 789f126890aSEmmanuel Vadot <0 RK_PA1 1 &pcfg_pull_none>; 790f126890aSEmmanuel Vadot }; 791f126890aSEmmanuel Vadot }; 792f126890aSEmmanuel Vadot 793f126890aSEmmanuel Vadot i2c1 { 794f126890aSEmmanuel Vadot i2c1_xfer: i2c1-xfer { 795f126890aSEmmanuel Vadot rockchip,pins = <0 RK_PA2 1 &pcfg_pull_none>, 796f126890aSEmmanuel Vadot <0 RK_PA3 1 &pcfg_pull_none>; 797f126890aSEmmanuel Vadot }; 798f126890aSEmmanuel Vadot }; 799f126890aSEmmanuel Vadot 800f126890aSEmmanuel Vadot i2c2 { 801f126890aSEmmanuel Vadot i2c2_xfer: i2c2-xfer { 802f126890aSEmmanuel Vadot rockchip,pins = <2 RK_PC4 1 &pcfg_pull_none>, 803f126890aSEmmanuel Vadot <2 RK_PC5 1 &pcfg_pull_none>; 804f126890aSEmmanuel Vadot }; 805f126890aSEmmanuel Vadot }; 806f126890aSEmmanuel Vadot 807f126890aSEmmanuel Vadot i2s { 808f126890aSEmmanuel Vadot i2s_bus: i2s-bus { 809f126890aSEmmanuel Vadot rockchip,pins = <1 RK_PA0 1 &pcfg_pull_default>, 810f126890aSEmmanuel Vadot <1 RK_PA1 1 &pcfg_pull_default>, 811f126890aSEmmanuel Vadot <1 RK_PA2 1 &pcfg_pull_default>, 812f126890aSEmmanuel Vadot <1 RK_PA3 1 &pcfg_pull_default>, 813f126890aSEmmanuel Vadot <1 RK_PA4 1 &pcfg_pull_default>, 814f126890aSEmmanuel Vadot <1 RK_PA5 1 &pcfg_pull_default>; 815f126890aSEmmanuel Vadot }; 816f126890aSEmmanuel Vadot }; 817f126890aSEmmanuel Vadot 818f126890aSEmmanuel Vadot hdmi { 819f126890aSEmmanuel Vadot hdmi_ctl: hdmi-ctl { 820f126890aSEmmanuel Vadot rockchip,pins = <1 RK_PB0 1 &pcfg_pull_none>, 821f126890aSEmmanuel Vadot <1 RK_PB1 1 &pcfg_pull_none>, 822f126890aSEmmanuel Vadot <1 RK_PB2 1 &pcfg_pull_none>, 823f126890aSEmmanuel Vadot <1 RK_PB3 1 &pcfg_pull_none>; 824f126890aSEmmanuel Vadot }; 825f126890aSEmmanuel Vadot }; 826f126890aSEmmanuel Vadot 827f126890aSEmmanuel Vadot uart0 { 828f126890aSEmmanuel Vadot uart0_xfer: uart0-xfer { 829f126890aSEmmanuel Vadot rockchip,pins = <0 RK_PC0 1 &pcfg_pull_default>, 830f126890aSEmmanuel Vadot <0 RK_PC1 1 &pcfg_pull_none>; 831f126890aSEmmanuel Vadot }; 832f126890aSEmmanuel Vadot 833f126890aSEmmanuel Vadot uart0_cts: uart0-cts { 834f126890aSEmmanuel Vadot rockchip,pins = <0 RK_PC2 1 &pcfg_pull_default>; 835f126890aSEmmanuel Vadot }; 836f126890aSEmmanuel Vadot 837f126890aSEmmanuel Vadot uart0_rts: uart0-rts { 838f126890aSEmmanuel Vadot rockchip,pins = <0 RK_PC3 1 &pcfg_pull_none>; 839f126890aSEmmanuel Vadot }; 840f126890aSEmmanuel Vadot }; 841f126890aSEmmanuel Vadot 842f126890aSEmmanuel Vadot uart1 { 843f126890aSEmmanuel Vadot uart1_xfer: uart1-xfer { 844f126890aSEmmanuel Vadot rockchip,pins = <2 RK_PC6 1 &pcfg_pull_default>, 845f126890aSEmmanuel Vadot <2 RK_PC7 1 &pcfg_pull_none>; 846f126890aSEmmanuel Vadot }; 847f126890aSEmmanuel Vadot /* no rts / cts for uart1 */ 848f126890aSEmmanuel Vadot }; 849f126890aSEmmanuel Vadot 850f126890aSEmmanuel Vadot uart2 { 851f126890aSEmmanuel Vadot uart2_xfer: uart2-xfer { 852f126890aSEmmanuel Vadot rockchip,pins = <1 RK_PC2 2 &pcfg_pull_default>, 853f126890aSEmmanuel Vadot <1 RK_PC3 2 &pcfg_pull_none>; 854f126890aSEmmanuel Vadot }; 855f126890aSEmmanuel Vadot /* no rts / cts for uart2 */ 856f126890aSEmmanuel Vadot }; 857f126890aSEmmanuel Vadot 858f126890aSEmmanuel Vadot spi-pins { 859f126890aSEmmanuel Vadot spi_txd:spi-txd { 860f126890aSEmmanuel Vadot rockchip,pins = <1 RK_PD5 3 &pcfg_pull_default>; 861f126890aSEmmanuel Vadot }; 862f126890aSEmmanuel Vadot 863f126890aSEmmanuel Vadot spi_rxd:spi-rxd { 864f126890aSEmmanuel Vadot rockchip,pins = <1 RK_PD4 3 &pcfg_pull_default>; 865f126890aSEmmanuel Vadot }; 866f126890aSEmmanuel Vadot 867f126890aSEmmanuel Vadot spi_clk:spi-clk { 868f126890aSEmmanuel Vadot rockchip,pins = <2 RK_PA0 2 &pcfg_pull_default>; 869f126890aSEmmanuel Vadot }; 870f126890aSEmmanuel Vadot 871f126890aSEmmanuel Vadot spi_cs0:spi-cs0 { 872f126890aSEmmanuel Vadot rockchip,pins = <1 RK_PD6 3 &pcfg_pull_default>; 873f126890aSEmmanuel Vadot 874f126890aSEmmanuel Vadot }; 875f126890aSEmmanuel Vadot 876f126890aSEmmanuel Vadot spi_cs1:spi-cs1 { 877f126890aSEmmanuel Vadot rockchip,pins = <1 RK_PD7 3 &pcfg_pull_default>; 878f126890aSEmmanuel Vadot 879f126890aSEmmanuel Vadot }; 880f126890aSEmmanuel Vadot }; 881f126890aSEmmanuel Vadot }; 882f126890aSEmmanuel Vadot}; 883