16bc37facSAndre Przywara/* 26bc37facSAndre Przywara * Copyright (C) 2016 ARM Ltd. 36bc37facSAndre Przywara * based on the Allwinner H3 dtsi: 46bc37facSAndre Przywara * Copyright (C) 2015 Jens Kuske <jenskuske@gmail.com> 56bc37facSAndre Przywara * 66bc37facSAndre Przywara * This file is dual-licensed: you can use it either under the terms 76bc37facSAndre Przywara * of the GPL or the X11 license, at your option. Note that this dual 86bc37facSAndre Przywara * licensing only applies to this file, and not this project as a 96bc37facSAndre Przywara * whole. 106bc37facSAndre Przywara * 116bc37facSAndre Przywara * a) This file is free software; you can redistribute it and/or 126bc37facSAndre Przywara * modify it under the terms of the GNU General Public License as 136bc37facSAndre Przywara * published by the Free Software Foundation; either version 2 of the 146bc37facSAndre Przywara * License, or (at your option) any later version. 156bc37facSAndre Przywara * 166bc37facSAndre Przywara * This file is distributed in the hope that it will be useful, 176bc37facSAndre Przywara * but WITHOUT ANY WARRANTY; without even the implied warranty of 186bc37facSAndre Przywara * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 196bc37facSAndre Przywara * GNU General Public License for more details. 206bc37facSAndre Przywara * 216bc37facSAndre Przywara * Or, alternatively, 226bc37facSAndre Przywara * 236bc37facSAndre Przywara * b) Permission is hereby granted, free of charge, to any person 246bc37facSAndre Przywara * obtaining a copy of this software and associated documentation 256bc37facSAndre Przywara * files (the "Software"), to deal in the Software without 266bc37facSAndre Przywara * restriction, including without limitation the rights to use, 276bc37facSAndre Przywara * copy, modify, merge, publish, distribute, sublicense, and/or 286bc37facSAndre Przywara * sell copies of the Software, and to permit persons to whom the 296bc37facSAndre Przywara * Software is furnished to do so, subject to the following 306bc37facSAndre Przywara * conditions: 316bc37facSAndre Przywara * 326bc37facSAndre Przywara * The above copyright notice and this permission notice shall be 336bc37facSAndre Przywara * included in all copies or substantial portions of the Software. 346bc37facSAndre Przywara * 356bc37facSAndre Przywara * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 366bc37facSAndre Przywara * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 376bc37facSAndre Przywara * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 386bc37facSAndre Przywara * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 396bc37facSAndre Przywara * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 406bc37facSAndre Przywara * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 416bc37facSAndre Przywara * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 426bc37facSAndre Przywara * OTHER DEALINGS IN THE SOFTWARE. 436bc37facSAndre Przywara */ 446bc37facSAndre Przywara 45a004ee35SIcenowy Zheng#include <dt-bindings/clock/sun50i-a64-ccu.h> 46494d8a2cSChen-Yu Tsai#include <dt-bindings/clock/sun8i-r-ccu.h> 476bc37facSAndre Przywara#include <dt-bindings/interrupt-controller/arm-gic.h> 48a004ee35SIcenowy Zheng#include <dt-bindings/reset/sun50i-a64-ccu.h> 49871b5352SIcenowy Zheng#include <dt-bindings/reset/sun8i-r-ccu.h> 506bc37facSAndre Przywara 516bc37facSAndre Przywara/ { 526bc37facSAndre Przywara interrupt-parent = <&gic>; 536bc37facSAndre Przywara #address-cells = <1>; 546bc37facSAndre Przywara #size-cells = <1>; 556bc37facSAndre Przywara 56c1cff65fSHarald Geyer chosen { 57c1cff65fSHarald Geyer #address-cells = <1>; 58c1cff65fSHarald Geyer #size-cells = <1>; 59c1cff65fSHarald Geyer ranges; 60c1cff65fSHarald Geyer 61c1cff65fSHarald Geyer/* 62c1cff65fSHarald Geyer * The pipeline mixer0-lcd0 depends on clock CLK_MIXER0 from DE2 CCU. 63c1cff65fSHarald Geyer * However there is no support for this clock on A64 yet, so we depend 64c1cff65fSHarald Geyer * on the upstream clocks here to keep them (and thus CLK_MIXER0) up. 65c1cff65fSHarald Geyer */ 66c1cff65fSHarald Geyer simplefb_lcd: framebuffer-lcd { 67c1cff65fSHarald Geyer compatible = "allwinner,simple-framebuffer", 68c1cff65fSHarald Geyer "simple-framebuffer"; 69c1cff65fSHarald Geyer allwinner,pipeline = "mixer0-lcd0"; 70c1cff65fSHarald Geyer clocks = <&ccu CLK_TCON0>, 71c1cff65fSHarald Geyer <&ccu CLK_DE>, <&ccu CLK_BUS_DE>; 72c1cff65fSHarald Geyer status = "disabled"; 73c1cff65fSHarald Geyer }; 74c1cff65fSHarald Geyer }; 75c1cff65fSHarald Geyer 766bc37facSAndre Przywara cpus { 776bc37facSAndre Przywara #address-cells = <1>; 786bc37facSAndre Przywara #size-cells = <0>; 796bc37facSAndre Przywara 806bc37facSAndre Przywara cpu0: cpu@0 { 816bc37facSAndre Przywara compatible = "arm,cortex-a53", "arm,armv8"; 826bc37facSAndre Przywara device_type = "cpu"; 836bc37facSAndre Przywara reg = <0>; 846bc37facSAndre Przywara enable-method = "psci"; 856bc37facSAndre Przywara }; 866bc37facSAndre Przywara 876bc37facSAndre Przywara cpu1: cpu@1 { 886bc37facSAndre Przywara compatible = "arm,cortex-a53", "arm,armv8"; 896bc37facSAndre Przywara device_type = "cpu"; 906bc37facSAndre Przywara reg = <1>; 916bc37facSAndre Przywara enable-method = "psci"; 926bc37facSAndre Przywara }; 936bc37facSAndre Przywara 946bc37facSAndre Przywara cpu2: cpu@2 { 956bc37facSAndre Przywara compatible = "arm,cortex-a53", "arm,armv8"; 966bc37facSAndre Przywara device_type = "cpu"; 976bc37facSAndre Przywara reg = <2>; 986bc37facSAndre Przywara enable-method = "psci"; 996bc37facSAndre Przywara }; 1006bc37facSAndre Przywara 1016bc37facSAndre Przywara cpu3: cpu@3 { 1026bc37facSAndre Przywara compatible = "arm,cortex-a53", "arm,armv8"; 1036bc37facSAndre Przywara device_type = "cpu"; 1046bc37facSAndre Przywara reg = <3>; 1056bc37facSAndre Przywara enable-method = "psci"; 1066bc37facSAndre Przywara }; 1076bc37facSAndre Przywara }; 1086bc37facSAndre Przywara 1096bc37facSAndre Przywara osc24M: osc24M_clk { 1106bc37facSAndre Przywara #clock-cells = <0>; 1116bc37facSAndre Przywara compatible = "fixed-clock"; 1126bc37facSAndre Przywara clock-frequency = <24000000>; 1136bc37facSAndre Przywara clock-output-names = "osc24M"; 1146bc37facSAndre Przywara }; 1156bc37facSAndre Przywara 1166bc37facSAndre Przywara osc32k: osc32k_clk { 1176bc37facSAndre Przywara #clock-cells = <0>; 1186bc37facSAndre Przywara compatible = "fixed-clock"; 1196bc37facSAndre Przywara clock-frequency = <32768>; 1206bc37facSAndre Przywara clock-output-names = "osc32k"; 1216bc37facSAndre Przywara }; 1226bc37facSAndre Przywara 123791a9e00SIcenowy Zheng iosc: internal-osc-clk { 124791a9e00SIcenowy Zheng #clock-cells = <0>; 125791a9e00SIcenowy Zheng compatible = "fixed-clock"; 126791a9e00SIcenowy Zheng clock-frequency = <16000000>; 127791a9e00SIcenowy Zheng clock-accuracy = <300000000>; 128791a9e00SIcenowy Zheng clock-output-names = "iosc"; 129791a9e00SIcenowy Zheng }; 130791a9e00SIcenowy Zheng 1316bc37facSAndre Przywara psci { 1326bc37facSAndre Przywara compatible = "arm,psci-0.2"; 1336bc37facSAndre Przywara method = "smc"; 1346bc37facSAndre Przywara }; 1356bc37facSAndre Przywara 13678e07137SMarcus Cooper sound_spdif { 13778e07137SMarcus Cooper compatible = "simple-audio-card"; 13878e07137SMarcus Cooper simple-audio-card,name = "On-board SPDIF"; 13978e07137SMarcus Cooper 14078e07137SMarcus Cooper simple-audio-card,cpu { 14178e07137SMarcus Cooper sound-dai = <&spdif>; 14278e07137SMarcus Cooper }; 14378e07137SMarcus Cooper 14478e07137SMarcus Cooper simple-audio-card,codec { 14578e07137SMarcus Cooper sound-dai = <&spdif_out>; 14678e07137SMarcus Cooper }; 14778e07137SMarcus Cooper }; 14878e07137SMarcus Cooper 14978e07137SMarcus Cooper spdif_out: spdif-out { 15078e07137SMarcus Cooper #sound-dai-cells = <0>; 15178e07137SMarcus Cooper compatible = "linux,spdif-dit"; 15278e07137SMarcus Cooper }; 15378e07137SMarcus Cooper 1546bc37facSAndre Przywara timer { 1556bc37facSAndre Przywara compatible = "arm,armv8-timer"; 1566bc37facSAndre Przywara interrupts = <GIC_PPI 13 1576bc37facSAndre Przywara (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 1586bc37facSAndre Przywara <GIC_PPI 14 1596bc37facSAndre Przywara (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 1606bc37facSAndre Przywara <GIC_PPI 11 1616bc37facSAndre Przywara (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 1626bc37facSAndre Przywara <GIC_PPI 10 1636bc37facSAndre Przywara (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 1646bc37facSAndre Przywara }; 1656bc37facSAndre Przywara 1666bc37facSAndre Przywara soc { 1676bc37facSAndre Przywara compatible = "simple-bus"; 1686bc37facSAndre Przywara #address-cells = <1>; 1696bc37facSAndre Przywara #size-cells = <1>; 1706bc37facSAndre Przywara ranges; 1716bc37facSAndre Przywara 17279b95360SCorentin Labbe syscon: syscon@1c00000 { 17379b95360SCorentin Labbe compatible = "allwinner,sun50i-a64-system-controller", 17479b95360SCorentin Labbe "syscon"; 17579b95360SCorentin Labbe reg = <0x01c00000 0x1000>; 17679b95360SCorentin Labbe }; 17779b95360SCorentin Labbe 178c32637e0SStefan Brüns dma: dma-controller@1c02000 { 179c32637e0SStefan Brüns compatible = "allwinner,sun50i-a64-dma"; 180c32637e0SStefan Brüns reg = <0x01c02000 0x1000>; 181c32637e0SStefan Brüns interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 182c32637e0SStefan Brüns clocks = <&ccu CLK_BUS_DMA>; 183c32637e0SStefan Brüns dma-channels = <8>; 184c32637e0SStefan Brüns dma-requests = <27>; 185c32637e0SStefan Brüns resets = <&ccu RST_BUS_DMA>; 186c32637e0SStefan Brüns #dma-cells = <1>; 187c32637e0SStefan Brüns }; 188c32637e0SStefan Brüns 189f3dff347SAndre Przywara mmc0: mmc@1c0f000 { 190f3dff347SAndre Przywara compatible = "allwinner,sun50i-a64-mmc"; 191f3dff347SAndre Przywara reg = <0x01c0f000 0x1000>; 192f3dff347SAndre Przywara clocks = <&ccu CLK_BUS_MMC0>, <&ccu CLK_MMC0>; 193f3dff347SAndre Przywara clock-names = "ahb", "mmc"; 194f3dff347SAndre Przywara resets = <&ccu RST_BUS_MMC0>; 195f3dff347SAndre Przywara reset-names = "ahb"; 196f3dff347SAndre Przywara interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; 19722be992fSMaxime Ripard max-frequency = <150000000>; 198f3dff347SAndre Przywara status = "disabled"; 199f3dff347SAndre Przywara #address-cells = <1>; 200f3dff347SAndre Przywara #size-cells = <0>; 201f3dff347SAndre Przywara }; 202f3dff347SAndre Przywara 203f3dff347SAndre Przywara mmc1: mmc@1c10000 { 204f3dff347SAndre Przywara compatible = "allwinner,sun50i-a64-mmc"; 205f3dff347SAndre Przywara reg = <0x01c10000 0x1000>; 206f3dff347SAndre Przywara clocks = <&ccu CLK_BUS_MMC1>, <&ccu CLK_MMC1>; 207f3dff347SAndre Przywara clock-names = "ahb", "mmc"; 208f3dff347SAndre Przywara resets = <&ccu RST_BUS_MMC1>; 209f3dff347SAndre Przywara reset-names = "ahb"; 210f3dff347SAndre Przywara interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; 21122be992fSMaxime Ripard max-frequency = <150000000>; 212f3dff347SAndre Przywara status = "disabled"; 213f3dff347SAndre Przywara #address-cells = <1>; 214f3dff347SAndre Przywara #size-cells = <0>; 215f3dff347SAndre Przywara }; 216f3dff347SAndre Przywara 217f3dff347SAndre Przywara mmc2: mmc@1c11000 { 218f3dff347SAndre Przywara compatible = "allwinner,sun50i-a64-emmc"; 219f3dff347SAndre Przywara reg = <0x01c11000 0x1000>; 220f3dff347SAndre Przywara clocks = <&ccu CLK_BUS_MMC2>, <&ccu CLK_MMC2>; 221f3dff347SAndre Przywara clock-names = "ahb", "mmc"; 222f3dff347SAndre Przywara resets = <&ccu RST_BUS_MMC2>; 223f3dff347SAndre Przywara reset-names = "ahb"; 224f3dff347SAndre Przywara interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 22522be992fSMaxime Ripard max-frequency = <200000000>; 226f3dff347SAndre Przywara status = "disabled"; 227f3dff347SAndre Przywara #address-cells = <1>; 228f3dff347SAndre Przywara #size-cells = <0>; 229f3dff347SAndre Przywara }; 230f3dff347SAndre Przywara 231d6c9da12SCorentin LABBE usb_otg: usb@1c19000 { 232972a3ecdSIcenowy Zheng compatible = "allwinner,sun8i-a33-musb"; 233972a3ecdSIcenowy Zheng reg = <0x01c19000 0x0400>; 234972a3ecdSIcenowy Zheng clocks = <&ccu CLK_BUS_OTG>; 235972a3ecdSIcenowy Zheng resets = <&ccu RST_BUS_OTG>; 236972a3ecdSIcenowy Zheng interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 237972a3ecdSIcenowy Zheng interrupt-names = "mc"; 238972a3ecdSIcenowy Zheng phys = <&usbphy 0>; 239972a3ecdSIcenowy Zheng phy-names = "usb"; 240972a3ecdSIcenowy Zheng extcon = <&usbphy 0>; 241972a3ecdSIcenowy Zheng status = "disabled"; 242972a3ecdSIcenowy Zheng }; 243972a3ecdSIcenowy Zheng 244d6c9da12SCorentin LABBE usbphy: phy@1c19400 { 245a004ee35SIcenowy Zheng compatible = "allwinner,sun50i-a64-usb-phy"; 246a004ee35SIcenowy Zheng reg = <0x01c19400 0x14>, 2470d984797SIcenowy Zheng <0x01c1a800 0x4>, 248a004ee35SIcenowy Zheng <0x01c1b800 0x4>; 249a004ee35SIcenowy Zheng reg-names = "phy_ctrl", 2500d984797SIcenowy Zheng "pmu0", 251a004ee35SIcenowy Zheng "pmu1"; 252a004ee35SIcenowy Zheng clocks = <&ccu CLK_USB_PHY0>, 253a004ee35SIcenowy Zheng <&ccu CLK_USB_PHY1>; 254a004ee35SIcenowy Zheng clock-names = "usb0_phy", 255a004ee35SIcenowy Zheng "usb1_phy"; 256a004ee35SIcenowy Zheng resets = <&ccu RST_USB_PHY0>, 257a004ee35SIcenowy Zheng <&ccu RST_USB_PHY1>; 258a004ee35SIcenowy Zheng reset-names = "usb0_reset", 259a004ee35SIcenowy Zheng "usb1_reset"; 260a004ee35SIcenowy Zheng status = "disabled"; 261a004ee35SIcenowy Zheng #phy-cells = <1>; 262a004ee35SIcenowy Zheng }; 263a004ee35SIcenowy Zheng 264d6c9da12SCorentin LABBE ehci0: usb@1c1a000 { 265dc03a047SIcenowy Zheng compatible = "allwinner,sun50i-a64-ehci", "generic-ehci"; 266dc03a047SIcenowy Zheng reg = <0x01c1a000 0x100>; 267dc03a047SIcenowy Zheng interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; 268dc03a047SIcenowy Zheng clocks = <&ccu CLK_BUS_OHCI0>, 269dc03a047SIcenowy Zheng <&ccu CLK_BUS_EHCI0>, 270dc03a047SIcenowy Zheng <&ccu CLK_USB_OHCI0>; 271dc03a047SIcenowy Zheng resets = <&ccu RST_BUS_OHCI0>, 272dc03a047SIcenowy Zheng <&ccu RST_BUS_EHCI0>; 273dc03a047SIcenowy Zheng status = "disabled"; 274dc03a047SIcenowy Zheng }; 275dc03a047SIcenowy Zheng 276d6c9da12SCorentin LABBE ohci0: usb@1c1a400 { 277dc03a047SIcenowy Zheng compatible = "allwinner,sun50i-a64-ohci", "generic-ohci"; 278dc03a047SIcenowy Zheng reg = <0x01c1a400 0x100>; 279dc03a047SIcenowy Zheng interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 280dc03a047SIcenowy Zheng clocks = <&ccu CLK_BUS_OHCI0>, 281dc03a047SIcenowy Zheng <&ccu CLK_USB_OHCI0>; 282dc03a047SIcenowy Zheng resets = <&ccu RST_BUS_OHCI0>; 283dc03a047SIcenowy Zheng status = "disabled"; 284dc03a047SIcenowy Zheng }; 285dc03a047SIcenowy Zheng 286d6c9da12SCorentin LABBE ehci1: usb@1c1b000 { 287a004ee35SIcenowy Zheng compatible = "allwinner,sun50i-a64-ehci", "generic-ehci"; 288a004ee35SIcenowy Zheng reg = <0x01c1b000 0x100>; 289a004ee35SIcenowy Zheng interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 290a004ee35SIcenowy Zheng clocks = <&ccu CLK_BUS_OHCI1>, 291a004ee35SIcenowy Zheng <&ccu CLK_BUS_EHCI1>, 292a004ee35SIcenowy Zheng <&ccu CLK_USB_OHCI1>; 293a004ee35SIcenowy Zheng resets = <&ccu RST_BUS_OHCI1>, 294a004ee35SIcenowy Zheng <&ccu RST_BUS_EHCI1>; 295a004ee35SIcenowy Zheng phys = <&usbphy 1>; 296a004ee35SIcenowy Zheng phy-names = "usb"; 297a004ee35SIcenowy Zheng status = "disabled"; 298a004ee35SIcenowy Zheng }; 299a004ee35SIcenowy Zheng 300d6c9da12SCorentin LABBE ohci1: usb@1c1b400 { 301a004ee35SIcenowy Zheng compatible = "allwinner,sun50i-a64-ohci", "generic-ohci"; 302a004ee35SIcenowy Zheng reg = <0x01c1b400 0x100>; 303a004ee35SIcenowy Zheng interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 304a004ee35SIcenowy Zheng clocks = <&ccu CLK_BUS_OHCI1>, 305a004ee35SIcenowy Zheng <&ccu CLK_USB_OHCI1>; 306a004ee35SIcenowy Zheng resets = <&ccu RST_BUS_OHCI1>; 307a004ee35SIcenowy Zheng phys = <&usbphy 1>; 308a004ee35SIcenowy Zheng phy-names = "usb"; 309a004ee35SIcenowy Zheng status = "disabled"; 310a004ee35SIcenowy Zheng }; 311a004ee35SIcenowy Zheng 312d6c9da12SCorentin LABBE ccu: clock@1c20000 { 3136bc37facSAndre Przywara compatible = "allwinner,sun50i-a64-ccu"; 3146bc37facSAndre Przywara reg = <0x01c20000 0x400>; 3156bc37facSAndre Przywara clocks = <&osc24M>, <&osc32k>; 3166bc37facSAndre Przywara clock-names = "hosc", "losc"; 3176bc37facSAndre Przywara #clock-cells = <1>; 3186bc37facSAndre Przywara #reset-cells = <1>; 3196bc37facSAndre Przywara }; 3206bc37facSAndre Przywara 3216bc37facSAndre Przywara pio: pinctrl@1c20800 { 3226bc37facSAndre Przywara compatible = "allwinner,sun50i-a64-pinctrl"; 3236bc37facSAndre Przywara reg = <0x01c20800 0x400>; 3246bc37facSAndre Przywara interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, 3256bc37facSAndre Przywara <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>, 3266bc37facSAndre Przywara <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 327f98121f3SArnd Bergmann clocks = <&ccu 58>; 3286bc37facSAndre Przywara gpio-controller; 3296bc37facSAndre Przywara #gpio-cells = <3>; 3306bc37facSAndre Przywara interrupt-controller; 3316bc37facSAndre Przywara #interrupt-cells = <3>; 3326bc37facSAndre Przywara 33311239fe6SHarald Geyer i2c0_pins: i2c0_pins { 33411239fe6SHarald Geyer pins = "PH0", "PH1"; 33511239fe6SHarald Geyer function = "i2c0"; 33611239fe6SHarald Geyer }; 33711239fe6SHarald Geyer 3386bc37facSAndre Przywara i2c1_pins: i2c1_pins { 3396bc37facSAndre Przywara pins = "PH2", "PH3"; 3406bc37facSAndre Przywara function = "i2c1"; 3416bc37facSAndre Przywara }; 3426bc37facSAndre Przywara 343a3e8f492SMaxime Ripard mmc0_pins: mmc0-pins { 344a3e8f492SMaxime Ripard pins = "PF0", "PF1", "PF2", "PF3", 345a3e8f492SMaxime Ripard "PF4", "PF5"; 346a3e8f492SMaxime Ripard function = "mmc0"; 347a3e8f492SMaxime Ripard drive-strength = <30>; 348a3e8f492SMaxime Ripard bias-pull-up; 349a3e8f492SMaxime Ripard }; 350a3e8f492SMaxime Ripard 351a3e8f492SMaxime Ripard mmc1_pins: mmc1-pins { 352a3e8f492SMaxime Ripard pins = "PG0", "PG1", "PG2", "PG3", 353a3e8f492SMaxime Ripard "PG4", "PG5"; 354a3e8f492SMaxime Ripard function = "mmc1"; 355a3e8f492SMaxime Ripard drive-strength = <30>; 356a3e8f492SMaxime Ripard bias-pull-up; 357a3e8f492SMaxime Ripard }; 358a3e8f492SMaxime Ripard 359a3e8f492SMaxime Ripard mmc2_pins: mmc2-pins { 360a3e8f492SMaxime Ripard pins = "PC1", "PC5", "PC6", "PC8", "PC9", 361a3e8f492SMaxime Ripard "PC10","PC11", "PC12", "PC13", 362a3e8f492SMaxime Ripard "PC14", "PC15", "PC16"; 363a3e8f492SMaxime Ripard function = "mmc2"; 364a3e8f492SMaxime Ripard drive-strength = <30>; 365a3e8f492SMaxime Ripard bias-pull-up; 366a3e8f492SMaxime Ripard }; 367a3e8f492SMaxime Ripard 368b5df280bSAndre Przywara pwm_pin: pwm_pin { 369b5df280bSAndre Przywara pins = "PD22"; 370b5df280bSAndre Przywara function = "pwm"; 371b5df280bSAndre Przywara }; 372b5df280bSAndre Przywara 373e53f67e9SCorentin Labbe rmii_pins: rmii_pins { 374e53f67e9SCorentin Labbe pins = "PD10", "PD11", "PD13", "PD14", "PD17", 375e53f67e9SCorentin Labbe "PD18", "PD19", "PD20", "PD22", "PD23"; 376e53f67e9SCorentin Labbe function = "emac"; 377e53f67e9SCorentin Labbe drive-strength = <40>; 378e53f67e9SCorentin Labbe }; 379e53f67e9SCorentin Labbe 380e53f67e9SCorentin Labbe rgmii_pins: rgmii_pins { 381e53f67e9SCorentin Labbe pins = "PD8", "PD9", "PD10", "PD11", "PD12", 382e53f67e9SCorentin Labbe "PD13", "PD15", "PD16", "PD17", "PD18", 383e53f67e9SCorentin Labbe "PD19", "PD20", "PD21", "PD22", "PD23"; 384e53f67e9SCorentin Labbe function = "emac"; 385e53f67e9SCorentin Labbe drive-strength = <40>; 386e53f67e9SCorentin Labbe }; 387e53f67e9SCorentin Labbe 388b399d2acSMarcus Cooper spdif_tx_pin: spdif { 389b399d2acSMarcus Cooper pins = "PH8"; 390b399d2acSMarcus Cooper function = "spdif"; 391b399d2acSMarcus Cooper }; 392b399d2acSMarcus Cooper 393b518bb15SStefan Brüns spi0_pins: spi0 { 394b518bb15SStefan Brüns pins = "PC0", "PC1", "PC2", "PC3"; 395b518bb15SStefan Brüns function = "spi0"; 396b518bb15SStefan Brüns }; 397b518bb15SStefan Brüns 398b518bb15SStefan Brüns spi1_pins: spi1 { 399b518bb15SStefan Brüns pins = "PD0", "PD1", "PD2", "PD3"; 400b518bb15SStefan Brüns function = "spi1"; 401b518bb15SStefan Brüns }; 402b518bb15SStefan Brüns 40392d378fbSCorentin LABBE uart0_pins_a: uart0 { 4046bc37facSAndre Przywara pins = "PB8", "PB9"; 4056bc37facSAndre Przywara function = "uart0"; 4066bc37facSAndre Przywara }; 407e7ba733dSAndre Przywara 408e7ba733dSAndre Przywara uart1_pins: uart1_pins { 409e7ba733dSAndre Przywara pins = "PG6", "PG7"; 410e7ba733dSAndre Przywara function = "uart1"; 411e7ba733dSAndre Przywara }; 412e7ba733dSAndre Przywara 413e7ba733dSAndre Przywara uart1_rts_cts_pins: uart1_rts_cts_pins { 414e7ba733dSAndre Przywara pins = "PG8", "PG9"; 415e7ba733dSAndre Przywara function = "uart1"; 416e7ba733dSAndre Przywara }; 41779825719SAndreas Färber 41879825719SAndreas Färber uart2_pins: uart2-pins { 41979825719SAndreas Färber pins = "PB0", "PB1"; 42079825719SAndreas Färber function = "uart2"; 42179825719SAndreas Färber }; 4222273aa16SAndreas Färber 4232273aa16SAndreas Färber uart3_pins: uart3-pins { 4242273aa16SAndreas Färber pins = "PD0", "PD1"; 4252273aa16SAndreas Färber function = "uart3"; 4262273aa16SAndreas Färber }; 4272273aa16SAndreas Färber 4282273aa16SAndreas Färber uart4_pins: uart4-pins { 4292273aa16SAndreas Färber pins = "PD2", "PD3"; 4302273aa16SAndreas Färber function = "uart4"; 4312273aa16SAndreas Färber }; 4322273aa16SAndreas Färber 4332273aa16SAndreas Färber uart4_rts_cts_pins: uart4-rts-cts-pins { 4342273aa16SAndreas Färber pins = "PD4", "PD5"; 4352273aa16SAndreas Färber function = "uart4"; 4362273aa16SAndreas Färber }; 4376bc37facSAndre Przywara }; 4386bc37facSAndre Przywara 439b399d2acSMarcus Cooper spdif: spdif@1c21000 { 440b399d2acSMarcus Cooper #sound-dai-cells = <0>; 441b399d2acSMarcus Cooper compatible = "allwinner,sun50i-a64-spdif", 442b399d2acSMarcus Cooper "allwinner,sun8i-h3-spdif"; 443b399d2acSMarcus Cooper reg = <0x01c21000 0x400>; 444b399d2acSMarcus Cooper interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 445b399d2acSMarcus Cooper clocks = <&ccu CLK_BUS_SPDIF>, <&ccu CLK_SPDIF>; 446b399d2acSMarcus Cooper resets = <&ccu RST_BUS_SPDIF>; 447b399d2acSMarcus Cooper clock-names = "apb", "spdif"; 448b399d2acSMarcus Cooper dmas = <&dma 2>; 449b399d2acSMarcus Cooper dma-names = "tx"; 450b399d2acSMarcus Cooper pinctrl-names = "default"; 451b399d2acSMarcus Cooper pinctrl-0 = <&spdif_tx_pin>; 452b399d2acSMarcus Cooper status = "disabled"; 453b399d2acSMarcus Cooper }; 454b399d2acSMarcus Cooper 4551c92c009SMarcus Cooper i2s0: i2s@1c22000 { 4561c92c009SMarcus Cooper #sound-dai-cells = <0>; 4571c92c009SMarcus Cooper compatible = "allwinner,sun50i-a64-i2s", 4581c92c009SMarcus Cooper "allwinner,sun8i-h3-i2s"; 4591c92c009SMarcus Cooper reg = <0x01c22000 0x400>; 4601c92c009SMarcus Cooper interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 4611c92c009SMarcus Cooper clocks = <&ccu CLK_BUS_I2S0>, <&ccu CLK_I2S0>; 4621c92c009SMarcus Cooper clock-names = "apb", "mod"; 4631c92c009SMarcus Cooper resets = <&ccu RST_BUS_I2S0>; 4641c92c009SMarcus Cooper dma-names = "rx", "tx"; 4651c92c009SMarcus Cooper dmas = <&dma 3>, <&dma 3>; 4661c92c009SMarcus Cooper status = "disabled"; 4671c92c009SMarcus Cooper }; 4681c92c009SMarcus Cooper 4691c92c009SMarcus Cooper i2s1: i2s@1c22400 { 4701c92c009SMarcus Cooper #sound-dai-cells = <0>; 4711c92c009SMarcus Cooper compatible = "allwinner,sun50i-a64-i2s", 4721c92c009SMarcus Cooper "allwinner,sun8i-h3-i2s"; 4731c92c009SMarcus Cooper reg = <0x01c22400 0x400>; 4741c92c009SMarcus Cooper interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 4751c92c009SMarcus Cooper clocks = <&ccu CLK_BUS_I2S1>, <&ccu CLK_I2S1>; 4761c92c009SMarcus Cooper clock-names = "apb", "mod"; 4771c92c009SMarcus Cooper resets = <&ccu RST_BUS_I2S1>; 4781c92c009SMarcus Cooper dma-names = "rx", "tx"; 4791c92c009SMarcus Cooper dmas = <&dma 4>, <&dma 4>; 4801c92c009SMarcus Cooper status = "disabled"; 4811c92c009SMarcus Cooper }; 4821c92c009SMarcus Cooper 4836bc37facSAndre Przywara uart0: serial@1c28000 { 4846bc37facSAndre Przywara compatible = "snps,dw-apb-uart"; 4856bc37facSAndre Przywara reg = <0x01c28000 0x400>; 4866bc37facSAndre Przywara interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; 4876bc37facSAndre Przywara reg-shift = <2>; 4886bc37facSAndre Przywara reg-io-width = <4>; 489494d8a2cSChen-Yu Tsai clocks = <&ccu CLK_BUS_UART0>; 490494d8a2cSChen-Yu Tsai resets = <&ccu RST_BUS_UART0>; 4916bc37facSAndre Przywara status = "disabled"; 4926bc37facSAndre Przywara }; 4936bc37facSAndre Przywara 4946bc37facSAndre Przywara uart1: serial@1c28400 { 4956bc37facSAndre Przywara compatible = "snps,dw-apb-uart"; 4966bc37facSAndre Przywara reg = <0x01c28400 0x400>; 4976bc37facSAndre Przywara interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; 4986bc37facSAndre Przywara reg-shift = <2>; 4996bc37facSAndre Przywara reg-io-width = <4>; 500494d8a2cSChen-Yu Tsai clocks = <&ccu CLK_BUS_UART1>; 501494d8a2cSChen-Yu Tsai resets = <&ccu RST_BUS_UART1>; 5026bc37facSAndre Przywara status = "disabled"; 5036bc37facSAndre Przywara }; 5046bc37facSAndre Przywara 5056bc37facSAndre Przywara uart2: serial@1c28800 { 5066bc37facSAndre Przywara compatible = "snps,dw-apb-uart"; 5076bc37facSAndre Przywara reg = <0x01c28800 0x400>; 5086bc37facSAndre Przywara interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 5096bc37facSAndre Przywara reg-shift = <2>; 5106bc37facSAndre Przywara reg-io-width = <4>; 511494d8a2cSChen-Yu Tsai clocks = <&ccu CLK_BUS_UART2>; 512494d8a2cSChen-Yu Tsai resets = <&ccu RST_BUS_UART2>; 5136bc37facSAndre Przywara status = "disabled"; 5146bc37facSAndre Przywara }; 5156bc37facSAndre Przywara 5166bc37facSAndre Przywara uart3: serial@1c28c00 { 5176bc37facSAndre Przywara compatible = "snps,dw-apb-uart"; 5186bc37facSAndre Przywara reg = <0x01c28c00 0x400>; 5196bc37facSAndre Przywara interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 5206bc37facSAndre Przywara reg-shift = <2>; 5216bc37facSAndre Przywara reg-io-width = <4>; 522494d8a2cSChen-Yu Tsai clocks = <&ccu CLK_BUS_UART3>; 523494d8a2cSChen-Yu Tsai resets = <&ccu RST_BUS_UART3>; 5246bc37facSAndre Przywara status = "disabled"; 5256bc37facSAndre Przywara }; 5266bc37facSAndre Przywara 5276bc37facSAndre Przywara uart4: serial@1c29000 { 5286bc37facSAndre Przywara compatible = "snps,dw-apb-uart"; 5296bc37facSAndre Przywara reg = <0x01c29000 0x400>; 5306bc37facSAndre Przywara interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 5316bc37facSAndre Przywara reg-shift = <2>; 5326bc37facSAndre Przywara reg-io-width = <4>; 533494d8a2cSChen-Yu Tsai clocks = <&ccu CLK_BUS_UART4>; 534494d8a2cSChen-Yu Tsai resets = <&ccu RST_BUS_UART4>; 5356bc37facSAndre Przywara status = "disabled"; 5366bc37facSAndre Przywara }; 5376bc37facSAndre Przywara 5386bc37facSAndre Przywara i2c0: i2c@1c2ac00 { 5396bc37facSAndre Przywara compatible = "allwinner,sun6i-a31-i2c"; 5406bc37facSAndre Przywara reg = <0x01c2ac00 0x400>; 5416bc37facSAndre Przywara interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 542494d8a2cSChen-Yu Tsai clocks = <&ccu CLK_BUS_I2C0>; 543494d8a2cSChen-Yu Tsai resets = <&ccu RST_BUS_I2C0>; 5446bc37facSAndre Przywara status = "disabled"; 5456bc37facSAndre Przywara #address-cells = <1>; 5466bc37facSAndre Przywara #size-cells = <0>; 5476bc37facSAndre Przywara }; 5486bc37facSAndre Przywara 5496bc37facSAndre Przywara i2c1: i2c@1c2b000 { 5506bc37facSAndre Przywara compatible = "allwinner,sun6i-a31-i2c"; 5516bc37facSAndre Przywara reg = <0x01c2b000 0x400>; 5526bc37facSAndre Przywara interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 553494d8a2cSChen-Yu Tsai clocks = <&ccu CLK_BUS_I2C1>; 554494d8a2cSChen-Yu Tsai resets = <&ccu RST_BUS_I2C1>; 5556bc37facSAndre Przywara status = "disabled"; 5566bc37facSAndre Przywara #address-cells = <1>; 5576bc37facSAndre Przywara #size-cells = <0>; 5586bc37facSAndre Przywara }; 5596bc37facSAndre Przywara 5606bc37facSAndre Przywara i2c2: i2c@1c2b400 { 5616bc37facSAndre Przywara compatible = "allwinner,sun6i-a31-i2c"; 5626bc37facSAndre Przywara reg = <0x01c2b400 0x400>; 5636bc37facSAndre Przywara interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 564494d8a2cSChen-Yu Tsai clocks = <&ccu CLK_BUS_I2C2>; 565494d8a2cSChen-Yu Tsai resets = <&ccu RST_BUS_I2C2>; 5666bc37facSAndre Przywara status = "disabled"; 5676bc37facSAndre Przywara #address-cells = <1>; 5686bc37facSAndre Przywara #size-cells = <0>; 5696bc37facSAndre Przywara }; 5706bc37facSAndre Przywara 571b518bb15SStefan Brüns 572d6c9da12SCorentin LABBE spi0: spi@1c68000 { 573b518bb15SStefan Brüns compatible = "allwinner,sun8i-h3-spi"; 574b518bb15SStefan Brüns reg = <0x01c68000 0x1000>; 575b518bb15SStefan Brüns interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; 576b518bb15SStefan Brüns clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_SPI0>; 577b518bb15SStefan Brüns clock-names = "ahb", "mod"; 57806c1258aSStefan Brüns dmas = <&dma 23>, <&dma 23>; 57906c1258aSStefan Brüns dma-names = "rx", "tx"; 580b518bb15SStefan Brüns pinctrl-names = "default"; 581b518bb15SStefan Brüns pinctrl-0 = <&spi0_pins>; 582b518bb15SStefan Brüns resets = <&ccu RST_BUS_SPI0>; 583b518bb15SStefan Brüns status = "disabled"; 584b518bb15SStefan Brüns num-cs = <1>; 585b518bb15SStefan Brüns #address-cells = <1>; 586b518bb15SStefan Brüns #size-cells = <0>; 587b518bb15SStefan Brüns }; 588b518bb15SStefan Brüns 589d6c9da12SCorentin LABBE spi1: spi@1c69000 { 590b518bb15SStefan Brüns compatible = "allwinner,sun8i-h3-spi"; 591b518bb15SStefan Brüns reg = <0x01c69000 0x1000>; 592b518bb15SStefan Brüns interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>; 593b518bb15SStefan Brüns clocks = <&ccu CLK_BUS_SPI1>, <&ccu CLK_SPI1>; 594b518bb15SStefan Brüns clock-names = "ahb", "mod"; 59506c1258aSStefan Brüns dmas = <&dma 24>, <&dma 24>; 59606c1258aSStefan Brüns dma-names = "rx", "tx"; 597b518bb15SStefan Brüns pinctrl-names = "default"; 598b518bb15SStefan Brüns pinctrl-0 = <&spi1_pins>; 599b518bb15SStefan Brüns resets = <&ccu RST_BUS_SPI1>; 600b518bb15SStefan Brüns status = "disabled"; 601b518bb15SStefan Brüns num-cs = <1>; 602b518bb15SStefan Brüns #address-cells = <1>; 603b518bb15SStefan Brüns #size-cells = <0>; 604b518bb15SStefan Brüns }; 605b518bb15SStefan Brüns 60694f44288SCorentin Labbe emac: ethernet@1c30000 { 60794f44288SCorentin Labbe compatible = "allwinner,sun50i-a64-emac"; 60894f44288SCorentin Labbe syscon = <&syscon>; 60994f44288SCorentin Labbe reg = <0x01c30000 0x10000>; 61094f44288SCorentin Labbe interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; 61194f44288SCorentin Labbe interrupt-names = "macirq"; 61294f44288SCorentin Labbe resets = <&ccu RST_BUS_EMAC>; 61394f44288SCorentin Labbe reset-names = "stmmaceth"; 61494f44288SCorentin Labbe clocks = <&ccu CLK_BUS_EMAC>; 61594f44288SCorentin Labbe clock-names = "stmmaceth"; 61694f44288SCorentin Labbe status = "disabled"; 61794f44288SCorentin Labbe #address-cells = <1>; 61894f44288SCorentin Labbe #size-cells = <0>; 61994f44288SCorentin Labbe 62094f44288SCorentin Labbe mdio: mdio { 62116416084SCorentin Labbe compatible = "snps,dwmac-mdio"; 62294f44288SCorentin Labbe #address-cells = <1>; 62394f44288SCorentin Labbe #size-cells = <0>; 62494f44288SCorentin Labbe }; 62594f44288SCorentin Labbe }; 62694f44288SCorentin Labbe 6276bc37facSAndre Przywara gic: interrupt-controller@1c81000 { 6286bc37facSAndre Przywara compatible = "arm,gic-400"; 6296bc37facSAndre Przywara reg = <0x01c81000 0x1000>, 6306bc37facSAndre Przywara <0x01c82000 0x2000>, 6316bc37facSAndre Przywara <0x01c84000 0x2000>, 6326bc37facSAndre Przywara <0x01c86000 0x2000>; 6336bc37facSAndre Przywara interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 6346bc37facSAndre Przywara interrupt-controller; 6356bc37facSAndre Przywara #interrupt-cells = <3>; 6366bc37facSAndre Przywara }; 6376bc37facSAndre Przywara 638b5df280bSAndre Przywara pwm: pwm@1c21400 { 639b5df280bSAndre Przywara compatible = "allwinner,sun50i-a64-pwm", 640b5df280bSAndre Przywara "allwinner,sun5i-a13-pwm"; 641b5df280bSAndre Przywara reg = <0x01c21400 0x400>; 642b5df280bSAndre Przywara clocks = <&osc24M>; 643b5df280bSAndre Przywara pinctrl-names = "default"; 644b5df280bSAndre Przywara pinctrl-0 = <&pwm_pin>; 645b5df280bSAndre Przywara #pwm-cells = <3>; 646b5df280bSAndre Przywara status = "disabled"; 647b5df280bSAndre Przywara }; 648b5df280bSAndre Przywara 6496bc37facSAndre Przywara rtc: rtc@1f00000 { 6506bc37facSAndre Przywara compatible = "allwinner,sun6i-a31-rtc"; 6516bc37facSAndre Przywara reg = <0x01f00000 0x54>; 6526bc37facSAndre Przywara interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, 6536bc37facSAndre Przywara <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; 654e1a9a474SJagan Teki clock-output-names = "rtc-osc32k", "rtc-osc32k-out"; 655e1a9a474SJagan Teki clocks = <&osc32k>; 656e1a9a474SJagan Teki #clock-cells = <1>; 6576bc37facSAndre Przywara }; 658791a9e00SIcenowy Zheng 659535ca508SIcenowy Zheng r_intc: interrupt-controller@1f00c00 { 660535ca508SIcenowy Zheng compatible = "allwinner,sun50i-a64-r-intc", 661535ca508SIcenowy Zheng "allwinner,sun6i-a31-r-intc"; 662535ca508SIcenowy Zheng interrupt-controller; 663535ca508SIcenowy Zheng #interrupt-cells = <2>; 664535ca508SIcenowy Zheng reg = <0x01f00c00 0x400>; 665535ca508SIcenowy Zheng interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 666535ca508SIcenowy Zheng }; 667535ca508SIcenowy Zheng 668791a9e00SIcenowy Zheng r_ccu: clock@1f01400 { 669791a9e00SIcenowy Zheng compatible = "allwinner,sun50i-a64-r-ccu"; 670791a9e00SIcenowy Zheng reg = <0x01f01400 0x100>; 671f74994a9SChen-Yu Tsai clocks = <&osc24M>, <&osc32k>, <&iosc>, 672f74994a9SChen-Yu Tsai <&ccu 11>; 673f74994a9SChen-Yu Tsai clock-names = "hosc", "losc", "iosc", "pll-periph"; 674791a9e00SIcenowy Zheng #clock-cells = <1>; 675791a9e00SIcenowy Zheng #reset-cells = <1>; 676791a9e00SIcenowy Zheng }; 677ec427905SIcenowy Zheng 678871b5352SIcenowy Zheng r_i2c: i2c@1f02400 { 679871b5352SIcenowy Zheng compatible = "allwinner,sun50i-a64-i2c", 680871b5352SIcenowy Zheng "allwinner,sun6i-a31-i2c"; 681871b5352SIcenowy Zheng reg = <0x01f02400 0x400>; 682871b5352SIcenowy Zheng interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 683871b5352SIcenowy Zheng clocks = <&r_ccu CLK_APB0_I2C>; 684871b5352SIcenowy Zheng resets = <&r_ccu RST_APB0_I2C>; 685871b5352SIcenowy Zheng status = "disabled"; 686871b5352SIcenowy Zheng #address-cells = <1>; 687871b5352SIcenowy Zheng #size-cells = <0>; 688871b5352SIcenowy Zheng }; 689871b5352SIcenowy Zheng 690b5df280bSAndre Przywara r_pwm: pwm@1f03800 { 691b5df280bSAndre Przywara compatible = "allwinner,sun50i-a64-pwm", 692b5df280bSAndre Przywara "allwinner,sun5i-a13-pwm"; 693b5df280bSAndre Przywara reg = <0x01f03800 0x400>; 694b5df280bSAndre Przywara clocks = <&osc24M>; 695b5df280bSAndre Przywara pinctrl-names = "default"; 696b5df280bSAndre Przywara pinctrl-0 = <&r_pwm_pin>; 697b5df280bSAndre Przywara #pwm-cells = <3>; 698b5df280bSAndre Przywara status = "disabled"; 699b5df280bSAndre Przywara }; 700b5df280bSAndre Przywara 701d6c9da12SCorentin LABBE r_pio: pinctrl@1f02c00 { 702ec427905SIcenowy Zheng compatible = "allwinner,sun50i-a64-r-pinctrl"; 703ec427905SIcenowy Zheng reg = <0x01f02c00 0x400>; 704ec427905SIcenowy Zheng interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 705494d8a2cSChen-Yu Tsai clocks = <&r_ccu CLK_APB0_PIO>, <&osc24M>, <&osc32k>; 706ec427905SIcenowy Zheng clock-names = "apb", "hosc", "losc"; 707ec427905SIcenowy Zheng gpio-controller; 708ec427905SIcenowy Zheng #gpio-cells = <3>; 709ec427905SIcenowy Zheng interrupt-controller; 710ec427905SIcenowy Zheng #interrupt-cells = <3>; 7113b38fdedSIcenowy Zheng 712871b5352SIcenowy Zheng r_i2c_pins_a: i2c-a { 713871b5352SIcenowy Zheng pins = "PL8", "PL9"; 714871b5352SIcenowy Zheng function = "s_i2c"; 715871b5352SIcenowy Zheng }; 716871b5352SIcenowy Zheng 717b5df280bSAndre Przywara r_pwm_pin: pwm { 718b5df280bSAndre Przywara pins = "PL10"; 719b5df280bSAndre Przywara function = "s_pwm"; 720b5df280bSAndre Przywara }; 721b5df280bSAndre Przywara 72292d378fbSCorentin LABBE r_rsb_pins: rsb { 7233b38fdedSIcenowy Zheng pins = "PL0", "PL1"; 7243b38fdedSIcenowy Zheng function = "s_rsb"; 7253b38fdedSIcenowy Zheng }; 7263b38fdedSIcenowy Zheng }; 7273b38fdedSIcenowy Zheng 7283b38fdedSIcenowy Zheng r_rsb: rsb@1f03400 { 7293b38fdedSIcenowy Zheng compatible = "allwinner,sun8i-a23-rsb"; 7303b38fdedSIcenowy Zheng reg = <0x01f03400 0x400>; 7313b38fdedSIcenowy Zheng interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 7323b38fdedSIcenowy Zheng clocks = <&r_ccu 6>; 7333b38fdedSIcenowy Zheng clock-frequency = <3000000>; 7343b38fdedSIcenowy Zheng resets = <&r_ccu 2>; 7353b38fdedSIcenowy Zheng pinctrl-names = "default"; 7363b38fdedSIcenowy Zheng pinctrl-0 = <&r_rsb_pins>; 7373b38fdedSIcenowy Zheng status = "disabled"; 7383b38fdedSIcenowy Zheng #address-cells = <1>; 7393b38fdedSIcenowy Zheng #size-cells = <0>; 740ec427905SIcenowy Zheng }; 741d4185043SHarald Geyer 742d4185043SHarald Geyer wdt0: watchdog@1c20ca0 { 743d4185043SHarald Geyer compatible = "allwinner,sun50i-a64-wdt", 744d4185043SHarald Geyer "allwinner,sun6i-a31-wdt"; 745d4185043SHarald Geyer reg = <0x01c20ca0 0x20>; 746d4185043SHarald Geyer interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 747d4185043SHarald Geyer }; 7486bc37facSAndre Przywara }; 7496bc37facSAndre Przywara}; 750