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> 462c796fc8SIcenowy Zheng#include <dt-bindings/clock/sun8i-de2.h> 47494d8a2cSChen-Yu Tsai#include <dt-bindings/clock/sun8i-r-ccu.h> 486bc37facSAndre Przywara#include <dt-bindings/interrupt-controller/arm-gic.h> 49a004ee35SIcenowy Zheng#include <dt-bindings/reset/sun50i-a64-ccu.h> 502c796fc8SIcenowy Zheng#include <dt-bindings/reset/sun8i-de2.h> 51871b5352SIcenowy Zheng#include <dt-bindings/reset/sun8i-r-ccu.h> 526bc37facSAndre Przywara 536bc37facSAndre Przywara/ { 546bc37facSAndre Przywara interrupt-parent = <&gic>; 556bc37facSAndre Przywara #address-cells = <1>; 566bc37facSAndre Przywara #size-cells = <1>; 576bc37facSAndre Przywara 58c1cff65fSHarald Geyer chosen { 59c1cff65fSHarald Geyer #address-cells = <1>; 60c1cff65fSHarald Geyer #size-cells = <1>; 61c1cff65fSHarald Geyer ranges; 62c1cff65fSHarald Geyer 63c1cff65fSHarald Geyer simplefb_lcd: framebuffer-lcd { 64c1cff65fSHarald Geyer compatible = "allwinner,simple-framebuffer", 65c1cff65fSHarald Geyer "simple-framebuffer"; 66c1cff65fSHarald Geyer allwinner,pipeline = "mixer0-lcd0"; 67c1cff65fSHarald Geyer clocks = <&ccu CLK_TCON0>, 682c796fc8SIcenowy Zheng <&display_clocks CLK_MIXER0>; 69c1cff65fSHarald Geyer status = "disabled"; 70c1cff65fSHarald Geyer }; 71fca63f58SIcenowy Zheng 72fca63f58SIcenowy Zheng simplefb_hdmi: framebuffer-hdmi { 73fca63f58SIcenowy Zheng compatible = "allwinner,simple-framebuffer", 74fca63f58SIcenowy Zheng "simple-framebuffer"; 75fca63f58SIcenowy Zheng allwinner,pipeline = "mixer1-lcd1-hdmi"; 76fca63f58SIcenowy Zheng clocks = <&display_clocks CLK_MIXER1>, 77fca63f58SIcenowy Zheng <&ccu CLK_TCON1>, <&ccu CLK_HDMI>; 78fca63f58SIcenowy Zheng status = "disabled"; 79fca63f58SIcenowy Zheng }; 80c1cff65fSHarald Geyer }; 81c1cff65fSHarald Geyer 826bc37facSAndre Przywara cpus { 836bc37facSAndre Przywara #address-cells = <1>; 846bc37facSAndre Przywara #size-cells = <0>; 856bc37facSAndre Przywara 866bc37facSAndre Przywara cpu0: cpu@0 { 8731af04cdSRob Herring compatible = "arm,cortex-a53"; 886bc37facSAndre Przywara device_type = "cpu"; 896bc37facSAndre Przywara reg = <0>; 906bc37facSAndre Przywara enable-method = "psci"; 9139defc81SAndre Przywara next-level-cache = <&L2>; 926bc37facSAndre Przywara }; 936bc37facSAndre Przywara 946bc37facSAndre Przywara cpu1: cpu@1 { 9531af04cdSRob Herring compatible = "arm,cortex-a53"; 966bc37facSAndre Przywara device_type = "cpu"; 976bc37facSAndre Przywara reg = <1>; 986bc37facSAndre Przywara enable-method = "psci"; 9939defc81SAndre Przywara next-level-cache = <&L2>; 1006bc37facSAndre Przywara }; 1016bc37facSAndre Przywara 1026bc37facSAndre Przywara cpu2: cpu@2 { 10331af04cdSRob Herring compatible = "arm,cortex-a53"; 1046bc37facSAndre Przywara device_type = "cpu"; 1056bc37facSAndre Przywara reg = <2>; 1066bc37facSAndre Przywara enable-method = "psci"; 10739defc81SAndre Przywara next-level-cache = <&L2>; 1086bc37facSAndre Przywara }; 1096bc37facSAndre Przywara 1106bc37facSAndre Przywara cpu3: cpu@3 { 11131af04cdSRob Herring compatible = "arm,cortex-a53"; 1126bc37facSAndre Przywara device_type = "cpu"; 1136bc37facSAndre Przywara reg = <3>; 1146bc37facSAndre Przywara enable-method = "psci"; 11539defc81SAndre Przywara next-level-cache = <&L2>; 11639defc81SAndre Przywara }; 11739defc81SAndre Przywara 11839defc81SAndre Przywara L2: l2-cache { 11939defc81SAndre Przywara compatible = "cache"; 12039defc81SAndre Przywara cache-level = <2>; 1216bc37facSAndre Przywara }; 1226bc37facSAndre Przywara }; 1236bc37facSAndre Przywara 124e85f28e0SJagan Teki de: display-engine { 125e85f28e0SJagan Teki compatible = "allwinner,sun50i-a64-display-engine"; 126e85f28e0SJagan Teki allwinner,pipelines = <&mixer0>, 127e85f28e0SJagan Teki <&mixer1>; 128e85f28e0SJagan Teki status = "disabled"; 129e85f28e0SJagan Teki }; 130e85f28e0SJagan Teki 1316bc37facSAndre Przywara osc24M: osc24M_clk { 1326bc37facSAndre Przywara #clock-cells = <0>; 1336bc37facSAndre Przywara compatible = "fixed-clock"; 1346bc37facSAndre Przywara clock-frequency = <24000000>; 1356bc37facSAndre Przywara clock-output-names = "osc24M"; 1366bc37facSAndre Przywara }; 1376bc37facSAndre Przywara 1386bc37facSAndre Przywara osc32k: osc32k_clk { 1396bc37facSAndre Przywara #clock-cells = <0>; 1406bc37facSAndre Przywara compatible = "fixed-clock"; 1416bc37facSAndre Przywara clock-frequency = <32768>; 14244ff3cafSChen-Yu Tsai clock-output-names = "ext-osc32k"; 143791a9e00SIcenowy Zheng }; 144791a9e00SIcenowy Zheng 14534a97fccSHarald Geyer pmu { 14634a97fccSHarald Geyer compatible = "arm,cortex-a53-pmu"; 14734a97fccSHarald Geyer interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>, 14834a97fccSHarald Geyer <GIC_SPI 153 IRQ_TYPE_LEVEL_HIGH>, 14934a97fccSHarald Geyer <GIC_SPI 154 IRQ_TYPE_LEVEL_HIGH>, 15034a97fccSHarald Geyer <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>; 15134a97fccSHarald Geyer interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>; 15234a97fccSHarald Geyer }; 15334a97fccSHarald Geyer 1546bc37facSAndre Przywara psci { 1556bc37facSAndre Przywara compatible = "arm,psci-0.2"; 1566bc37facSAndre Przywara method = "smc"; 1576bc37facSAndre Przywara }; 1586bc37facSAndre Przywara 159ec4a9540SVasily Khoruzhick sound: sound { 160ec4a9540SVasily Khoruzhick compatible = "simple-audio-card"; 161ec4a9540SVasily Khoruzhick simple-audio-card,name = "sun50i-a64-audio"; 162ec4a9540SVasily Khoruzhick simple-audio-card,format = "i2s"; 163ec4a9540SVasily Khoruzhick simple-audio-card,frame-master = <&cpudai>; 164ec4a9540SVasily Khoruzhick simple-audio-card,bitclock-master = <&cpudai>; 165ec4a9540SVasily Khoruzhick simple-audio-card,mclk-fs = <128>; 166ec4a9540SVasily Khoruzhick simple-audio-card,aux-devs = <&codec_analog>; 167ec4a9540SVasily Khoruzhick simple-audio-card,routing = 168ec4a9540SVasily Khoruzhick "Left DAC", "AIF1 Slot 0 Left", 169ec4a9540SVasily Khoruzhick "Right DAC", "AIF1 Slot 0 Right", 170ec4a9540SVasily Khoruzhick "AIF1 Slot 0 Left ADC", "Left ADC", 171ec4a9540SVasily Khoruzhick "AIF1 Slot 0 Right ADC", "Right ADC"; 172ec4a9540SVasily Khoruzhick status = "disabled"; 173ec4a9540SVasily Khoruzhick 174ec4a9540SVasily Khoruzhick cpudai: simple-audio-card,cpu { 175ec4a9540SVasily Khoruzhick sound-dai = <&dai>; 176ec4a9540SVasily Khoruzhick }; 177ec4a9540SVasily Khoruzhick 178ec4a9540SVasily Khoruzhick link_codec: simple-audio-card,codec { 179ec4a9540SVasily Khoruzhick sound-dai = <&codec>; 180ec4a9540SVasily Khoruzhick }; 181ec4a9540SVasily Khoruzhick }; 182ec4a9540SVasily Khoruzhick 18378e07137SMarcus Cooper sound_spdif { 18478e07137SMarcus Cooper compatible = "simple-audio-card"; 18578e07137SMarcus Cooper simple-audio-card,name = "On-board SPDIF"; 18678e07137SMarcus Cooper 18778e07137SMarcus Cooper simple-audio-card,cpu { 18878e07137SMarcus Cooper sound-dai = <&spdif>; 18978e07137SMarcus Cooper }; 19078e07137SMarcus Cooper 19178e07137SMarcus Cooper simple-audio-card,codec { 19278e07137SMarcus Cooper sound-dai = <&spdif_out>; 19378e07137SMarcus Cooper }; 19478e07137SMarcus Cooper }; 19578e07137SMarcus Cooper 19678e07137SMarcus Cooper spdif_out: spdif-out { 19778e07137SMarcus Cooper #sound-dai-cells = <0>; 19878e07137SMarcus Cooper compatible = "linux,spdif-dit"; 19978e07137SMarcus Cooper }; 20078e07137SMarcus Cooper 2016bc37facSAndre Przywara timer { 2026bc37facSAndre Przywara compatible = "arm,armv8-timer"; 20355ec26d6SSamuel Holland allwinner,erratum-unknown1; 2046bc37facSAndre Przywara interrupts = <GIC_PPI 13 2056bc37facSAndre Przywara (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 2066bc37facSAndre Przywara <GIC_PPI 14 2076bc37facSAndre Przywara (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 2086bc37facSAndre Przywara <GIC_PPI 11 2096bc37facSAndre Przywara (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>, 2106bc37facSAndre Przywara <GIC_PPI 10 2116bc37facSAndre Przywara (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 2126bc37facSAndre Przywara }; 2136bc37facSAndre Przywara 2146bc37facSAndre Przywara soc { 2156bc37facSAndre Przywara compatible = "simple-bus"; 2166bc37facSAndre Przywara #address-cells = <1>; 2176bc37facSAndre Przywara #size-cells = <1>; 2186bc37facSAndre Przywara ranges; 2196bc37facSAndre Przywara 220275b6317SMaxime Ripard bus@1000000 { 2212c796fc8SIcenowy Zheng compatible = "allwinner,sun50i-a64-de2"; 2222c796fc8SIcenowy Zheng reg = <0x1000000 0x400000>; 2232c796fc8SIcenowy Zheng allwinner,sram = <&de2_sram 1>; 2242c796fc8SIcenowy Zheng #address-cells = <1>; 2252c796fc8SIcenowy Zheng #size-cells = <1>; 2262c796fc8SIcenowy Zheng ranges = <0 0x1000000 0x400000>; 2272c796fc8SIcenowy Zheng 2282c796fc8SIcenowy Zheng display_clocks: clock@0 { 2292c796fc8SIcenowy Zheng compatible = "allwinner,sun50i-a64-de2-clk"; 2302c796fc8SIcenowy Zheng reg = <0x0 0x100000>; 2312c796fc8SIcenowy Zheng clocks = <&ccu CLK_DE>, 2322c796fc8SIcenowy Zheng <&ccu CLK_BUS_DE>; 2332c796fc8SIcenowy Zheng clock-names = "mod", 2342c796fc8SIcenowy Zheng "bus"; 2352c796fc8SIcenowy Zheng resets = <&ccu RST_BUS_DE>; 2362c796fc8SIcenowy Zheng #clock-cells = <1>; 2372c796fc8SIcenowy Zheng #reset-cells = <1>; 2382c796fc8SIcenowy Zheng }; 239e85f28e0SJagan Teki 240e85f28e0SJagan Teki mixer0: mixer@100000 { 241e85f28e0SJagan Teki compatible = "allwinner,sun50i-a64-de2-mixer-0"; 242e85f28e0SJagan Teki reg = <0x100000 0x100000>; 243e85f28e0SJagan Teki clocks = <&display_clocks CLK_BUS_MIXER0>, 244e85f28e0SJagan Teki <&display_clocks CLK_MIXER0>; 245e85f28e0SJagan Teki clock-names = "bus", 246e85f28e0SJagan Teki "mod"; 247e85f28e0SJagan Teki resets = <&display_clocks RST_MIXER0>; 248e85f28e0SJagan Teki 249e85f28e0SJagan Teki ports { 250e85f28e0SJagan Teki #address-cells = <1>; 251e85f28e0SJagan Teki #size-cells = <0>; 252e85f28e0SJagan Teki 253e85f28e0SJagan Teki mixer0_out: port@1 { 254a7f7047fSMaxime Ripard #address-cells = <1>; 255a7f7047fSMaxime Ripard #size-cells = <0>; 256e85f28e0SJagan Teki reg = <1>; 257e85f28e0SJagan Teki 258a7f7047fSMaxime Ripard mixer0_out_tcon0: endpoint@0 { 259a7f7047fSMaxime Ripard reg = <0>; 260e85f28e0SJagan Teki remote-endpoint = <&tcon0_in_mixer0>; 261e85f28e0SJagan Teki }; 262a7f7047fSMaxime Ripard 263a7f7047fSMaxime Ripard mixer0_out_tcon1: endpoint@1 { 264a7f7047fSMaxime Ripard reg = <1>; 265a7f7047fSMaxime Ripard remote-endpoint = <&tcon1_in_mixer0>; 266a7f7047fSMaxime Ripard }; 267e85f28e0SJagan Teki }; 268e85f28e0SJagan Teki }; 269e85f28e0SJagan Teki }; 270e85f28e0SJagan Teki 271e85f28e0SJagan Teki mixer1: mixer@200000 { 272e85f28e0SJagan Teki compatible = "allwinner,sun50i-a64-de2-mixer-1"; 273e85f28e0SJagan Teki reg = <0x200000 0x100000>; 274e85f28e0SJagan Teki clocks = <&display_clocks CLK_BUS_MIXER1>, 275e85f28e0SJagan Teki <&display_clocks CLK_MIXER1>; 276e85f28e0SJagan Teki clock-names = "bus", 277e85f28e0SJagan Teki "mod"; 278e85f28e0SJagan Teki resets = <&display_clocks RST_MIXER1>; 279e85f28e0SJagan Teki 280e85f28e0SJagan Teki ports { 281e85f28e0SJagan Teki #address-cells = <1>; 282e85f28e0SJagan Teki #size-cells = <0>; 283e85f28e0SJagan Teki 284e85f28e0SJagan Teki mixer1_out: port@1 { 285d41a43a0SMaxime Ripard #address-cells = <1>; 286d41a43a0SMaxime Ripard #size-cells = <0>; 287e85f28e0SJagan Teki reg = <1>; 288e85f28e0SJagan Teki 289a7f7047fSMaxime Ripard mixer1_out_tcon0: endpoint@0 { 290a7f7047fSMaxime Ripard reg = <0>; 291a7f7047fSMaxime Ripard remote-endpoint = <&tcon0_in_mixer1>; 292a7f7047fSMaxime Ripard }; 293a7f7047fSMaxime Ripard 294a7f7047fSMaxime Ripard mixer1_out_tcon1: endpoint@1 { 295a7f7047fSMaxime Ripard reg = <1>; 296e85f28e0SJagan Teki remote-endpoint = <&tcon1_in_mixer1>; 297e85f28e0SJagan Teki }; 298e85f28e0SJagan Teki }; 299e85f28e0SJagan Teki }; 300e85f28e0SJagan Teki }; 3012c796fc8SIcenowy Zheng }; 3022c796fc8SIcenowy Zheng 30379b95360SCorentin Labbe syscon: syscon@1c00000 { 3041f1f5183SIcenowy Zheng compatible = "allwinner,sun50i-a64-system-control"; 30579b95360SCorentin Labbe reg = <0x01c00000 0x1000>; 3061f1f5183SIcenowy Zheng #address-cells = <1>; 3071f1f5183SIcenowy Zheng #size-cells = <1>; 3081f1f5183SIcenowy Zheng ranges; 3091f1f5183SIcenowy Zheng 3101f1f5183SIcenowy Zheng sram_c: sram@18000 { 3111f1f5183SIcenowy Zheng compatible = "mmio-sram"; 3121f1f5183SIcenowy Zheng reg = <0x00018000 0x28000>; 3131f1f5183SIcenowy Zheng #address-cells = <1>; 3141f1f5183SIcenowy Zheng #size-cells = <1>; 3151f1f5183SIcenowy Zheng ranges = <0 0x00018000 0x28000>; 3161f1f5183SIcenowy Zheng 3171f1f5183SIcenowy Zheng de2_sram: sram-section@0 { 3181f1f5183SIcenowy Zheng compatible = "allwinner,sun50i-a64-sram-c"; 3191f1f5183SIcenowy Zheng reg = <0x0000 0x28000>; 3201f1f5183SIcenowy Zheng }; 3211f1f5183SIcenowy Zheng }; 322106deea8SPaul Kocialkowski 323106deea8SPaul Kocialkowski sram_c1: sram@1d00000 { 324106deea8SPaul Kocialkowski compatible = "mmio-sram"; 325106deea8SPaul Kocialkowski reg = <0x01d00000 0x40000>; 326106deea8SPaul Kocialkowski #address-cells = <1>; 327106deea8SPaul Kocialkowski #size-cells = <1>; 328106deea8SPaul Kocialkowski ranges = <0 0x01d00000 0x40000>; 329106deea8SPaul Kocialkowski 330106deea8SPaul Kocialkowski ve_sram: sram-section@0 { 331106deea8SPaul Kocialkowski compatible = "allwinner,sun50i-a64-sram-c1", 332106deea8SPaul Kocialkowski "allwinner,sun4i-a10-sram-c1"; 333106deea8SPaul Kocialkowski reg = <0x000000 0x40000>; 334106deea8SPaul Kocialkowski }; 335106deea8SPaul Kocialkowski }; 33679b95360SCorentin Labbe }; 33779b95360SCorentin Labbe 338c32637e0SStefan Brüns dma: dma-controller@1c02000 { 339c32637e0SStefan Brüns compatible = "allwinner,sun50i-a64-dma"; 340c32637e0SStefan Brüns reg = <0x01c02000 0x1000>; 341c32637e0SStefan Brüns interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>; 342c32637e0SStefan Brüns clocks = <&ccu CLK_BUS_DMA>; 343c32637e0SStefan Brüns dma-channels = <8>; 344c32637e0SStefan Brüns dma-requests = <27>; 345c32637e0SStefan Brüns resets = <&ccu RST_BUS_DMA>; 346c32637e0SStefan Brüns #dma-cells = <1>; 347c32637e0SStefan Brüns }; 348c32637e0SStefan Brüns 349e85f28e0SJagan Teki tcon0: lcd-controller@1c0c000 { 350e85f28e0SJagan Teki compatible = "allwinner,sun50i-a64-tcon-lcd", 351e85f28e0SJagan Teki "allwinner,sun8i-a83t-tcon-lcd"; 352e85f28e0SJagan Teki reg = <0x01c0c000 0x1000>; 353e85f28e0SJagan Teki interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; 354e85f28e0SJagan Teki clocks = <&ccu CLK_BUS_TCON0>, <&ccu CLK_TCON0>; 355e85f28e0SJagan Teki clock-names = "ahb", "tcon-ch0"; 356e85f28e0SJagan Teki clock-output-names = "tcon-pixel-clock"; 35726c609d5SMaxime Ripard #clock-cells = <0>; 358e85f28e0SJagan Teki resets = <&ccu RST_BUS_TCON0>, <&ccu RST_BUS_LVDS>; 359e85f28e0SJagan Teki reset-names = "lcd", "lvds"; 360e85f28e0SJagan Teki 361e85f28e0SJagan Teki ports { 362e85f28e0SJagan Teki #address-cells = <1>; 363e85f28e0SJagan Teki #size-cells = <0>; 364e85f28e0SJagan Teki 365e85f28e0SJagan Teki tcon0_in: port@0 { 366e85f28e0SJagan Teki #address-cells = <1>; 367e85f28e0SJagan Teki #size-cells = <0>; 368e85f28e0SJagan Teki reg = <0>; 369e85f28e0SJagan Teki 370e85f28e0SJagan Teki tcon0_in_mixer0: endpoint@0 { 371e85f28e0SJagan Teki reg = <0>; 372e85f28e0SJagan Teki remote-endpoint = <&mixer0_out_tcon0>; 373e85f28e0SJagan Teki }; 374a7f7047fSMaxime Ripard 375a7f7047fSMaxime Ripard tcon0_in_mixer1: endpoint@1 { 376a7f7047fSMaxime Ripard reg = <1>; 377d41a43a0SMaxime Ripard remote-endpoint = <&mixer1_out_tcon0>; 378a7f7047fSMaxime Ripard }; 379e85f28e0SJagan Teki }; 380e85f28e0SJagan Teki 381e85f28e0SJagan Teki tcon0_out: port@1 { 382e85f28e0SJagan Teki #address-cells = <1>; 383e85f28e0SJagan Teki #size-cells = <0>; 384e85f28e0SJagan Teki reg = <1>; 385e85f28e0SJagan Teki }; 386e85f28e0SJagan Teki }; 387e85f28e0SJagan Teki }; 388e85f28e0SJagan Teki 389e85f28e0SJagan Teki tcon1: lcd-controller@1c0d000 { 390e85f28e0SJagan Teki compatible = "allwinner,sun50i-a64-tcon-tv", 391e85f28e0SJagan Teki "allwinner,sun8i-a83t-tcon-tv"; 392e85f28e0SJagan Teki reg = <0x01c0d000 0x1000>; 393e85f28e0SJagan Teki interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>; 394e85f28e0SJagan Teki clocks = <&ccu CLK_BUS_TCON1>, <&ccu CLK_TCON1>; 395e85f28e0SJagan Teki clock-names = "ahb", "tcon-ch1"; 396e85f28e0SJagan Teki resets = <&ccu RST_BUS_TCON1>; 397e85f28e0SJagan Teki reset-names = "lcd"; 398e85f28e0SJagan Teki 399e85f28e0SJagan Teki ports { 400e85f28e0SJagan Teki #address-cells = <1>; 401e85f28e0SJagan Teki #size-cells = <0>; 402e85f28e0SJagan Teki 403e85f28e0SJagan Teki tcon1_in: port@0 { 404a7f7047fSMaxime Ripard #address-cells = <1>; 405a7f7047fSMaxime Ripard #size-cells = <0>; 406e85f28e0SJagan Teki reg = <0>; 407e85f28e0SJagan Teki 408a7f7047fSMaxime Ripard tcon1_in_mixer0: endpoint@0 { 409a7f7047fSMaxime Ripard reg = <0>; 410a7f7047fSMaxime Ripard remote-endpoint = <&mixer0_out_tcon1>; 411a7f7047fSMaxime Ripard }; 412a7f7047fSMaxime Ripard 413a7f7047fSMaxime Ripard tcon1_in_mixer1: endpoint@1 { 414a7f7047fSMaxime Ripard reg = <1>; 415e85f28e0SJagan Teki remote-endpoint = <&mixer1_out_tcon1>; 416e85f28e0SJagan Teki }; 417e85f28e0SJagan Teki }; 418e85f28e0SJagan Teki 419e85f28e0SJagan Teki tcon1_out: port@1 { 420e85f28e0SJagan Teki #address-cells = <1>; 421e85f28e0SJagan Teki #size-cells = <0>; 422e85f28e0SJagan Teki reg = <1>; 423e85f28e0SJagan Teki 424e85f28e0SJagan Teki tcon1_out_hdmi: endpoint@1 { 425e85f28e0SJagan Teki reg = <1>; 426e85f28e0SJagan Teki remote-endpoint = <&hdmi_in_tcon1>; 427e85f28e0SJagan Teki }; 428e85f28e0SJagan Teki }; 429e85f28e0SJagan Teki }; 430e85f28e0SJagan Teki }; 431e85f28e0SJagan Teki 432d60ce247SPaul Kocialkowski video-codec@1c0e000 { 4334ab88516SPaul Kocialkowski compatible = "allwinner,sun50i-a64-video-engine"; 434d60ce247SPaul Kocialkowski reg = <0x01c0e000 0x1000>; 435d60ce247SPaul Kocialkowski clocks = <&ccu CLK_BUS_VE>, <&ccu CLK_VE>, 436d60ce247SPaul Kocialkowski <&ccu CLK_DRAM_VE>; 437d60ce247SPaul Kocialkowski clock-names = "ahb", "mod", "ram"; 438d60ce247SPaul Kocialkowski resets = <&ccu RST_BUS_VE>; 439d60ce247SPaul Kocialkowski interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>; 440d60ce247SPaul Kocialkowski allwinner,sram = <&ve_sram 1>; 441d60ce247SPaul Kocialkowski }; 442d60ce247SPaul Kocialkowski 443f3dff347SAndre Przywara mmc0: mmc@1c0f000 { 444f3dff347SAndre Przywara compatible = "allwinner,sun50i-a64-mmc"; 445f3dff347SAndre Przywara reg = <0x01c0f000 0x1000>; 446f3dff347SAndre Przywara clocks = <&ccu CLK_BUS_MMC0>, <&ccu CLK_MMC0>; 447f3dff347SAndre Przywara clock-names = "ahb", "mmc"; 448f3dff347SAndre Przywara resets = <&ccu RST_BUS_MMC0>; 449f3dff347SAndre Przywara reset-names = "ahb"; 450f3dff347SAndre Przywara interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>; 45122be992fSMaxime Ripard max-frequency = <150000000>; 452f3dff347SAndre Przywara status = "disabled"; 453f3dff347SAndre Przywara #address-cells = <1>; 454f3dff347SAndre Przywara #size-cells = <0>; 455f3dff347SAndre Przywara }; 456f3dff347SAndre Przywara 457f3dff347SAndre Przywara mmc1: mmc@1c10000 { 458f3dff347SAndre Przywara compatible = "allwinner,sun50i-a64-mmc"; 459f3dff347SAndre Przywara reg = <0x01c10000 0x1000>; 460f3dff347SAndre Przywara clocks = <&ccu CLK_BUS_MMC1>, <&ccu CLK_MMC1>; 461f3dff347SAndre Przywara clock-names = "ahb", "mmc"; 462f3dff347SAndre Przywara resets = <&ccu RST_BUS_MMC1>; 463f3dff347SAndre Przywara reset-names = "ahb"; 464f3dff347SAndre Przywara interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; 46522be992fSMaxime Ripard max-frequency = <150000000>; 466f3dff347SAndre Przywara status = "disabled"; 467f3dff347SAndre Przywara #address-cells = <1>; 468f3dff347SAndre Przywara #size-cells = <0>; 469f3dff347SAndre Przywara }; 470f3dff347SAndre Przywara 471f3dff347SAndre Przywara mmc2: mmc@1c11000 { 472f3dff347SAndre Przywara compatible = "allwinner,sun50i-a64-emmc"; 473f3dff347SAndre Przywara reg = <0x01c11000 0x1000>; 474f3dff347SAndre Przywara clocks = <&ccu CLK_BUS_MMC2>, <&ccu CLK_MMC2>; 475f3dff347SAndre Przywara clock-names = "ahb", "mmc"; 476f3dff347SAndre Przywara resets = <&ccu RST_BUS_MMC2>; 477f3dff347SAndre Przywara reset-names = "ahb"; 478f3dff347SAndre Przywara interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>; 47922be992fSMaxime Ripard max-frequency = <200000000>; 480f3dff347SAndre Przywara status = "disabled"; 481f3dff347SAndre Przywara #address-cells = <1>; 482f3dff347SAndre Przywara #size-cells = <0>; 483f3dff347SAndre Przywara }; 484f3dff347SAndre Przywara 485ac947b17SEmmanuel Vadot sid: eeprom@1c14000 { 486ac947b17SEmmanuel Vadot compatible = "allwinner,sun50i-a64-sid"; 487ac947b17SEmmanuel Vadot reg = <0x1c14000 0x400>; 488ac947b17SEmmanuel Vadot }; 489ac947b17SEmmanuel Vadot 490d6c9da12SCorentin LABBE usb_otg: usb@1c19000 { 491972a3ecdSIcenowy Zheng compatible = "allwinner,sun8i-a33-musb"; 492972a3ecdSIcenowy Zheng reg = <0x01c19000 0x0400>; 493972a3ecdSIcenowy Zheng clocks = <&ccu CLK_BUS_OTG>; 494972a3ecdSIcenowy Zheng resets = <&ccu RST_BUS_OTG>; 495972a3ecdSIcenowy Zheng interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>; 496972a3ecdSIcenowy Zheng interrupt-names = "mc"; 497972a3ecdSIcenowy Zheng phys = <&usbphy 0>; 498972a3ecdSIcenowy Zheng phy-names = "usb"; 499972a3ecdSIcenowy Zheng extcon = <&usbphy 0>; 5000973c06bSMaxime Ripard dr_mode = "otg"; 501972a3ecdSIcenowy Zheng status = "disabled"; 502972a3ecdSIcenowy Zheng }; 503972a3ecdSIcenowy Zheng 504d6c9da12SCorentin LABBE usbphy: phy@1c19400 { 505a004ee35SIcenowy Zheng compatible = "allwinner,sun50i-a64-usb-phy"; 506a004ee35SIcenowy Zheng reg = <0x01c19400 0x14>, 5070d984797SIcenowy Zheng <0x01c1a800 0x4>, 508a004ee35SIcenowy Zheng <0x01c1b800 0x4>; 509a004ee35SIcenowy Zheng reg-names = "phy_ctrl", 5100d984797SIcenowy Zheng "pmu0", 511a004ee35SIcenowy Zheng "pmu1"; 512a004ee35SIcenowy Zheng clocks = <&ccu CLK_USB_PHY0>, 513a004ee35SIcenowy Zheng <&ccu CLK_USB_PHY1>; 514a004ee35SIcenowy Zheng clock-names = "usb0_phy", 515a004ee35SIcenowy Zheng "usb1_phy"; 516a004ee35SIcenowy Zheng resets = <&ccu RST_USB_PHY0>, 517a004ee35SIcenowy Zheng <&ccu RST_USB_PHY1>; 518a004ee35SIcenowy Zheng reset-names = "usb0_reset", 519a004ee35SIcenowy Zheng "usb1_reset"; 520a004ee35SIcenowy Zheng status = "disabled"; 521a004ee35SIcenowy Zheng #phy-cells = <1>; 522a004ee35SIcenowy Zheng }; 523a004ee35SIcenowy Zheng 524d6c9da12SCorentin LABBE ehci0: usb@1c1a000 { 525dc03a047SIcenowy Zheng compatible = "allwinner,sun50i-a64-ehci", "generic-ehci"; 526dc03a047SIcenowy Zheng reg = <0x01c1a000 0x100>; 527dc03a047SIcenowy Zheng interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>; 528dc03a047SIcenowy Zheng clocks = <&ccu CLK_BUS_OHCI0>, 529dc03a047SIcenowy Zheng <&ccu CLK_BUS_EHCI0>, 530dc03a047SIcenowy Zheng <&ccu CLK_USB_OHCI0>; 531dc03a047SIcenowy Zheng resets = <&ccu RST_BUS_OHCI0>, 532dc03a047SIcenowy Zheng <&ccu RST_BUS_EHCI0>; 533dc03a047SIcenowy Zheng status = "disabled"; 534dc03a047SIcenowy Zheng }; 535dc03a047SIcenowy Zheng 536d6c9da12SCorentin LABBE ohci0: usb@1c1a400 { 537dc03a047SIcenowy Zheng compatible = "allwinner,sun50i-a64-ohci", "generic-ohci"; 538dc03a047SIcenowy Zheng reg = <0x01c1a400 0x100>; 539dc03a047SIcenowy Zheng interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>; 540dc03a047SIcenowy Zheng clocks = <&ccu CLK_BUS_OHCI0>, 541dc03a047SIcenowy Zheng <&ccu CLK_USB_OHCI0>; 542dc03a047SIcenowy Zheng resets = <&ccu RST_BUS_OHCI0>; 543dc03a047SIcenowy Zheng status = "disabled"; 544dc03a047SIcenowy Zheng }; 545dc03a047SIcenowy Zheng 546d6c9da12SCorentin LABBE ehci1: usb@1c1b000 { 547a004ee35SIcenowy Zheng compatible = "allwinner,sun50i-a64-ehci", "generic-ehci"; 548a004ee35SIcenowy Zheng reg = <0x01c1b000 0x100>; 549a004ee35SIcenowy Zheng interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>; 550a004ee35SIcenowy Zheng clocks = <&ccu CLK_BUS_OHCI1>, 551a004ee35SIcenowy Zheng <&ccu CLK_BUS_EHCI1>, 552a004ee35SIcenowy Zheng <&ccu CLK_USB_OHCI1>; 553a004ee35SIcenowy Zheng resets = <&ccu RST_BUS_OHCI1>, 554a004ee35SIcenowy Zheng <&ccu RST_BUS_EHCI1>; 555a004ee35SIcenowy Zheng phys = <&usbphy 1>; 556a004ee35SIcenowy Zheng status = "disabled"; 557a004ee35SIcenowy Zheng }; 558a004ee35SIcenowy Zheng 559d6c9da12SCorentin LABBE ohci1: usb@1c1b400 { 560a004ee35SIcenowy Zheng compatible = "allwinner,sun50i-a64-ohci", "generic-ohci"; 561a004ee35SIcenowy Zheng reg = <0x01c1b400 0x100>; 562a004ee35SIcenowy Zheng interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>; 563a004ee35SIcenowy Zheng clocks = <&ccu CLK_BUS_OHCI1>, 564a004ee35SIcenowy Zheng <&ccu CLK_USB_OHCI1>; 565a004ee35SIcenowy Zheng resets = <&ccu RST_BUS_OHCI1>; 566a004ee35SIcenowy Zheng phys = <&usbphy 1>; 567a004ee35SIcenowy Zheng status = "disabled"; 568a004ee35SIcenowy Zheng }; 569a004ee35SIcenowy Zheng 570d6c9da12SCorentin LABBE ccu: clock@1c20000 { 5716bc37facSAndre Przywara compatible = "allwinner,sun50i-a64-ccu"; 5726bc37facSAndre Przywara reg = <0x01c20000 0x400>; 57344ff3cafSChen-Yu Tsai clocks = <&osc24M>, <&rtc 0>; 5746bc37facSAndre Przywara clock-names = "hosc", "losc"; 5756bc37facSAndre Przywara #clock-cells = <1>; 5766bc37facSAndre Przywara #reset-cells = <1>; 5776bc37facSAndre Przywara }; 5786bc37facSAndre Przywara 5796bc37facSAndre Przywara pio: pinctrl@1c20800 { 5806bc37facSAndre Przywara compatible = "allwinner,sun50i-a64-pinctrl"; 5816bc37facSAndre Przywara reg = <0x01c20800 0x400>; 5826bc37facSAndre Przywara interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, 5836bc37facSAndre Przywara <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>, 5846bc37facSAndre Przywara <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>; 585562bf196SMaxime Ripard clocks = <&ccu 58>, <&osc24M>, <&rtc 0>; 586562bf196SMaxime Ripard clock-names = "apb", "hosc", "losc"; 5876bc37facSAndre Przywara gpio-controller; 5886bc37facSAndre Przywara #gpio-cells = <3>; 5896bc37facSAndre Przywara interrupt-controller; 5906bc37facSAndre Przywara #interrupt-cells = <3>; 5916bc37facSAndre Przywara 592ff29f13eSJagan Teki csi_pins: csi-pins { 593ff29f13eSJagan Teki pins = "PE0", "PE2", "PE3", "PE4", "PE5", "PE6", 594ff29f13eSJagan Teki "PE7", "PE8", "PE9", "PE10", "PE11"; 595ff29f13eSJagan Teki function = "csi"; 596ff29f13eSJagan Teki }; 597ff29f13eSJagan Teki 598f7056b28SJagan Teki /omit-if-no-ref/ 599f7056b28SJagan Teki csi_mclk_pin: csi-mclk-pin { 600f7056b28SJagan Teki pins = "PE1"; 601f7056b28SJagan Teki function = "csi"; 602f7056b28SJagan Teki }; 603f7056b28SJagan Teki 60454eac67bSMaxime Ripard i2c0_pins: i2c0-pins { 60511239fe6SHarald Geyer pins = "PH0", "PH1"; 60611239fe6SHarald Geyer function = "i2c0"; 60711239fe6SHarald Geyer }; 60811239fe6SHarald Geyer 60954eac67bSMaxime Ripard i2c1_pins: i2c1-pins { 6106bc37facSAndre Przywara pins = "PH2", "PH3"; 6116bc37facSAndre Przywara function = "i2c1"; 6126bc37facSAndre Przywara }; 6136bc37facSAndre Przywara 614c478a12eSIcenowy Zheng /omit-if-no-ref/ 615c478a12eSIcenowy Zheng lcd_rgb666_pins: lcd-rgb666-pins { 616c478a12eSIcenowy Zheng pins = "PD0", "PD1", "PD2", "PD3", "PD4", 617c478a12eSIcenowy Zheng "PD5", "PD6", "PD7", "PD8", "PD9", 618c478a12eSIcenowy Zheng "PD10", "PD11", "PD12", "PD13", 619c478a12eSIcenowy Zheng "PD14", "PD15", "PD16", "PD17", 620c478a12eSIcenowy Zheng "PD18", "PD19", "PD20", "PD21"; 621c478a12eSIcenowy Zheng function = "lcd0"; 622c478a12eSIcenowy Zheng }; 623c478a12eSIcenowy Zheng 624a3e8f492SMaxime Ripard mmc0_pins: mmc0-pins { 625a3e8f492SMaxime Ripard pins = "PF0", "PF1", "PF2", "PF3", 626a3e8f492SMaxime Ripard "PF4", "PF5"; 627a3e8f492SMaxime Ripard function = "mmc0"; 628a3e8f492SMaxime Ripard drive-strength = <30>; 629a3e8f492SMaxime Ripard bias-pull-up; 630a3e8f492SMaxime Ripard }; 631a3e8f492SMaxime Ripard 632a3e8f492SMaxime Ripard mmc1_pins: mmc1-pins { 633a3e8f492SMaxime Ripard pins = "PG0", "PG1", "PG2", "PG3", 634a3e8f492SMaxime Ripard "PG4", "PG5"; 635a3e8f492SMaxime Ripard function = "mmc1"; 636a3e8f492SMaxime Ripard drive-strength = <30>; 637a3e8f492SMaxime Ripard bias-pull-up; 638a3e8f492SMaxime Ripard }; 639a3e8f492SMaxime Ripard 640a3e8f492SMaxime Ripard mmc2_pins: mmc2-pins { 641fa59dd2eSChen-Yu Tsai pins = "PC5", "PC6", "PC8", "PC9", 642a3e8f492SMaxime Ripard "PC10","PC11", "PC12", "PC13", 643a3e8f492SMaxime Ripard "PC14", "PC15", "PC16"; 644a3e8f492SMaxime Ripard function = "mmc2"; 645a3e8f492SMaxime Ripard drive-strength = <30>; 646a3e8f492SMaxime Ripard bias-pull-up; 647a3e8f492SMaxime Ripard }; 648a3e8f492SMaxime Ripard 649fa59dd2eSChen-Yu Tsai mmc2_ds_pin: mmc2-ds-pin { 650fa59dd2eSChen-Yu Tsai pins = "PC1"; 651fa59dd2eSChen-Yu Tsai function = "mmc2"; 652fa59dd2eSChen-Yu Tsai drive-strength = <30>; 653fa59dd2eSChen-Yu Tsai bias-pull-up; 654fa59dd2eSChen-Yu Tsai }; 655fa59dd2eSChen-Yu Tsai 65654eac67bSMaxime Ripard pwm_pin: pwm-pin { 657b5df280bSAndre Przywara pins = "PD22"; 658b5df280bSAndre Przywara function = "pwm"; 659b5df280bSAndre Przywara }; 660b5df280bSAndre Przywara 66154eac67bSMaxime Ripard rmii_pins: rmii-pins { 662e53f67e9SCorentin Labbe pins = "PD10", "PD11", "PD13", "PD14", "PD17", 663e53f67e9SCorentin Labbe "PD18", "PD19", "PD20", "PD22", "PD23"; 664e53f67e9SCorentin Labbe function = "emac"; 665e53f67e9SCorentin Labbe drive-strength = <40>; 666e53f67e9SCorentin Labbe }; 667e53f67e9SCorentin Labbe 66854eac67bSMaxime Ripard rgmii_pins: rgmii-pins { 669e53f67e9SCorentin Labbe pins = "PD8", "PD9", "PD10", "PD11", "PD12", 670e53f67e9SCorentin Labbe "PD13", "PD15", "PD16", "PD17", "PD18", 671e53f67e9SCorentin Labbe "PD19", "PD20", "PD21", "PD22", "PD23"; 672e53f67e9SCorentin Labbe function = "emac"; 673e53f67e9SCorentin Labbe drive-strength = <40>; 674e53f67e9SCorentin Labbe }; 675e53f67e9SCorentin Labbe 67654eac67bSMaxime Ripard spdif_tx_pin: spdif-tx-pin { 677b399d2acSMarcus Cooper pins = "PH8"; 678b399d2acSMarcus Cooper function = "spdif"; 679b399d2acSMarcus Cooper }; 680b399d2acSMarcus Cooper 68154eac67bSMaxime Ripard spi0_pins: spi0-pins { 682b518bb15SStefan Brüns pins = "PC0", "PC1", "PC2", "PC3"; 683b518bb15SStefan Brüns function = "spi0"; 684b518bb15SStefan Brüns }; 685b518bb15SStefan Brüns 68654eac67bSMaxime Ripard spi1_pins: spi1-pins { 687b518bb15SStefan Brüns pins = "PD0", "PD1", "PD2", "PD3"; 688b518bb15SStefan Brüns function = "spi1"; 689b518bb15SStefan Brüns }; 690b518bb15SStefan Brüns 691d91ebb95SChen-Yu Tsai uart0_pb_pins: uart0-pb-pins { 6926bc37facSAndre Przywara pins = "PB8", "PB9"; 6936bc37facSAndre Przywara function = "uart0"; 6946bc37facSAndre Przywara }; 695e7ba733dSAndre Przywara 69654eac67bSMaxime Ripard uart1_pins: uart1-pins { 697e7ba733dSAndre Przywara pins = "PG6", "PG7"; 698e7ba733dSAndre Przywara function = "uart1"; 699e7ba733dSAndre Przywara }; 700e7ba733dSAndre Przywara 70154eac67bSMaxime Ripard uart1_rts_cts_pins: uart1-rts-cts-pins { 702e7ba733dSAndre Przywara pins = "PG8", "PG9"; 703e7ba733dSAndre Przywara function = "uart1"; 704e7ba733dSAndre Przywara }; 70579825719SAndreas Färber 70679825719SAndreas Färber uart2_pins: uart2-pins { 70779825719SAndreas Färber pins = "PB0", "PB1"; 70879825719SAndreas Färber function = "uart2"; 70979825719SAndreas Färber }; 7102273aa16SAndreas Färber 7112273aa16SAndreas Färber uart3_pins: uart3-pins { 7122273aa16SAndreas Färber pins = "PD0", "PD1"; 7132273aa16SAndreas Färber function = "uart3"; 7142273aa16SAndreas Färber }; 7152273aa16SAndreas Färber 7162273aa16SAndreas Färber uart4_pins: uart4-pins { 7172273aa16SAndreas Färber pins = "PD2", "PD3"; 7182273aa16SAndreas Färber function = "uart4"; 7192273aa16SAndreas Färber }; 7202273aa16SAndreas Färber 7212273aa16SAndreas Färber uart4_rts_cts_pins: uart4-rts-cts-pins { 7222273aa16SAndreas Färber pins = "PD4", "PD5"; 7232273aa16SAndreas Färber function = "uart4"; 7242273aa16SAndreas Färber }; 7256bc37facSAndre Przywara }; 7266bc37facSAndre Przywara 727b399d2acSMarcus Cooper spdif: spdif@1c21000 { 728b399d2acSMarcus Cooper #sound-dai-cells = <0>; 729b399d2acSMarcus Cooper compatible = "allwinner,sun50i-a64-spdif", 730b399d2acSMarcus Cooper "allwinner,sun8i-h3-spdif"; 731b399d2acSMarcus Cooper reg = <0x01c21000 0x400>; 732b399d2acSMarcus Cooper interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 733b399d2acSMarcus Cooper clocks = <&ccu CLK_BUS_SPDIF>, <&ccu CLK_SPDIF>; 734b399d2acSMarcus Cooper resets = <&ccu RST_BUS_SPDIF>; 735b399d2acSMarcus Cooper clock-names = "apb", "spdif"; 736b399d2acSMarcus Cooper dmas = <&dma 2>; 737b399d2acSMarcus Cooper dma-names = "tx"; 738b399d2acSMarcus Cooper pinctrl-names = "default"; 739b399d2acSMarcus Cooper pinctrl-0 = <&spdif_tx_pin>; 740b399d2acSMarcus Cooper status = "disabled"; 741b399d2acSMarcus Cooper }; 742b399d2acSMarcus Cooper 743*84204fb6SLuca Weiss lradc: lradc@1c21800 { 744*84204fb6SLuca Weiss compatible = "allwinner,sun50i-a64-lradc", 745*84204fb6SLuca Weiss "allwinner,sun8i-a83t-r-lradc"; 746*84204fb6SLuca Weiss reg = <0x01c21800 0x400>; 747*84204fb6SLuca Weiss interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 748*84204fb6SLuca Weiss status = "disabled"; 749*84204fb6SLuca Weiss }; 750*84204fb6SLuca Weiss 7511c92c009SMarcus Cooper i2s0: i2s@1c22000 { 7521c92c009SMarcus Cooper #sound-dai-cells = <0>; 7531c92c009SMarcus Cooper compatible = "allwinner,sun50i-a64-i2s", 7541c92c009SMarcus Cooper "allwinner,sun8i-h3-i2s"; 7551c92c009SMarcus Cooper reg = <0x01c22000 0x400>; 7561c92c009SMarcus Cooper interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 7571c92c009SMarcus Cooper clocks = <&ccu CLK_BUS_I2S0>, <&ccu CLK_I2S0>; 7581c92c009SMarcus Cooper clock-names = "apb", "mod"; 7591c92c009SMarcus Cooper resets = <&ccu RST_BUS_I2S0>; 7601c92c009SMarcus Cooper dma-names = "rx", "tx"; 7611c92c009SMarcus Cooper dmas = <&dma 3>, <&dma 3>; 7621c92c009SMarcus Cooper status = "disabled"; 7631c92c009SMarcus Cooper }; 7641c92c009SMarcus Cooper 7651c92c009SMarcus Cooper i2s1: i2s@1c22400 { 7661c92c009SMarcus Cooper #sound-dai-cells = <0>; 7671c92c009SMarcus Cooper compatible = "allwinner,sun50i-a64-i2s", 7681c92c009SMarcus Cooper "allwinner,sun8i-h3-i2s"; 7691c92c009SMarcus Cooper reg = <0x01c22400 0x400>; 7701c92c009SMarcus Cooper interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 7711c92c009SMarcus Cooper clocks = <&ccu CLK_BUS_I2S1>, <&ccu CLK_I2S1>; 7721c92c009SMarcus Cooper clock-names = "apb", "mod"; 7731c92c009SMarcus Cooper resets = <&ccu RST_BUS_I2S1>; 7741c92c009SMarcus Cooper dma-names = "rx", "tx"; 7751c92c009SMarcus Cooper dmas = <&dma 4>, <&dma 4>; 7761c92c009SMarcus Cooper status = "disabled"; 7771c92c009SMarcus Cooper }; 7781c92c009SMarcus Cooper 779ec4a9540SVasily Khoruzhick dai: dai@1c22c00 { 780ec4a9540SVasily Khoruzhick #sound-dai-cells = <0>; 781ec4a9540SVasily Khoruzhick compatible = "allwinner,sun50i-a64-codec-i2s"; 782ec4a9540SVasily Khoruzhick reg = <0x01c22c00 0x200>; 783ec4a9540SVasily Khoruzhick interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 784ec4a9540SVasily Khoruzhick clocks = <&ccu CLK_BUS_CODEC>, <&ccu CLK_AC_DIG>; 785ec4a9540SVasily Khoruzhick clock-names = "apb", "mod"; 786ec4a9540SVasily Khoruzhick resets = <&ccu RST_BUS_CODEC>; 787ec4a9540SVasily Khoruzhick dmas = <&dma 15>, <&dma 15>; 788ec4a9540SVasily Khoruzhick dma-names = "rx", "tx"; 789ec4a9540SVasily Khoruzhick status = "disabled"; 790ec4a9540SVasily Khoruzhick }; 791ec4a9540SVasily Khoruzhick 792ec4a9540SVasily Khoruzhick codec: codec@1c22e00 { 793ec4a9540SVasily Khoruzhick #sound-dai-cells = <0>; 794ec4a9540SVasily Khoruzhick compatible = "allwinner,sun8i-a33-codec"; 795ec4a9540SVasily Khoruzhick reg = <0x01c22e00 0x600>; 796ec4a9540SVasily Khoruzhick interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; 797ec4a9540SVasily Khoruzhick clocks = <&ccu CLK_BUS_CODEC>, <&ccu CLK_AC_DIG>; 798ec4a9540SVasily Khoruzhick clock-names = "bus", "mod"; 799ec4a9540SVasily Khoruzhick status = "disabled"; 800ec4a9540SVasily Khoruzhick }; 801ec4a9540SVasily Khoruzhick 8026bc37facSAndre Przywara uart0: serial@1c28000 { 8036bc37facSAndre Przywara compatible = "snps,dw-apb-uart"; 8046bc37facSAndre Przywara reg = <0x01c28000 0x400>; 8056bc37facSAndre Przywara interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>; 8066bc37facSAndre Przywara reg-shift = <2>; 8076bc37facSAndre Przywara reg-io-width = <4>; 808494d8a2cSChen-Yu Tsai clocks = <&ccu CLK_BUS_UART0>; 809494d8a2cSChen-Yu Tsai resets = <&ccu RST_BUS_UART0>; 8106bc37facSAndre Przywara status = "disabled"; 8116bc37facSAndre Przywara }; 8126bc37facSAndre Przywara 8136bc37facSAndre Przywara uart1: serial@1c28400 { 8146bc37facSAndre Przywara compatible = "snps,dw-apb-uart"; 8156bc37facSAndre Przywara reg = <0x01c28400 0x400>; 8166bc37facSAndre Przywara interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>; 8176bc37facSAndre Przywara reg-shift = <2>; 8186bc37facSAndre Przywara reg-io-width = <4>; 819494d8a2cSChen-Yu Tsai clocks = <&ccu CLK_BUS_UART1>; 820494d8a2cSChen-Yu Tsai resets = <&ccu RST_BUS_UART1>; 8216bc37facSAndre Przywara status = "disabled"; 8226bc37facSAndre Przywara }; 8236bc37facSAndre Przywara 8246bc37facSAndre Przywara uart2: serial@1c28800 { 8256bc37facSAndre Przywara compatible = "snps,dw-apb-uart"; 8266bc37facSAndre Przywara reg = <0x01c28800 0x400>; 8276bc37facSAndre Przywara interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 8286bc37facSAndre Przywara reg-shift = <2>; 8296bc37facSAndre Przywara reg-io-width = <4>; 830494d8a2cSChen-Yu Tsai clocks = <&ccu CLK_BUS_UART2>; 831494d8a2cSChen-Yu Tsai resets = <&ccu RST_BUS_UART2>; 8326bc37facSAndre Przywara status = "disabled"; 8336bc37facSAndre Przywara }; 8346bc37facSAndre Przywara 8356bc37facSAndre Przywara uart3: serial@1c28c00 { 8366bc37facSAndre Przywara compatible = "snps,dw-apb-uart"; 8376bc37facSAndre Przywara reg = <0x01c28c00 0x400>; 8386bc37facSAndre Przywara interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 8396bc37facSAndre Przywara reg-shift = <2>; 8406bc37facSAndre Przywara reg-io-width = <4>; 841494d8a2cSChen-Yu Tsai clocks = <&ccu CLK_BUS_UART3>; 842494d8a2cSChen-Yu Tsai resets = <&ccu RST_BUS_UART3>; 8436bc37facSAndre Przywara status = "disabled"; 8446bc37facSAndre Przywara }; 8456bc37facSAndre Przywara 8466bc37facSAndre Przywara uart4: serial@1c29000 { 8476bc37facSAndre Przywara compatible = "snps,dw-apb-uart"; 8486bc37facSAndre Przywara reg = <0x01c29000 0x400>; 8496bc37facSAndre Przywara interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 8506bc37facSAndre Przywara reg-shift = <2>; 8516bc37facSAndre Przywara reg-io-width = <4>; 852494d8a2cSChen-Yu Tsai clocks = <&ccu CLK_BUS_UART4>; 853494d8a2cSChen-Yu Tsai resets = <&ccu RST_BUS_UART4>; 8546bc37facSAndre Przywara status = "disabled"; 8556bc37facSAndre Przywara }; 8566bc37facSAndre Przywara 8576bc37facSAndre Przywara i2c0: i2c@1c2ac00 { 8586bc37facSAndre Przywara compatible = "allwinner,sun6i-a31-i2c"; 8596bc37facSAndre Przywara reg = <0x01c2ac00 0x400>; 8606bc37facSAndre Przywara interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 861494d8a2cSChen-Yu Tsai clocks = <&ccu CLK_BUS_I2C0>; 862494d8a2cSChen-Yu Tsai resets = <&ccu RST_BUS_I2C0>; 86370f76289SJagan Teki pinctrl-names = "default"; 86470f76289SJagan Teki pinctrl-0 = <&i2c0_pins>; 8656bc37facSAndre Przywara status = "disabled"; 8666bc37facSAndre Przywara #address-cells = <1>; 8676bc37facSAndre Przywara #size-cells = <0>; 8686bc37facSAndre Przywara }; 8696bc37facSAndre Przywara 8706bc37facSAndre Przywara i2c1: i2c@1c2b000 { 8716bc37facSAndre Przywara compatible = "allwinner,sun6i-a31-i2c"; 8726bc37facSAndre Przywara reg = <0x01c2b000 0x400>; 8736bc37facSAndre Przywara interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 874494d8a2cSChen-Yu Tsai clocks = <&ccu CLK_BUS_I2C1>; 875494d8a2cSChen-Yu Tsai resets = <&ccu RST_BUS_I2C1>; 87670f76289SJagan Teki pinctrl-names = "default"; 87770f76289SJagan Teki pinctrl-0 = <&i2c1_pins>; 8786bc37facSAndre Przywara status = "disabled"; 8796bc37facSAndre Przywara #address-cells = <1>; 8806bc37facSAndre Przywara #size-cells = <0>; 8816bc37facSAndre Przywara }; 8826bc37facSAndre Przywara 8836bc37facSAndre Przywara i2c2: i2c@1c2b400 { 8846bc37facSAndre Przywara compatible = "allwinner,sun6i-a31-i2c"; 8856bc37facSAndre Przywara reg = <0x01c2b400 0x400>; 8866bc37facSAndre Przywara interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 887494d8a2cSChen-Yu Tsai clocks = <&ccu CLK_BUS_I2C2>; 888494d8a2cSChen-Yu Tsai resets = <&ccu RST_BUS_I2C2>; 8896bc37facSAndre Przywara status = "disabled"; 8906bc37facSAndre Przywara #address-cells = <1>; 8916bc37facSAndre Przywara #size-cells = <0>; 8926bc37facSAndre Przywara }; 8936bc37facSAndre Przywara 894b518bb15SStefan Brüns 895d6c9da12SCorentin LABBE spi0: spi@1c68000 { 896b518bb15SStefan Brüns compatible = "allwinner,sun8i-h3-spi"; 897b518bb15SStefan Brüns reg = <0x01c68000 0x1000>; 898b518bb15SStefan Brüns interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>; 899b518bb15SStefan Brüns clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_SPI0>; 900b518bb15SStefan Brüns clock-names = "ahb", "mod"; 90106c1258aSStefan Brüns dmas = <&dma 23>, <&dma 23>; 90206c1258aSStefan Brüns dma-names = "rx", "tx"; 903b518bb15SStefan Brüns pinctrl-names = "default"; 904b518bb15SStefan Brüns pinctrl-0 = <&spi0_pins>; 905b518bb15SStefan Brüns resets = <&ccu RST_BUS_SPI0>; 906b518bb15SStefan Brüns status = "disabled"; 907b518bb15SStefan Brüns num-cs = <1>; 908b518bb15SStefan Brüns #address-cells = <1>; 909b518bb15SStefan Brüns #size-cells = <0>; 910b518bb15SStefan Brüns }; 911b518bb15SStefan Brüns 912d6c9da12SCorentin LABBE spi1: spi@1c69000 { 913b518bb15SStefan Brüns compatible = "allwinner,sun8i-h3-spi"; 914b518bb15SStefan Brüns reg = <0x01c69000 0x1000>; 915b518bb15SStefan Brüns interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>; 916b518bb15SStefan Brüns clocks = <&ccu CLK_BUS_SPI1>, <&ccu CLK_SPI1>; 917b518bb15SStefan Brüns clock-names = "ahb", "mod"; 91806c1258aSStefan Brüns dmas = <&dma 24>, <&dma 24>; 91906c1258aSStefan Brüns dma-names = "rx", "tx"; 920b518bb15SStefan Brüns pinctrl-names = "default"; 921b518bb15SStefan Brüns pinctrl-0 = <&spi1_pins>; 922b518bb15SStefan Brüns resets = <&ccu RST_BUS_SPI1>; 923b518bb15SStefan Brüns status = "disabled"; 924b518bb15SStefan Brüns num-cs = <1>; 925b518bb15SStefan Brüns #address-cells = <1>; 926b518bb15SStefan Brüns #size-cells = <0>; 927b518bb15SStefan Brüns }; 928b518bb15SStefan Brüns 92994f44288SCorentin Labbe emac: ethernet@1c30000 { 93094f44288SCorentin Labbe compatible = "allwinner,sun50i-a64-emac"; 93194f44288SCorentin Labbe syscon = <&syscon>; 93294f44288SCorentin Labbe reg = <0x01c30000 0x10000>; 93394f44288SCorentin Labbe interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>; 93494f44288SCorentin Labbe interrupt-names = "macirq"; 93594f44288SCorentin Labbe resets = <&ccu RST_BUS_EMAC>; 93694f44288SCorentin Labbe reset-names = "stmmaceth"; 93794f44288SCorentin Labbe clocks = <&ccu CLK_BUS_EMAC>; 93894f44288SCorentin Labbe clock-names = "stmmaceth"; 93994f44288SCorentin Labbe status = "disabled"; 94094f44288SCorentin Labbe 94194f44288SCorentin Labbe mdio: mdio { 94216416084SCorentin Labbe compatible = "snps,dwmac-mdio"; 94394f44288SCorentin Labbe #address-cells = <1>; 94494f44288SCorentin Labbe #size-cells = <0>; 94594f44288SCorentin Labbe }; 94694f44288SCorentin Labbe }; 94794f44288SCorentin Labbe 9486b683d76SJagan Teki mali: gpu@1c40000 { 9496b683d76SJagan Teki compatible = "allwinner,sun50i-a64-mali", "arm,mali-400"; 9506b683d76SJagan Teki reg = <0x01c40000 0x10000>; 9516b683d76SJagan Teki interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>, 9526b683d76SJagan Teki <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>, 9536b683d76SJagan Teki <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, 9546b683d76SJagan Teki <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, 9556b683d76SJagan Teki <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, 9566b683d76SJagan Teki <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>, 9576b683d76SJagan Teki <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 9586b683d76SJagan Teki interrupt-names = "gp", 9596b683d76SJagan Teki "gpmmu", 9606b683d76SJagan Teki "pp0", 9616b683d76SJagan Teki "ppmmu0", 9626b683d76SJagan Teki "pp1", 9636b683d76SJagan Teki "ppmmu1", 9646b683d76SJagan Teki "pmu"; 9656b683d76SJagan Teki clocks = <&ccu CLK_BUS_GPU>, <&ccu CLK_GPU>; 9666b683d76SJagan Teki clock-names = "bus", "core"; 9676b683d76SJagan Teki resets = <&ccu RST_BUS_GPU>; 9686b683d76SJagan Teki }; 9696b683d76SJagan Teki 9706bc37facSAndre Przywara gic: interrupt-controller@1c81000 { 9716bc37facSAndre Przywara compatible = "arm,gic-400"; 9726bc37facSAndre Przywara reg = <0x01c81000 0x1000>, 9736bc37facSAndre Przywara <0x01c82000 0x2000>, 9746bc37facSAndre Przywara <0x01c84000 0x2000>, 9756bc37facSAndre Przywara <0x01c86000 0x2000>; 9766bc37facSAndre Przywara interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; 9776bc37facSAndre Przywara interrupt-controller; 9786bc37facSAndre Przywara #interrupt-cells = <3>; 9796bc37facSAndre Przywara }; 9806bc37facSAndre Przywara 981b5df280bSAndre Przywara pwm: pwm@1c21400 { 982b5df280bSAndre Przywara compatible = "allwinner,sun50i-a64-pwm", 983b5df280bSAndre Przywara "allwinner,sun5i-a13-pwm"; 984b5df280bSAndre Przywara reg = <0x01c21400 0x400>; 985b5df280bSAndre Przywara clocks = <&osc24M>; 986b5df280bSAndre Przywara pinctrl-names = "default"; 987b5df280bSAndre Przywara pinctrl-0 = <&pwm_pin>; 988b5df280bSAndre Przywara #pwm-cells = <3>; 989b5df280bSAndre Przywara status = "disabled"; 990b5df280bSAndre Przywara }; 991b5df280bSAndre Przywara 992ff29f13eSJagan Teki csi: csi@1cb0000 { 993ff29f13eSJagan Teki compatible = "allwinner,sun50i-a64-csi"; 994ff29f13eSJagan Teki reg = <0x01cb0000 0x1000>; 995ff29f13eSJagan Teki interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 996ff29f13eSJagan Teki clocks = <&ccu CLK_BUS_CSI>, 997ff29f13eSJagan Teki <&ccu CLK_CSI_SCLK>, 998ff29f13eSJagan Teki <&ccu CLK_DRAM_CSI>; 999ff29f13eSJagan Teki clock-names = "bus", "mod", "ram"; 1000ff29f13eSJagan Teki resets = <&ccu RST_BUS_CSI>; 1001ff29f13eSJagan Teki pinctrl-names = "default"; 1002ff29f13eSJagan Teki pinctrl-0 = <&csi_pins>; 1003ff29f13eSJagan Teki status = "disabled"; 1004ff29f13eSJagan Teki }; 1005ff29f13eSJagan Teki 1006e85f28e0SJagan Teki hdmi: hdmi@1ee0000 { 1007e85f28e0SJagan Teki compatible = "allwinner,sun50i-a64-dw-hdmi", 1008e85f28e0SJagan Teki "allwinner,sun8i-a83t-dw-hdmi"; 1009e85f28e0SJagan Teki reg = <0x01ee0000 0x10000>; 1010e85f28e0SJagan Teki reg-io-width = <1>; 1011e85f28e0SJagan Teki interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>; 1012e85f28e0SJagan Teki clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_DDC>, 1013e85f28e0SJagan Teki <&ccu CLK_HDMI>; 1014e85f28e0SJagan Teki clock-names = "iahb", "isfr", "tmds"; 1015e85f28e0SJagan Teki resets = <&ccu RST_BUS_HDMI1>; 1016e85f28e0SJagan Teki reset-names = "ctrl"; 1017e85f28e0SJagan Teki phys = <&hdmi_phy>; 1018e85f28e0SJagan Teki phy-names = "hdmi-phy"; 1019e85f28e0SJagan Teki status = "disabled"; 1020e85f28e0SJagan Teki 1021e85f28e0SJagan Teki ports { 1022e85f28e0SJagan Teki #address-cells = <1>; 1023e85f28e0SJagan Teki #size-cells = <0>; 1024e85f28e0SJagan Teki 1025e85f28e0SJagan Teki hdmi_in: port@0 { 1026e85f28e0SJagan Teki reg = <0>; 1027e85f28e0SJagan Teki 1028e85f28e0SJagan Teki hdmi_in_tcon1: endpoint { 1029e85f28e0SJagan Teki remote-endpoint = <&tcon1_out_hdmi>; 1030e85f28e0SJagan Teki }; 1031e85f28e0SJagan Teki }; 1032e85f28e0SJagan Teki 1033e85f28e0SJagan Teki hdmi_out: port@1 { 1034e85f28e0SJagan Teki reg = <1>; 1035e85f28e0SJagan Teki }; 1036e85f28e0SJagan Teki }; 1037e85f28e0SJagan Teki }; 1038e85f28e0SJagan Teki 1039e85f28e0SJagan Teki hdmi_phy: hdmi-phy@1ef0000 { 1040e85f28e0SJagan Teki compatible = "allwinner,sun50i-a64-hdmi-phy"; 1041e85f28e0SJagan Teki reg = <0x01ef0000 0x10000>; 1042e85f28e0SJagan Teki clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_DDC>, 1043e85f28e0SJagan Teki <&ccu 7>; 1044e85f28e0SJagan Teki clock-names = "bus", "mod", "pll-0"; 1045e85f28e0SJagan Teki resets = <&ccu RST_BUS_HDMI0>; 1046e85f28e0SJagan Teki reset-names = "phy"; 1047e85f28e0SJagan Teki #phy-cells = <0>; 1048e85f28e0SJagan Teki }; 1049e85f28e0SJagan Teki 10506bc37facSAndre Przywara rtc: rtc@1f00000 { 105144ff3cafSChen-Yu Tsai compatible = "allwinner,sun50i-a64-rtc", 105244ff3cafSChen-Yu Tsai "allwinner,sun8i-h3-rtc"; 105344ff3cafSChen-Yu Tsai reg = <0x01f00000 0x400>; 10546bc37facSAndre Przywara interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>, 10556bc37facSAndre Przywara <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; 105644ff3cafSChen-Yu Tsai clock-output-names = "osc32k", "osc32k-out", "iosc"; 1057e1a9a474SJagan Teki clocks = <&osc32k>; 1058e1a9a474SJagan Teki #clock-cells = <1>; 10596bc37facSAndre Przywara }; 1060791a9e00SIcenowy Zheng 1061535ca508SIcenowy Zheng r_intc: interrupt-controller@1f00c00 { 1062535ca508SIcenowy Zheng compatible = "allwinner,sun50i-a64-r-intc", 1063535ca508SIcenowy Zheng "allwinner,sun6i-a31-r-intc"; 1064535ca508SIcenowy Zheng interrupt-controller; 1065535ca508SIcenowy Zheng #interrupt-cells = <2>; 1066535ca508SIcenowy Zheng reg = <0x01f00c00 0x400>; 1067535ca508SIcenowy Zheng interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 1068535ca508SIcenowy Zheng }; 1069535ca508SIcenowy Zheng 1070791a9e00SIcenowy Zheng r_ccu: clock@1f01400 { 1071791a9e00SIcenowy Zheng compatible = "allwinner,sun50i-a64-r-ccu"; 1072791a9e00SIcenowy Zheng reg = <0x01f01400 0x100>; 107344ff3cafSChen-Yu Tsai clocks = <&osc24M>, <&rtc 0>, <&rtc 2>, <&ccu 11>; 1074f74994a9SChen-Yu Tsai clock-names = "hosc", "losc", "iosc", "pll-periph"; 1075791a9e00SIcenowy Zheng #clock-cells = <1>; 1076791a9e00SIcenowy Zheng #reset-cells = <1>; 1077791a9e00SIcenowy Zheng }; 1078ec427905SIcenowy Zheng 1079ec4a9540SVasily Khoruzhick codec_analog: codec-analog@1f015c0 { 1080ec4a9540SVasily Khoruzhick compatible = "allwinner,sun50i-a64-codec-analog"; 1081ec4a9540SVasily Khoruzhick reg = <0x01f015c0 0x4>; 1082ec4a9540SVasily Khoruzhick status = "disabled"; 1083ec4a9540SVasily Khoruzhick }; 1084ec4a9540SVasily Khoruzhick 1085871b5352SIcenowy Zheng r_i2c: i2c@1f02400 { 1086871b5352SIcenowy Zheng compatible = "allwinner,sun50i-a64-i2c", 1087871b5352SIcenowy Zheng "allwinner,sun6i-a31-i2c"; 1088871b5352SIcenowy Zheng reg = <0x01f02400 0x400>; 1089871b5352SIcenowy Zheng interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>; 1090871b5352SIcenowy Zheng clocks = <&r_ccu CLK_APB0_I2C>; 1091871b5352SIcenowy Zheng resets = <&r_ccu RST_APB0_I2C>; 1092871b5352SIcenowy Zheng status = "disabled"; 1093871b5352SIcenowy Zheng #address-cells = <1>; 1094871b5352SIcenowy Zheng #size-cells = <0>; 1095871b5352SIcenowy Zheng }; 1096871b5352SIcenowy Zheng 1097b5df280bSAndre Przywara r_pwm: pwm@1f03800 { 1098b5df280bSAndre Przywara compatible = "allwinner,sun50i-a64-pwm", 1099b5df280bSAndre Przywara "allwinner,sun5i-a13-pwm"; 1100b5df280bSAndre Przywara reg = <0x01f03800 0x400>; 1101b5df280bSAndre Przywara clocks = <&osc24M>; 1102b5df280bSAndre Przywara pinctrl-names = "default"; 1103b5df280bSAndre Przywara pinctrl-0 = <&r_pwm_pin>; 1104b5df280bSAndre Przywara #pwm-cells = <3>; 1105b5df280bSAndre Przywara status = "disabled"; 1106b5df280bSAndre Przywara }; 1107b5df280bSAndre Przywara 1108d6c9da12SCorentin LABBE r_pio: pinctrl@1f02c00 { 1109ec427905SIcenowy Zheng compatible = "allwinner,sun50i-a64-r-pinctrl"; 1110ec427905SIcenowy Zheng reg = <0x01f02c00 0x400>; 1111ec427905SIcenowy Zheng interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>; 1112494d8a2cSChen-Yu Tsai clocks = <&r_ccu CLK_APB0_PIO>, <&osc24M>, <&osc32k>; 1113ec427905SIcenowy Zheng clock-names = "apb", "hosc", "losc"; 1114ec427905SIcenowy Zheng gpio-controller; 1115ec427905SIcenowy Zheng #gpio-cells = <3>; 1116ec427905SIcenowy Zheng interrupt-controller; 1117ec427905SIcenowy Zheng #interrupt-cells = <3>; 11183b38fdedSIcenowy Zheng 11191b6ff1cbSChen-Yu Tsai r_i2c_pl89_pins: r-i2c-pl89-pins { 1120871b5352SIcenowy Zheng pins = "PL8", "PL9"; 1121871b5352SIcenowy Zheng function = "s_i2c"; 1122871b5352SIcenowy Zheng }; 1123871b5352SIcenowy Zheng 112454eac67bSMaxime Ripard r_pwm_pin: r-pwm-pin { 1125b5df280bSAndre Przywara pins = "PL10"; 1126b5df280bSAndre Przywara function = "s_pwm"; 1127b5df280bSAndre Przywara }; 1128b5df280bSAndre Przywara 112954eac67bSMaxime Ripard r_rsb_pins: r-rsb-pins { 11303b38fdedSIcenowy Zheng pins = "PL0", "PL1"; 11313b38fdedSIcenowy Zheng function = "s_rsb"; 11323b38fdedSIcenowy Zheng }; 11333b38fdedSIcenowy Zheng }; 11343b38fdedSIcenowy Zheng 11353b38fdedSIcenowy Zheng r_rsb: rsb@1f03400 { 11363b38fdedSIcenowy Zheng compatible = "allwinner,sun8i-a23-rsb"; 11373b38fdedSIcenowy Zheng reg = <0x01f03400 0x400>; 11383b38fdedSIcenowy Zheng interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>; 11393b38fdedSIcenowy Zheng clocks = <&r_ccu 6>; 11403b38fdedSIcenowy Zheng clock-frequency = <3000000>; 11413b38fdedSIcenowy Zheng resets = <&r_ccu 2>; 11423b38fdedSIcenowy Zheng pinctrl-names = "default"; 11433b38fdedSIcenowy Zheng pinctrl-0 = <&r_rsb_pins>; 11443b38fdedSIcenowy Zheng status = "disabled"; 11453b38fdedSIcenowy Zheng #address-cells = <1>; 11463b38fdedSIcenowy Zheng #size-cells = <0>; 1147ec427905SIcenowy Zheng }; 1148d4185043SHarald Geyer 1149d4185043SHarald Geyer wdt0: watchdog@1c20ca0 { 1150d4185043SHarald Geyer compatible = "allwinner,sun50i-a64-wdt", 1151d4185043SHarald Geyer "allwinner,sun6i-a31-wdt"; 1152d4185043SHarald Geyer reg = <0x01c20ca0 0x20>; 1153d4185043SHarald Geyer interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; 1154d4185043SHarald Geyer }; 11556bc37facSAndre Przywara }; 11566bc37facSAndre Przywara}; 1157