1f126890aSEmmanuel Vadot/* 2f126890aSEmmanuel Vadot * Copyright 2014 Chen-Yu Tsai 3f126890aSEmmanuel Vadot * 4f126890aSEmmanuel Vadot * Chen-Yu Tsai <wens@csie.org> 5f126890aSEmmanuel Vadot * 6f126890aSEmmanuel Vadot * This file is dual-licensed: you can use it either under the terms 7f126890aSEmmanuel Vadot * of the GPL or the X11 license, at your option. Note that this dual 8f126890aSEmmanuel Vadot * licensing only applies to this file, and not this project as a 9f126890aSEmmanuel Vadot * whole. 10f126890aSEmmanuel Vadot * 11f126890aSEmmanuel Vadot * a) This file is free software; you can redistribute it and/or 12f126890aSEmmanuel Vadot * modify it under the terms of the GNU General Public License as 13f126890aSEmmanuel Vadot * published by the Free Software Foundation; either version 2 of the 14f126890aSEmmanuel Vadot * License, or (at your option) any later version. 15f126890aSEmmanuel Vadot * 16f126890aSEmmanuel Vadot * This file is distributed in the hope that it will be useful, 17f126890aSEmmanuel Vadot * but WITHOUT ANY WARRANTY; without even the implied warranty of 18f126890aSEmmanuel Vadot * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19f126890aSEmmanuel Vadot * GNU General Public License for more details. 20f126890aSEmmanuel Vadot * 21f126890aSEmmanuel Vadot * Or, alternatively, 22f126890aSEmmanuel Vadot * 23f126890aSEmmanuel Vadot * b) Permission is hereby granted, free of charge, to any person 24f126890aSEmmanuel Vadot * obtaining a copy of this software and associated documentation 25f126890aSEmmanuel Vadot * files (the "Software"), to deal in the Software without 26f126890aSEmmanuel Vadot * restriction, including without limitation the rights to use, 27f126890aSEmmanuel Vadot * copy, modify, merge, publish, distribute, sublicense, and/or 28f126890aSEmmanuel Vadot * sell copies of the Software, and to permit persons to whom the 29f126890aSEmmanuel Vadot * Software is furnished to do so, subject to the following 30f126890aSEmmanuel Vadot * conditions: 31f126890aSEmmanuel Vadot * 32f126890aSEmmanuel Vadot * The above copyright notice and this permission notice shall be 33f126890aSEmmanuel Vadot * included in all copies or substantial portions of the Software. 34f126890aSEmmanuel Vadot * 35f126890aSEmmanuel Vadot * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 36f126890aSEmmanuel Vadot * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 37f126890aSEmmanuel Vadot * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 38f126890aSEmmanuel Vadot * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 39f126890aSEmmanuel Vadot * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 40f126890aSEmmanuel Vadot * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 41f126890aSEmmanuel Vadot * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 42f126890aSEmmanuel Vadot * OTHER DEALINGS IN THE SOFTWARE. 43f126890aSEmmanuel Vadot */ 44f126890aSEmmanuel Vadot 45f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h> 46f126890aSEmmanuel Vadot 47f126890aSEmmanuel Vadot#include <dt-bindings/clock/sun6i-rtc.h> 48f126890aSEmmanuel Vadot#include <dt-bindings/clock/sun8i-a23-a33-ccu.h> 49f126890aSEmmanuel Vadot#include <dt-bindings/reset/sun8i-a23-a33-ccu.h> 50f126890aSEmmanuel Vadot 51f126890aSEmmanuel Vadot/ { 52f126890aSEmmanuel Vadot interrupt-parent = <&gic>; 53f126890aSEmmanuel Vadot #address-cells = <1>; 54f126890aSEmmanuel Vadot #size-cells = <1>; 55f126890aSEmmanuel Vadot 56f126890aSEmmanuel Vadot chosen { 57f126890aSEmmanuel Vadot #address-cells = <1>; 58f126890aSEmmanuel Vadot #size-cells = <1>; 59f126890aSEmmanuel Vadot ranges; 60f126890aSEmmanuel Vadot 61f126890aSEmmanuel Vadot simplefb_lcd: framebuffer-lcd0 { 62f126890aSEmmanuel Vadot compatible = "allwinner,simple-framebuffer", 63f126890aSEmmanuel Vadot "simple-framebuffer"; 64f126890aSEmmanuel Vadot allwinner,pipeline = "de_be0-lcd0"; 65f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_LCD>, <&ccu CLK_BUS_DE_BE>, 66f126890aSEmmanuel Vadot <&ccu CLK_LCD_CH0>, <&ccu CLK_DE_BE>, 67f126890aSEmmanuel Vadot <&ccu CLK_DRAM_DE_BE>, <&ccu CLK_DRC>; 68f126890aSEmmanuel Vadot status = "disabled"; 69f126890aSEmmanuel Vadot }; 70f126890aSEmmanuel Vadot }; 71f126890aSEmmanuel Vadot 72f126890aSEmmanuel Vadot de: display-engine { 73f126890aSEmmanuel Vadot /* compatible gets set in SoC specific dtsi file */ 74f126890aSEmmanuel Vadot allwinner,pipelines = <&fe0>; 75f126890aSEmmanuel Vadot status = "disabled"; 76f126890aSEmmanuel Vadot }; 77f126890aSEmmanuel Vadot 78f126890aSEmmanuel Vadot timer { 79f126890aSEmmanuel Vadot compatible = "arm,armv7-timer"; 80f126890aSEmmanuel Vadot interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 81f126890aSEmmanuel Vadot <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 82f126890aSEmmanuel Vadot <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>, 83f126890aSEmmanuel Vadot <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; 84f126890aSEmmanuel Vadot clock-frequency = <24000000>; 85f126890aSEmmanuel Vadot arm,cpu-registers-not-fw-configured; 86f126890aSEmmanuel Vadot }; 87f126890aSEmmanuel Vadot 88f126890aSEmmanuel Vadot cpus { 89f126890aSEmmanuel Vadot enable-method = "allwinner,sun8i-a23"; 90f126890aSEmmanuel Vadot #address-cells = <1>; 91f126890aSEmmanuel Vadot #size-cells = <0>; 92f126890aSEmmanuel Vadot 93f126890aSEmmanuel Vadot cpu0: cpu@0 { 94f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 95f126890aSEmmanuel Vadot device_type = "cpu"; 96f126890aSEmmanuel Vadot reg = <0>; 97f126890aSEmmanuel Vadot }; 98f126890aSEmmanuel Vadot 99f126890aSEmmanuel Vadot cpu@1 { 100f126890aSEmmanuel Vadot compatible = "arm,cortex-a7"; 101f126890aSEmmanuel Vadot device_type = "cpu"; 102f126890aSEmmanuel Vadot reg = <1>; 103f126890aSEmmanuel Vadot }; 104f126890aSEmmanuel Vadot }; 105f126890aSEmmanuel Vadot 106f126890aSEmmanuel Vadot clocks { 107f126890aSEmmanuel Vadot #address-cells = <1>; 108f126890aSEmmanuel Vadot #size-cells = <1>; 109f126890aSEmmanuel Vadot ranges; 110f126890aSEmmanuel Vadot 111*7d0873ebSEmmanuel Vadot osc24M: osc24M-clk { 112f126890aSEmmanuel Vadot #clock-cells = <0>; 113f126890aSEmmanuel Vadot compatible = "fixed-clock"; 114f126890aSEmmanuel Vadot clock-frequency = <24000000>; 115f126890aSEmmanuel Vadot clock-accuracy = <50000>; 116f126890aSEmmanuel Vadot clock-output-names = "osc24M"; 117f126890aSEmmanuel Vadot }; 118f126890aSEmmanuel Vadot 119*7d0873ebSEmmanuel Vadot ext_osc32k: ext-osc32k-clk { 120f126890aSEmmanuel Vadot #clock-cells = <0>; 121f126890aSEmmanuel Vadot compatible = "fixed-clock"; 122f126890aSEmmanuel Vadot clock-frequency = <32768>; 123f126890aSEmmanuel Vadot clock-accuracy = <50000>; 124f126890aSEmmanuel Vadot clock-output-names = "ext-osc32k"; 125f126890aSEmmanuel Vadot }; 126f126890aSEmmanuel Vadot }; 127f126890aSEmmanuel Vadot 128f126890aSEmmanuel Vadot soc { 129f126890aSEmmanuel Vadot compatible = "simple-bus"; 130f126890aSEmmanuel Vadot #address-cells = <1>; 131f126890aSEmmanuel Vadot #size-cells = <1>; 132f126890aSEmmanuel Vadot ranges; 133f126890aSEmmanuel Vadot 134f126890aSEmmanuel Vadot system-control@1c00000 { 135f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a23-system-control"; 136f126890aSEmmanuel Vadot reg = <0x01c00000 0x30>; 137f126890aSEmmanuel Vadot #address-cells = <1>; 138f126890aSEmmanuel Vadot #size-cells = <1>; 139f126890aSEmmanuel Vadot ranges; 140f126890aSEmmanuel Vadot 141f126890aSEmmanuel Vadot sram_c: sram@1d00000 { 142f126890aSEmmanuel Vadot compatible = "mmio-sram"; 143f126890aSEmmanuel Vadot reg = <0x01d00000 0x80000>; 144f126890aSEmmanuel Vadot #address-cells = <1>; 145f126890aSEmmanuel Vadot #size-cells = <1>; 146f126890aSEmmanuel Vadot ranges = <0 0x01d00000 0x80000>; 147f126890aSEmmanuel Vadot 148f126890aSEmmanuel Vadot ve_sram: sram-section@0 { 149f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a23-sram-c1", 150f126890aSEmmanuel Vadot "allwinner,sun4i-a10-sram-c1"; 151f126890aSEmmanuel Vadot reg = <0x000000 0x80000>; 152f126890aSEmmanuel Vadot }; 153f126890aSEmmanuel Vadot }; 154f126890aSEmmanuel Vadot }; 155f126890aSEmmanuel Vadot 156f126890aSEmmanuel Vadot dma: dma-controller@1c02000 { 157f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a23-dma"; 158f126890aSEmmanuel Vadot reg = <0x01c02000 0x1000>; 159f126890aSEmmanuel Vadot interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 160f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_DMA>; 161f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_DMA>; 162f126890aSEmmanuel Vadot #dma-cells = <1>; 163f126890aSEmmanuel Vadot }; 164f126890aSEmmanuel Vadot 165f126890aSEmmanuel Vadot nfc: nand-controller@1c03000 { 166f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a23-nand-controller"; 167f126890aSEmmanuel Vadot reg = <0x01c03000 0x1000>; 168f126890aSEmmanuel Vadot interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>; 169f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_NAND>, <&ccu CLK_NAND>; 170f126890aSEmmanuel Vadot clock-names = "ahb", "mod"; 171f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_NAND>; 172f126890aSEmmanuel Vadot reset-names = "ahb"; 173f126890aSEmmanuel Vadot dmas = <&dma 5>; 174f126890aSEmmanuel Vadot dma-names = "rxtx"; 175f126890aSEmmanuel Vadot pinctrl-names = "default"; 176f126890aSEmmanuel Vadot pinctrl-0 = <&nand_pins &nand_cs0_pin &nand_rb0_pin>; 177f126890aSEmmanuel Vadot status = "disabled"; 178f126890aSEmmanuel Vadot #address-cells = <1>; 179f126890aSEmmanuel Vadot #size-cells = <0>; 180f126890aSEmmanuel Vadot }; 181f126890aSEmmanuel Vadot 182f126890aSEmmanuel Vadot tcon0: lcd-controller@1c0c000 { 183f126890aSEmmanuel Vadot /* compatible gets set in SoC specific dtsi file */ 184f126890aSEmmanuel Vadot reg = <0x01c0c000 0x1000>; 185f126890aSEmmanuel Vadot interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 186f126890aSEmmanuel Vadot dmas = <&dma 12>; 187f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_LCD>, 188f126890aSEmmanuel Vadot <&ccu CLK_LCD_CH0>, 189f126890aSEmmanuel Vadot <&ccu 13>; 190f126890aSEmmanuel Vadot clock-names = "ahb", 191f126890aSEmmanuel Vadot "tcon-ch0", 192f126890aSEmmanuel Vadot "lvds-alt"; 193f126890aSEmmanuel Vadot clock-output-names = "tcon-data-clock"; 194f126890aSEmmanuel Vadot #clock-cells = <0>; 195f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_LCD>, 196f126890aSEmmanuel Vadot <&ccu RST_BUS_LVDS>; 197f126890aSEmmanuel Vadot reset-names = "lcd", 198f126890aSEmmanuel Vadot "lvds"; 199f126890aSEmmanuel Vadot status = "disabled"; 200f126890aSEmmanuel Vadot 201f126890aSEmmanuel Vadot ports { 202f126890aSEmmanuel Vadot #address-cells = <1>; 203f126890aSEmmanuel Vadot #size-cells = <0>; 204f126890aSEmmanuel Vadot 205f126890aSEmmanuel Vadot tcon0_in: port@0 { 206f126890aSEmmanuel Vadot reg = <0>; 207f126890aSEmmanuel Vadot 208f126890aSEmmanuel Vadot tcon0_in_drc0: endpoint { 209f126890aSEmmanuel Vadot remote-endpoint = <&drc0_out_tcon0>; 210f126890aSEmmanuel Vadot }; 211f126890aSEmmanuel Vadot }; 212f126890aSEmmanuel Vadot 213f126890aSEmmanuel Vadot tcon0_out: port@1 { 214f126890aSEmmanuel Vadot reg = <1>; 215f126890aSEmmanuel Vadot }; 216f126890aSEmmanuel Vadot }; 217f126890aSEmmanuel Vadot }; 218f126890aSEmmanuel Vadot 219f126890aSEmmanuel Vadot mmc0: mmc@1c0f000 { 220f126890aSEmmanuel Vadot compatible = "allwinner,sun7i-a20-mmc"; 221f126890aSEmmanuel Vadot reg = <0x01c0f000 0x1000>; 222f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_MMC0>, 223f126890aSEmmanuel Vadot <&ccu CLK_MMC0>, 224f126890aSEmmanuel Vadot <&ccu CLK_MMC0_OUTPUT>, 225f126890aSEmmanuel Vadot <&ccu CLK_MMC0_SAMPLE>; 226f126890aSEmmanuel Vadot clock-names = "ahb", 227f126890aSEmmanuel Vadot "mmc", 228f126890aSEmmanuel Vadot "output", 229f126890aSEmmanuel Vadot "sample"; 230f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_MMC0>; 231f126890aSEmmanuel Vadot reset-names = "ahb"; 232f126890aSEmmanuel Vadot interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; 233f126890aSEmmanuel Vadot pinctrl-names = "default"; 234f126890aSEmmanuel Vadot pinctrl-0 = <&mmc0_pins>; 235f126890aSEmmanuel Vadot status = "disabled"; 236f126890aSEmmanuel Vadot #address-cells = <1>; 237f126890aSEmmanuel Vadot #size-cells = <0>; 238f126890aSEmmanuel Vadot }; 239f126890aSEmmanuel Vadot 240f126890aSEmmanuel Vadot mmc1: mmc@1c10000 { 241f126890aSEmmanuel Vadot compatible = "allwinner,sun7i-a20-mmc"; 242f126890aSEmmanuel Vadot reg = <0x01c10000 0x1000>; 243f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_MMC1>, 244f126890aSEmmanuel Vadot <&ccu CLK_MMC1>, 245f126890aSEmmanuel Vadot <&ccu CLK_MMC1_OUTPUT>, 246f126890aSEmmanuel Vadot <&ccu CLK_MMC1_SAMPLE>; 247f126890aSEmmanuel Vadot clock-names = "ahb", 248f126890aSEmmanuel Vadot "mmc", 249f126890aSEmmanuel Vadot "output", 250f126890aSEmmanuel Vadot "sample"; 251f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_MMC1>; 252f126890aSEmmanuel Vadot reset-names = "ahb"; 253f126890aSEmmanuel Vadot interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; 254f126890aSEmmanuel Vadot status = "disabled"; 255f126890aSEmmanuel Vadot #address-cells = <1>; 256f126890aSEmmanuel Vadot #size-cells = <0>; 257f126890aSEmmanuel Vadot }; 258f126890aSEmmanuel Vadot 259f126890aSEmmanuel Vadot mmc2: mmc@1c11000 { 260f126890aSEmmanuel Vadot compatible = "allwinner,sun7i-a20-mmc"; 261f126890aSEmmanuel Vadot reg = <0x01c11000 0x1000>; 262f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_MMC2>, 263f126890aSEmmanuel Vadot <&ccu CLK_MMC2>, 264f126890aSEmmanuel Vadot <&ccu CLK_MMC2_OUTPUT>, 265f126890aSEmmanuel Vadot <&ccu CLK_MMC2_SAMPLE>; 266f126890aSEmmanuel Vadot clock-names = "ahb", 267f126890aSEmmanuel Vadot "mmc", 268f126890aSEmmanuel Vadot "output", 269f126890aSEmmanuel Vadot "sample"; 270f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_MMC2>; 271f126890aSEmmanuel Vadot reset-names = "ahb"; 272f126890aSEmmanuel Vadot interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 273f126890aSEmmanuel Vadot status = "disabled"; 274f126890aSEmmanuel Vadot #address-cells = <1>; 275f126890aSEmmanuel Vadot #size-cells = <0>; 276f126890aSEmmanuel Vadot }; 277f126890aSEmmanuel Vadot 278f126890aSEmmanuel Vadot usb_otg: usb@1c19000 { 279f126890aSEmmanuel Vadot /* compatible gets set in SoC specific dtsi file */ 280f126890aSEmmanuel Vadot reg = <0x01c19000 0x0400>; 281f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_OTG>; 282f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_OTG>; 283f126890aSEmmanuel Vadot interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 284f126890aSEmmanuel Vadot interrupt-names = "mc"; 285f126890aSEmmanuel Vadot phys = <&usbphy 0>; 286f126890aSEmmanuel Vadot phy-names = "usb"; 287f126890aSEmmanuel Vadot extcon = <&usbphy 0>; 288f126890aSEmmanuel Vadot dr_mode = "otg"; 289f126890aSEmmanuel Vadot status = "disabled"; 290f126890aSEmmanuel Vadot }; 291f126890aSEmmanuel Vadot 292f126890aSEmmanuel Vadot usbphy: phy@1c19400 { 293f126890aSEmmanuel Vadot /* 294f126890aSEmmanuel Vadot * compatible and address regions get set in 295f126890aSEmmanuel Vadot * SoC specific dtsi file 296f126890aSEmmanuel Vadot */ 297f126890aSEmmanuel Vadot clocks = <&ccu CLK_USB_PHY0>, 298f126890aSEmmanuel Vadot <&ccu CLK_USB_PHY1>; 299f126890aSEmmanuel Vadot clock-names = "usb0_phy", 300f126890aSEmmanuel Vadot "usb1_phy"; 301f126890aSEmmanuel Vadot resets = <&ccu RST_USB_PHY0>, 302f126890aSEmmanuel Vadot <&ccu RST_USB_PHY1>; 303f126890aSEmmanuel Vadot reset-names = "usb0_reset", 304f126890aSEmmanuel Vadot "usb1_reset"; 305f126890aSEmmanuel Vadot status = "disabled"; 306f126890aSEmmanuel Vadot #phy-cells = <1>; 307f126890aSEmmanuel Vadot }; 308f126890aSEmmanuel Vadot 309f126890aSEmmanuel Vadot ehci0: usb@1c1a000 { 310f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a23-ehci", "generic-ehci"; 311f126890aSEmmanuel Vadot reg = <0x01c1a000 0x100>; 312f126890aSEmmanuel Vadot interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; 313f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_EHCI>; 314f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_EHCI>; 315f126890aSEmmanuel Vadot phys = <&usbphy 1>; 316f126890aSEmmanuel Vadot phy-names = "usb"; 317f126890aSEmmanuel Vadot status = "disabled"; 318f126890aSEmmanuel Vadot }; 319f126890aSEmmanuel Vadot 320f126890aSEmmanuel Vadot ohci0: usb@1c1a400 { 321f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a23-ohci", "generic-ohci"; 322f126890aSEmmanuel Vadot reg = <0x01c1a400 0x100>; 323f126890aSEmmanuel Vadot interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 324f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_OHCI>, <&ccu CLK_USB_OHCI>; 325f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_OHCI>; 326f126890aSEmmanuel Vadot phys = <&usbphy 1>; 327f126890aSEmmanuel Vadot phy-names = "usb"; 328f126890aSEmmanuel Vadot status = "disabled"; 329f126890aSEmmanuel Vadot }; 330f126890aSEmmanuel Vadot 331f126890aSEmmanuel Vadot ccu: clock@1c20000 { 332f126890aSEmmanuel Vadot reg = <0x01c20000 0x400>; 333f126890aSEmmanuel Vadot clocks = <&osc24M>, <&rtc CLK_OSC32K>; 334f126890aSEmmanuel Vadot clock-names = "hosc", "losc"; 335f126890aSEmmanuel Vadot #clock-cells = <1>; 336f126890aSEmmanuel Vadot #reset-cells = <1>; 337f126890aSEmmanuel Vadot }; 338f126890aSEmmanuel Vadot 339f126890aSEmmanuel Vadot pio: pinctrl@1c20800 { 340f126890aSEmmanuel Vadot /* compatible gets set in SoC specific dtsi file */ 341f126890aSEmmanuel Vadot reg = <0x01c20800 0x400>; 342f126890aSEmmanuel Vadot interrupt-parent = <&r_intc>; 343f126890aSEmmanuel Vadot /* interrupts get set in SoC specific dtsi file */ 344f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_PIO>, <&osc24M>, 345f126890aSEmmanuel Vadot <&rtc CLK_OSC32K>; 346f126890aSEmmanuel Vadot clock-names = "apb", "hosc", "losc"; 347f126890aSEmmanuel Vadot gpio-controller; 348f126890aSEmmanuel Vadot interrupt-controller; 349f126890aSEmmanuel Vadot #interrupt-cells = <3>; 350f126890aSEmmanuel Vadot #gpio-cells = <3>; 351f126890aSEmmanuel Vadot 352f126890aSEmmanuel Vadot i2c0_pins: i2c0-pins { 353f126890aSEmmanuel Vadot pins = "PH2", "PH3"; 354f126890aSEmmanuel Vadot function = "i2c0"; 355f126890aSEmmanuel Vadot }; 356f126890aSEmmanuel Vadot 357f126890aSEmmanuel Vadot i2c1_pins: i2c1-pins { 358f126890aSEmmanuel Vadot pins = "PH4", "PH5"; 359f126890aSEmmanuel Vadot function = "i2c1"; 360f126890aSEmmanuel Vadot }; 361f126890aSEmmanuel Vadot 362f126890aSEmmanuel Vadot i2c2_pins: i2c2-pins { 363f126890aSEmmanuel Vadot pins = "PE12", "PE13"; 364f126890aSEmmanuel Vadot function = "i2c2"; 365f126890aSEmmanuel Vadot }; 366f126890aSEmmanuel Vadot 367f126890aSEmmanuel Vadot lcd_rgb666_pins: lcd-rgb666-pins { 368f126890aSEmmanuel Vadot pins = "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", 369f126890aSEmmanuel Vadot "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", 370f126890aSEmmanuel Vadot "PD18", "PD19", "PD20", "PD21", "PD22", "PD23", 371f126890aSEmmanuel Vadot "PD24", "PD25", "PD26", "PD27"; 372f126890aSEmmanuel Vadot function = "lcd0"; 373f126890aSEmmanuel Vadot }; 374f126890aSEmmanuel Vadot 375f126890aSEmmanuel Vadot mmc0_pins: mmc0-pins { 376f126890aSEmmanuel Vadot pins = "PF0", "PF1", "PF2", 377f126890aSEmmanuel Vadot "PF3", "PF4", "PF5"; 378f126890aSEmmanuel Vadot function = "mmc0"; 379f126890aSEmmanuel Vadot drive-strength = <30>; 380f126890aSEmmanuel Vadot bias-pull-up; 381f126890aSEmmanuel Vadot }; 382f126890aSEmmanuel Vadot 383f126890aSEmmanuel Vadot mmc1_pg_pins: mmc1-pg-pins { 384f126890aSEmmanuel Vadot pins = "PG0", "PG1", "PG2", 385f126890aSEmmanuel Vadot "PG3", "PG4", "PG5"; 386f126890aSEmmanuel Vadot function = "mmc1"; 387f126890aSEmmanuel Vadot drive-strength = <30>; 388f126890aSEmmanuel Vadot bias-pull-up; 389f126890aSEmmanuel Vadot }; 390f126890aSEmmanuel Vadot 391f126890aSEmmanuel Vadot mmc2_8bit_pins: mmc2-8bit-pins { 392f126890aSEmmanuel Vadot pins = "PC5", "PC6", "PC8", 393f126890aSEmmanuel Vadot "PC9", "PC10", "PC11", 394f126890aSEmmanuel Vadot "PC12", "PC13", "PC14", 395f126890aSEmmanuel Vadot "PC15", "PC16"; 396f126890aSEmmanuel Vadot function = "mmc2"; 397f126890aSEmmanuel Vadot drive-strength = <30>; 398f126890aSEmmanuel Vadot bias-pull-up; 399f126890aSEmmanuel Vadot }; 400f126890aSEmmanuel Vadot 401f126890aSEmmanuel Vadot nand_pins: nand-pins { 402f126890aSEmmanuel Vadot pins = "PC0", "PC1", "PC2", "PC5", 403f126890aSEmmanuel Vadot "PC8", "PC9", "PC10", "PC11", 404f126890aSEmmanuel Vadot "PC12", "PC13", "PC14", "PC15"; 405f126890aSEmmanuel Vadot function = "nand0"; 406f126890aSEmmanuel Vadot }; 407f126890aSEmmanuel Vadot 408f126890aSEmmanuel Vadot nand_cs0_pin: nand-cs0-pin { 409f126890aSEmmanuel Vadot pins = "PC4"; 410f126890aSEmmanuel Vadot function = "nand0"; 411f126890aSEmmanuel Vadot bias-pull-up; 412f126890aSEmmanuel Vadot }; 413f126890aSEmmanuel Vadot 414f126890aSEmmanuel Vadot nand_cs1_pin: nand-cs1-pin { 415f126890aSEmmanuel Vadot pins = "PC3"; 416f126890aSEmmanuel Vadot function = "nand0"; 417f126890aSEmmanuel Vadot bias-pull-up; 418f126890aSEmmanuel Vadot }; 419f126890aSEmmanuel Vadot 420f126890aSEmmanuel Vadot nand_rb0_pin: nand-rb0-pin { 421f126890aSEmmanuel Vadot pins = "PC6"; 422f126890aSEmmanuel Vadot function = "nand0"; 423f126890aSEmmanuel Vadot bias-pull-up; 424f126890aSEmmanuel Vadot }; 425f126890aSEmmanuel Vadot 426f126890aSEmmanuel Vadot nand_rb1_pin: nand-rb1-pin { 427f126890aSEmmanuel Vadot pins = "PC7"; 428f126890aSEmmanuel Vadot function = "nand0"; 429f126890aSEmmanuel Vadot bias-pull-up; 430f126890aSEmmanuel Vadot }; 431f126890aSEmmanuel Vadot 432f126890aSEmmanuel Vadot pwm0_pin: pwm0-pin { 433f126890aSEmmanuel Vadot pins = "PH0"; 434f126890aSEmmanuel Vadot function = "pwm0"; 435f126890aSEmmanuel Vadot }; 436f126890aSEmmanuel Vadot 437f126890aSEmmanuel Vadot uart0_pf_pins: uart0-pf-pins { 438f126890aSEmmanuel Vadot pins = "PF2", "PF4"; 439f126890aSEmmanuel Vadot function = "uart0"; 440f126890aSEmmanuel Vadot }; 441f126890aSEmmanuel Vadot 442f126890aSEmmanuel Vadot uart1_pg_pins: uart1-pg-pins { 443f126890aSEmmanuel Vadot pins = "PG6", "PG7"; 444f126890aSEmmanuel Vadot function = "uart1"; 445f126890aSEmmanuel Vadot }; 446f126890aSEmmanuel Vadot 447f126890aSEmmanuel Vadot uart1_cts_rts_pg_pins: uart1-cts-rts-pg-pins { 448f126890aSEmmanuel Vadot pins = "PG8", "PG9"; 449f126890aSEmmanuel Vadot function = "uart1"; 450f126890aSEmmanuel Vadot }; 451f126890aSEmmanuel Vadot }; 452f126890aSEmmanuel Vadot 453f126890aSEmmanuel Vadot timer@1c20c00 { 454f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a23-timer"; 455f126890aSEmmanuel Vadot reg = <0x01c20c00 0xa0>; 456f126890aSEmmanuel Vadot interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>, 457f126890aSEmmanuel Vadot <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>; 458f126890aSEmmanuel Vadot clocks = <&osc24M>; 459f126890aSEmmanuel Vadot }; 460f126890aSEmmanuel Vadot 461f126890aSEmmanuel Vadot wdt0: watchdog@1c20ca0 { 462f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-wdt"; 463f126890aSEmmanuel Vadot reg = <0x01c20ca0 0x20>; 464f126890aSEmmanuel Vadot interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 465f126890aSEmmanuel Vadot clocks = <&osc24M>; 466f126890aSEmmanuel Vadot }; 467f126890aSEmmanuel Vadot 468f126890aSEmmanuel Vadot pwm: pwm@1c21400 { 469f126890aSEmmanuel Vadot compatible = "allwinner,sun7i-a20-pwm"; 470f126890aSEmmanuel Vadot reg = <0x01c21400 0xc>; 471f126890aSEmmanuel Vadot clocks = <&osc24M>; 472f126890aSEmmanuel Vadot #pwm-cells = <3>; 473f126890aSEmmanuel Vadot status = "disabled"; 474f126890aSEmmanuel Vadot }; 475f126890aSEmmanuel Vadot 476f126890aSEmmanuel Vadot lradc: lradc@1c22800 { 477f126890aSEmmanuel Vadot compatible = "allwinner,sun4i-a10-lradc-keys"; 478f126890aSEmmanuel Vadot reg = <0x01c22800 0x100>; 479f126890aSEmmanuel Vadot interrupt-parent = <&r_intc>; 480f126890aSEmmanuel Vadot interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 481f126890aSEmmanuel Vadot status = "disabled"; 482f126890aSEmmanuel Vadot }; 483f126890aSEmmanuel Vadot 484f126890aSEmmanuel Vadot uart0: serial@1c28000 { 485f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 486f126890aSEmmanuel Vadot reg = <0x01c28000 0x400>; 487f126890aSEmmanuel Vadot interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; 488f126890aSEmmanuel Vadot reg-shift = <2>; 489f126890aSEmmanuel Vadot reg-io-width = <4>; 490f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_UART0>; 491f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_UART0>; 492f126890aSEmmanuel Vadot dmas = <&dma 6>, <&dma 6>; 493f126890aSEmmanuel Vadot dma-names = "tx", "rx"; 494f126890aSEmmanuel Vadot status = "disabled"; 495f126890aSEmmanuel Vadot }; 496f126890aSEmmanuel Vadot 497f126890aSEmmanuel Vadot uart1: serial@1c28400 { 498f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 499f126890aSEmmanuel Vadot reg = <0x01c28400 0x400>; 500f126890aSEmmanuel Vadot interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; 501f126890aSEmmanuel Vadot reg-shift = <2>; 502f126890aSEmmanuel Vadot reg-io-width = <4>; 503f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_UART1>; 504f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_UART1>; 505f126890aSEmmanuel Vadot dmas = <&dma 7>, <&dma 7>; 506f126890aSEmmanuel Vadot dma-names = "tx", "rx"; 507f126890aSEmmanuel Vadot status = "disabled"; 508f126890aSEmmanuel Vadot }; 509f126890aSEmmanuel Vadot 510f126890aSEmmanuel Vadot uart2: serial@1c28800 { 511f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 512f126890aSEmmanuel Vadot reg = <0x01c28800 0x400>; 513f126890aSEmmanuel Vadot interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 514f126890aSEmmanuel Vadot reg-shift = <2>; 515f126890aSEmmanuel Vadot reg-io-width = <4>; 516f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_UART2>; 517f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_UART2>; 518f126890aSEmmanuel Vadot dmas = <&dma 8>, <&dma 8>; 519f126890aSEmmanuel Vadot dma-names = "tx", "rx"; 520f126890aSEmmanuel Vadot status = "disabled"; 521f126890aSEmmanuel Vadot }; 522f126890aSEmmanuel Vadot 523f126890aSEmmanuel Vadot uart3: serial@1c28c00 { 524f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 525f126890aSEmmanuel Vadot reg = <0x01c28c00 0x400>; 526f126890aSEmmanuel Vadot interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 527f126890aSEmmanuel Vadot reg-shift = <2>; 528f126890aSEmmanuel Vadot reg-io-width = <4>; 529f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_UART3>; 530f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_UART3>; 531f126890aSEmmanuel Vadot dmas = <&dma 9>, <&dma 9>; 532f126890aSEmmanuel Vadot dma-names = "tx", "rx"; 533f126890aSEmmanuel Vadot status = "disabled"; 534f126890aSEmmanuel Vadot }; 535f126890aSEmmanuel Vadot 536f126890aSEmmanuel Vadot uart4: serial@1c29000 { 537f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 538f126890aSEmmanuel Vadot reg = <0x01c29000 0x400>; 539f126890aSEmmanuel Vadot interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 540f126890aSEmmanuel Vadot reg-shift = <2>; 541f126890aSEmmanuel Vadot reg-io-width = <4>; 542f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_UART4>; 543f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_UART4>; 544f126890aSEmmanuel Vadot dmas = <&dma 10>, <&dma 10>; 545f126890aSEmmanuel Vadot dma-names = "tx", "rx"; 546f126890aSEmmanuel Vadot status = "disabled"; 547f126890aSEmmanuel Vadot }; 548f126890aSEmmanuel Vadot 549f126890aSEmmanuel Vadot i2c0: i2c@1c2ac00 { 550f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-i2c"; 551f126890aSEmmanuel Vadot reg = <0x01c2ac00 0x400>; 552f126890aSEmmanuel Vadot interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 553f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_I2C0>; 554f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_I2C0>; 555f126890aSEmmanuel Vadot pinctrl-names = "default"; 556f126890aSEmmanuel Vadot pinctrl-0 = <&i2c0_pins>; 557f126890aSEmmanuel Vadot status = "disabled"; 558f126890aSEmmanuel Vadot #address-cells = <1>; 559f126890aSEmmanuel Vadot #size-cells = <0>; 560f126890aSEmmanuel Vadot }; 561f126890aSEmmanuel Vadot 562f126890aSEmmanuel Vadot i2c1: i2c@1c2b000 { 563f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-i2c"; 564f126890aSEmmanuel Vadot reg = <0x01c2b000 0x400>; 565f126890aSEmmanuel Vadot interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 566f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_I2C1>; 567f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_I2C1>; 568f126890aSEmmanuel Vadot pinctrl-names = "default"; 569f126890aSEmmanuel Vadot pinctrl-0 = <&i2c1_pins>; 570f126890aSEmmanuel Vadot status = "disabled"; 571f126890aSEmmanuel Vadot #address-cells = <1>; 572f126890aSEmmanuel Vadot #size-cells = <0>; 573f126890aSEmmanuel Vadot }; 574f126890aSEmmanuel Vadot 575f126890aSEmmanuel Vadot i2c2: i2c@1c2b400 { 576f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-i2c"; 577f126890aSEmmanuel Vadot reg = <0x01c2b400 0x400>; 578f126890aSEmmanuel Vadot interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 579f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_I2C2>; 580f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_I2C2>; 581f126890aSEmmanuel Vadot pinctrl-names = "default"; 582f126890aSEmmanuel Vadot pinctrl-0 = <&i2c2_pins>; 583f126890aSEmmanuel Vadot status = "disabled"; 584f126890aSEmmanuel Vadot #address-cells = <1>; 585f126890aSEmmanuel Vadot #size-cells = <0>; 586f126890aSEmmanuel Vadot }; 587f126890aSEmmanuel Vadot 588f126890aSEmmanuel Vadot mali: gpu@1c40000 { 589f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a23-mali", 590f126890aSEmmanuel Vadot "allwinner,sun7i-a20-mali", "arm,mali-400"; 591f126890aSEmmanuel Vadot reg = <0x01c40000 0x10000>; 592f126890aSEmmanuel Vadot interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>, 593f126890aSEmmanuel Vadot <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, 594f126890aSEmmanuel Vadot <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, 595f126890aSEmmanuel Vadot <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, 596f126890aSEmmanuel Vadot <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, 597f126890aSEmmanuel Vadot <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>, 598f126890aSEmmanuel Vadot <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 599f126890aSEmmanuel Vadot interrupt-names = "gp", 600f126890aSEmmanuel Vadot "gpmmu", 601f126890aSEmmanuel Vadot "pp0", 602f126890aSEmmanuel Vadot "ppmmu0", 603f126890aSEmmanuel Vadot "pp1", 604f126890aSEmmanuel Vadot "ppmmu1", 605f126890aSEmmanuel Vadot "pmu"; 606f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_GPU>, <&ccu CLK_GPU>; 607f126890aSEmmanuel Vadot clock-names = "bus", "core"; 608f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_GPU>; 609f126890aSEmmanuel Vadot #cooling-cells = <2>; 610f126890aSEmmanuel Vadot 611f126890aSEmmanuel Vadot assigned-clocks = <&ccu CLK_GPU>; 612f126890aSEmmanuel Vadot assigned-clock-rates = <384000000>; 613f126890aSEmmanuel Vadot }; 614f126890aSEmmanuel Vadot 615f126890aSEmmanuel Vadot gic: interrupt-controller@1c81000 { 616f126890aSEmmanuel Vadot compatible = "arm,gic-400"; 617f126890aSEmmanuel Vadot reg = <0x01c81000 0x1000>, 618f126890aSEmmanuel Vadot <0x01c82000 0x2000>, 619f126890aSEmmanuel Vadot <0x01c84000 0x2000>, 620f126890aSEmmanuel Vadot <0x01c86000 0x2000>; 621f126890aSEmmanuel Vadot interrupt-controller; 622f126890aSEmmanuel Vadot #interrupt-cells = <3>; 623f126890aSEmmanuel Vadot interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 624f126890aSEmmanuel Vadot }; 625f126890aSEmmanuel Vadot 626f126890aSEmmanuel Vadot fe0: display-frontend@1e00000 { 627f126890aSEmmanuel Vadot /* compatible gets set in SoC specific dtsi file */ 628f126890aSEmmanuel Vadot reg = <0x01e00000 0x20000>; 629f126890aSEmmanuel Vadot interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>; 630f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_DE_FE>, <&ccu CLK_DE_FE>, 631f126890aSEmmanuel Vadot <&ccu CLK_DRAM_DE_FE>; 632f126890aSEmmanuel Vadot clock-names = "ahb", "mod", 633f126890aSEmmanuel Vadot "ram"; 634f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_DE_FE>; 635f126890aSEmmanuel Vadot 636f126890aSEmmanuel Vadot ports { 637f126890aSEmmanuel Vadot #address-cells = <1>; 638f126890aSEmmanuel Vadot #size-cells = <0>; 639f126890aSEmmanuel Vadot 640f126890aSEmmanuel Vadot fe0_out: port@1 { 641f126890aSEmmanuel Vadot reg = <1>; 642f126890aSEmmanuel Vadot 643f126890aSEmmanuel Vadot fe0_out_be0: endpoint { 644f126890aSEmmanuel Vadot remote-endpoint = <&be0_in_fe0>; 645f126890aSEmmanuel Vadot }; 646f126890aSEmmanuel Vadot }; 647f126890aSEmmanuel Vadot }; 648f126890aSEmmanuel Vadot }; 649f126890aSEmmanuel Vadot 650f126890aSEmmanuel Vadot be0: display-backend@1e60000 { 651f126890aSEmmanuel Vadot /* compatible gets set in SoC specific dtsi file */ 652f126890aSEmmanuel Vadot reg = <0x01e60000 0x10000>; 653f126890aSEmmanuel Vadot interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>; 654f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_DE_BE>, <&ccu CLK_DE_BE>, 655f126890aSEmmanuel Vadot <&ccu CLK_DRAM_DE_BE>; 656f126890aSEmmanuel Vadot clock-names = "ahb", "mod", 657f126890aSEmmanuel Vadot "ram"; 658f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_DE_BE>; 659f126890aSEmmanuel Vadot 660f126890aSEmmanuel Vadot ports { 661f126890aSEmmanuel Vadot #address-cells = <1>; 662f126890aSEmmanuel Vadot #size-cells = <0>; 663f126890aSEmmanuel Vadot 664f126890aSEmmanuel Vadot be0_in: port@0 { 665f126890aSEmmanuel Vadot reg = <0>; 666f126890aSEmmanuel Vadot 667f126890aSEmmanuel Vadot be0_in_fe0: endpoint { 668f126890aSEmmanuel Vadot remote-endpoint = <&fe0_out_be0>; 669f126890aSEmmanuel Vadot }; 670f126890aSEmmanuel Vadot }; 671f126890aSEmmanuel Vadot 672f126890aSEmmanuel Vadot be0_out: port@1 { 673f126890aSEmmanuel Vadot reg = <1>; 674f126890aSEmmanuel Vadot 675f126890aSEmmanuel Vadot be0_out_drc0: endpoint { 676f126890aSEmmanuel Vadot remote-endpoint = <&drc0_in_be0>; 677f126890aSEmmanuel Vadot }; 678f126890aSEmmanuel Vadot }; 679f126890aSEmmanuel Vadot }; 680f126890aSEmmanuel Vadot }; 681f126890aSEmmanuel Vadot 682f126890aSEmmanuel Vadot drc0: drc@1e70000 { 683f126890aSEmmanuel Vadot /* compatible gets set in SoC specific dtsi file */ 684f126890aSEmmanuel Vadot reg = <0x01e70000 0x10000>; 685f126890aSEmmanuel Vadot interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; 686f126890aSEmmanuel Vadot clocks = <&ccu CLK_BUS_DRC>, <&ccu CLK_DRC>, 687f126890aSEmmanuel Vadot <&ccu CLK_DRAM_DRC>; 688f126890aSEmmanuel Vadot clock-names = "ahb", "mod", "ram"; 689f126890aSEmmanuel Vadot resets = <&ccu RST_BUS_DRC>; 690f126890aSEmmanuel Vadot 691f126890aSEmmanuel Vadot ports { 692f126890aSEmmanuel Vadot #address-cells = <1>; 693f126890aSEmmanuel Vadot #size-cells = <0>; 694f126890aSEmmanuel Vadot 695f126890aSEmmanuel Vadot drc0_in: port@0 { 696f126890aSEmmanuel Vadot reg = <0>; 697f126890aSEmmanuel Vadot 698f126890aSEmmanuel Vadot drc0_in_be0: endpoint { 699f126890aSEmmanuel Vadot remote-endpoint = <&be0_out_drc0>; 700f126890aSEmmanuel Vadot }; 701f126890aSEmmanuel Vadot }; 702f126890aSEmmanuel Vadot 703f126890aSEmmanuel Vadot drc0_out: port@1 { 704f126890aSEmmanuel Vadot reg = <1>; 705f126890aSEmmanuel Vadot 706f126890aSEmmanuel Vadot drc0_out_tcon0: endpoint { 707f126890aSEmmanuel Vadot remote-endpoint = <&tcon0_in_drc0>; 708f126890aSEmmanuel Vadot }; 709f126890aSEmmanuel Vadot }; 710f126890aSEmmanuel Vadot }; 711f126890aSEmmanuel Vadot }; 712f126890aSEmmanuel Vadot 713f126890aSEmmanuel Vadot rtc: rtc@1f00000 { 714f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a23-rtc"; 715f126890aSEmmanuel Vadot reg = <0x01f00000 0x400>; 716f126890aSEmmanuel Vadot interrupt-parent = <&r_intc>; 717f126890aSEmmanuel Vadot interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, 718f126890aSEmmanuel Vadot <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; 719f126890aSEmmanuel Vadot clock-output-names = "osc32k", "osc32k-out"; 720f126890aSEmmanuel Vadot clocks = <&ext_osc32k>; 721f126890aSEmmanuel Vadot #clock-cells = <1>; 722f126890aSEmmanuel Vadot }; 723f126890aSEmmanuel Vadot 724f126890aSEmmanuel Vadot r_intc: interrupt-controller@1f00c00 { 725f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-r-intc"; 726f126890aSEmmanuel Vadot interrupt-controller; 727f126890aSEmmanuel Vadot #interrupt-cells = <3>; 728f126890aSEmmanuel Vadot reg = <0x01f00c00 0x400>; 729f126890aSEmmanuel Vadot interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 730f126890aSEmmanuel Vadot }; 731f126890aSEmmanuel Vadot 732f126890aSEmmanuel Vadot prcm@1f01400 { 733f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a23-prcm"; 734f126890aSEmmanuel Vadot reg = <0x01f01400 0x200>; 735f126890aSEmmanuel Vadot 736*7d0873ebSEmmanuel Vadot ar100: ar100-clk { 737f126890aSEmmanuel Vadot compatible = "fixed-factor-clock"; 738f126890aSEmmanuel Vadot #clock-cells = <0>; 739f126890aSEmmanuel Vadot clock-div = <1>; 740f126890aSEmmanuel Vadot clock-mult = <1>; 741f126890aSEmmanuel Vadot clocks = <&osc24M>; 742f126890aSEmmanuel Vadot clock-output-names = "ar100"; 743f126890aSEmmanuel Vadot }; 744f126890aSEmmanuel Vadot 745*7d0873ebSEmmanuel Vadot ahb0: ahb0-clk { 746f126890aSEmmanuel Vadot compatible = "fixed-factor-clock"; 747f126890aSEmmanuel Vadot #clock-cells = <0>; 748f126890aSEmmanuel Vadot clock-div = <1>; 749f126890aSEmmanuel Vadot clock-mult = <1>; 750f126890aSEmmanuel Vadot clocks = <&ar100>; 751f126890aSEmmanuel Vadot clock-output-names = "ahb0"; 752f126890aSEmmanuel Vadot }; 753f126890aSEmmanuel Vadot 754*7d0873ebSEmmanuel Vadot apb0: apb0-clk { 755f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a23-apb0-clk"; 756f126890aSEmmanuel Vadot #clock-cells = <0>; 757f126890aSEmmanuel Vadot clocks = <&ahb0>; 758f126890aSEmmanuel Vadot clock-output-names = "apb0"; 759f126890aSEmmanuel Vadot }; 760f126890aSEmmanuel Vadot 761*7d0873ebSEmmanuel Vadot apb0_gates: apb0-gates-clk { 762f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a23-apb0-gates-clk"; 763f126890aSEmmanuel Vadot #clock-cells = <1>; 764f126890aSEmmanuel Vadot clocks = <&apb0>; 765f126890aSEmmanuel Vadot clock-output-names = "apb0_pio", "apb0_timer", 766f126890aSEmmanuel Vadot "apb0_rsb", "apb0_uart", 767f126890aSEmmanuel Vadot "apb0_i2c"; 768f126890aSEmmanuel Vadot }; 769f126890aSEmmanuel Vadot 770*7d0873ebSEmmanuel Vadot apb0_rst: apb0-rst { 771f126890aSEmmanuel Vadot compatible = "allwinner,sun6i-a31-clock-reset"; 772f126890aSEmmanuel Vadot #reset-cells = <1>; 773f126890aSEmmanuel Vadot }; 774f126890aSEmmanuel Vadot 775f126890aSEmmanuel Vadot codec_analog: codec-analog { 776f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a23-codec-analog"; 777f126890aSEmmanuel Vadot }; 778f126890aSEmmanuel Vadot }; 779f126890aSEmmanuel Vadot 780f126890aSEmmanuel Vadot cpucfg@1f01c00 { 781f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a23-cpuconfig"; 782f126890aSEmmanuel Vadot reg = <0x01f01c00 0x300>; 783f126890aSEmmanuel Vadot }; 784f126890aSEmmanuel Vadot 785f126890aSEmmanuel Vadot r_uart: serial@1f02800 { 786f126890aSEmmanuel Vadot compatible = "snps,dw-apb-uart"; 787f126890aSEmmanuel Vadot reg = <0x01f02800 0x400>; 788f126890aSEmmanuel Vadot interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>; 789f126890aSEmmanuel Vadot reg-shift = <2>; 790f126890aSEmmanuel Vadot reg-io-width = <4>; 791f126890aSEmmanuel Vadot clocks = <&apb0_gates 4>; 792f126890aSEmmanuel Vadot resets = <&apb0_rst 4>; 793f126890aSEmmanuel Vadot status = "disabled"; 794f126890aSEmmanuel Vadot }; 795f126890aSEmmanuel Vadot 796f126890aSEmmanuel Vadot r_i2c: i2c@1f02400 { 797f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a23-i2c", 798f126890aSEmmanuel Vadot "allwinner,sun6i-a31-i2c"; 799f126890aSEmmanuel Vadot reg = <0x01f02400 0x400>; 800f126890aSEmmanuel Vadot interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 801f126890aSEmmanuel Vadot pinctrl-names = "default"; 802f126890aSEmmanuel Vadot pinctrl-0 = <&r_i2c_pins>; 803f126890aSEmmanuel Vadot clocks = <&apb0_gates 6>; 804f126890aSEmmanuel Vadot resets = <&apb0_rst 6>; 805f126890aSEmmanuel Vadot status = "disabled"; 806f126890aSEmmanuel Vadot #address-cells = <1>; 807f126890aSEmmanuel Vadot #size-cells = <0>; 808f126890aSEmmanuel Vadot }; 809f126890aSEmmanuel Vadot 810f126890aSEmmanuel Vadot r_pio: pinctrl@1f02c00 { 811f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a23-r-pinctrl"; 812f126890aSEmmanuel Vadot reg = <0x01f02c00 0x400>; 813f126890aSEmmanuel Vadot interrupt-parent = <&r_intc>; 814f126890aSEmmanuel Vadot interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 815f126890aSEmmanuel Vadot clocks = <&apb0_gates 0>, <&osc24M>, <&rtc CLK_OSC32K>; 816f126890aSEmmanuel Vadot clock-names = "apb", "hosc", "losc"; 817f126890aSEmmanuel Vadot gpio-controller; 818f126890aSEmmanuel Vadot interrupt-controller; 819f126890aSEmmanuel Vadot #interrupt-cells = <3>; 820f126890aSEmmanuel Vadot #gpio-cells = <3>; 821f126890aSEmmanuel Vadot 822f126890aSEmmanuel Vadot r_i2c_pins: r-i2c-pins { 823f126890aSEmmanuel Vadot pins = "PL0", "PL1"; 824f126890aSEmmanuel Vadot function = "s_i2c"; 825f126890aSEmmanuel Vadot bias-pull-up; 826f126890aSEmmanuel Vadot }; 827f126890aSEmmanuel Vadot 828f126890aSEmmanuel Vadot r_rsb_pins: r-rsb-pins { 829f126890aSEmmanuel Vadot pins = "PL0", "PL1"; 830f126890aSEmmanuel Vadot function = "s_rsb"; 831f126890aSEmmanuel Vadot drive-strength = <20>; 832f126890aSEmmanuel Vadot bias-pull-up; 833f126890aSEmmanuel Vadot }; 834f126890aSEmmanuel Vadot 835f126890aSEmmanuel Vadot r_uart_pins_a: r-uart-pins { 836f126890aSEmmanuel Vadot pins = "PL2", "PL3"; 837f126890aSEmmanuel Vadot function = "s_uart"; 838f126890aSEmmanuel Vadot }; 839f126890aSEmmanuel Vadot }; 840f126890aSEmmanuel Vadot 841f126890aSEmmanuel Vadot r_rsb: rsb@1f03400 { 842f126890aSEmmanuel Vadot compatible = "allwinner,sun8i-a23-rsb"; 843f126890aSEmmanuel Vadot reg = <0x01f03400 0x400>; 844f126890aSEmmanuel Vadot interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 845f126890aSEmmanuel Vadot clocks = <&apb0_gates 3>; 846f126890aSEmmanuel Vadot clock-frequency = <3000000>; 847f126890aSEmmanuel Vadot resets = <&apb0_rst 3>; 848f126890aSEmmanuel Vadot pinctrl-names = "default"; 849f126890aSEmmanuel Vadot pinctrl-0 = <&r_rsb_pins>; 850f126890aSEmmanuel Vadot status = "disabled"; 851f126890aSEmmanuel Vadot #address-cells = <1>; 852f126890aSEmmanuel Vadot #size-cells = <0>; 853f126890aSEmmanuel Vadot }; 854f126890aSEmmanuel Vadot }; 855f126890aSEmmanuel Vadot}; 856