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