135ac96f7SAndre Przywara// SPDX-License-Identifier: (GPL-2.0-only OR MIT) 235ac96f7SAndre Przywara// Copyright (C) 2023-2024 Arm Ltd. 335ac96f7SAndre Przywara 435ac96f7SAndre Przywara#include <dt-bindings/interrupt-controller/arm-gic.h> 535ac96f7SAndre Przywara#include <dt-bindings/clock/sun6i-rtc.h> 635ac96f7SAndre Przywara#include <dt-bindings/clock/sun55i-a523-ccu.h> 735ac96f7SAndre Przywara#include <dt-bindings/clock/sun55i-a523-r-ccu.h> 835ac96f7SAndre Przywara#include <dt-bindings/reset/sun55i-a523-ccu.h> 935ac96f7SAndre Przywara#include <dt-bindings/reset/sun55i-a523-r-ccu.h> 1035ac96f7SAndre Przywara 1135ac96f7SAndre Przywara/ { 1235ac96f7SAndre Przywara interrupt-parent = <&gic>; 1335ac96f7SAndre Przywara #address-cells = <2>; 1435ac96f7SAndre Przywara #size-cells = <2>; 1535ac96f7SAndre Przywara 1635ac96f7SAndre Przywara cpus { 1735ac96f7SAndre Przywara #address-cells = <1>; 1835ac96f7SAndre Przywara #size-cells = <0>; 1935ac96f7SAndre Przywara 2035ac96f7SAndre Przywara cpu0: cpu@0 { 2135ac96f7SAndre Przywara compatible = "arm,cortex-a55"; 2235ac96f7SAndre Przywara device_type = "cpu"; 2335ac96f7SAndre Przywara reg = <0x000>; 2435ac96f7SAndre Przywara enable-method = "psci"; 2535ac96f7SAndre Przywara }; 2635ac96f7SAndre Przywara 2735ac96f7SAndre Przywara cpu1: cpu@100 { 2835ac96f7SAndre Przywara compatible = "arm,cortex-a55"; 2935ac96f7SAndre Przywara device_type = "cpu"; 3035ac96f7SAndre Przywara reg = <0x100>; 3135ac96f7SAndre Przywara enable-method = "psci"; 3235ac96f7SAndre Przywara }; 3335ac96f7SAndre Przywara 3435ac96f7SAndre Przywara cpu2: cpu@200 { 3535ac96f7SAndre Przywara compatible = "arm,cortex-a55"; 3635ac96f7SAndre Przywara device_type = "cpu"; 3735ac96f7SAndre Przywara reg = <0x200>; 3835ac96f7SAndre Przywara enable-method = "psci"; 3935ac96f7SAndre Przywara }; 4035ac96f7SAndre Przywara 4135ac96f7SAndre Przywara cpu3: cpu@300 { 4235ac96f7SAndre Przywara compatible = "arm,cortex-a55"; 4335ac96f7SAndre Przywara device_type = "cpu"; 4435ac96f7SAndre Przywara reg = <0x300>; 4535ac96f7SAndre Przywara enable-method = "psci"; 4635ac96f7SAndre Przywara }; 4735ac96f7SAndre Przywara 4835ac96f7SAndre Przywara cpu4: cpu@400 { 4935ac96f7SAndre Przywara compatible = "arm,cortex-a55"; 5035ac96f7SAndre Przywara device_type = "cpu"; 5135ac96f7SAndre Przywara reg = <0x400>; 5235ac96f7SAndre Przywara enable-method = "psci"; 5335ac96f7SAndre Przywara }; 5435ac96f7SAndre Przywara 5535ac96f7SAndre Przywara cpu5: cpu@500 { 5635ac96f7SAndre Przywara compatible = "arm,cortex-a55"; 5735ac96f7SAndre Przywara device_type = "cpu"; 5835ac96f7SAndre Przywara reg = <0x500>; 5935ac96f7SAndre Przywara enable-method = "psci"; 6035ac96f7SAndre Przywara }; 6135ac96f7SAndre Przywara 6235ac96f7SAndre Przywara cpu6: cpu@600 { 6335ac96f7SAndre Przywara compatible = "arm,cortex-a55"; 6435ac96f7SAndre Przywara device_type = "cpu"; 6535ac96f7SAndre Przywara reg = <0x600>; 6635ac96f7SAndre Przywara enable-method = "psci"; 6735ac96f7SAndre Przywara }; 6835ac96f7SAndre Przywara 6935ac96f7SAndre Przywara cpu7: cpu@700 { 7035ac96f7SAndre Przywara compatible = "arm,cortex-a55"; 7135ac96f7SAndre Przywara device_type = "cpu"; 7235ac96f7SAndre Przywara reg = <0x700>; 7335ac96f7SAndre Przywara enable-method = "psci"; 7435ac96f7SAndre Przywara }; 7535ac96f7SAndre Przywara }; 7635ac96f7SAndre Przywara 7735ac96f7SAndre Przywara osc24M: osc24M-clk { 7835ac96f7SAndre Przywara #clock-cells = <0>; 7935ac96f7SAndre Przywara compatible = "fixed-clock"; 8035ac96f7SAndre Przywara clock-frequency = <24000000>; 8135ac96f7SAndre Przywara clock-output-names = "osc24M"; 8235ac96f7SAndre Przywara }; 8335ac96f7SAndre Przywara 8435ac96f7SAndre Przywara pmu { 8535ac96f7SAndre Przywara compatible = "arm,cortex-a55-pmu"; 8635ac96f7SAndre Przywara interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>; 8735ac96f7SAndre Przywara }; 8835ac96f7SAndre Przywara 8935ac96f7SAndre Przywara psci { 9035ac96f7SAndre Przywara compatible = "arm,psci-0.2"; 9135ac96f7SAndre Przywara method = "smc"; 9235ac96f7SAndre Przywara }; 9335ac96f7SAndre Przywara 9435ac96f7SAndre Przywara timer { 9535ac96f7SAndre Przywara compatible = "arm,armv8-timer"; 9635ac96f7SAndre Przywara arm,no-tick-in-suspend; 9735ac96f7SAndre Przywara interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH>, 9835ac96f7SAndre Przywara <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH>, 9935ac96f7SAndre Przywara <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH>, 10035ac96f7SAndre Przywara <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH>; 10135ac96f7SAndre Przywara }; 10235ac96f7SAndre Przywara 10335ac96f7SAndre Przywara soc { 10435ac96f7SAndre Przywara compatible = "simple-bus"; 10535ac96f7SAndre Przywara #address-cells = <1>; 10635ac96f7SAndre Przywara #size-cells = <1>; 10735ac96f7SAndre Przywara ranges = <0x0 0x0 0x0 0x40000000>; 10835ac96f7SAndre Przywara 10935ac96f7SAndre Przywara pio: pinctrl@2000000 { 11035ac96f7SAndre Przywara compatible = "allwinner,sun55i-a523-pinctrl"; 11135ac96f7SAndre Przywara reg = <0x2000000 0x800>; 11235ac96f7SAndre Przywara interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>, 11335ac96f7SAndre Przywara <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>, 11435ac96f7SAndre Przywara <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>, 11535ac96f7SAndre Przywara <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>, 11635ac96f7SAndre Przywara <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>, 11735ac96f7SAndre Przywara <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>, 11835ac96f7SAndre Przywara <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>, 11935ac96f7SAndre Przywara <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>, 12035ac96f7SAndre Przywara <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>, 12135ac96f7SAndre Przywara <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>; 12235ac96f7SAndre Przywara clocks = <&ccu CLK_APB1>, <&osc24M>, <&rtc CLK_OSC32K>; 12335ac96f7SAndre Przywara clock-names = "apb", "hosc", "losc"; 12435ac96f7SAndre Przywara gpio-controller; 12535ac96f7SAndre Przywara #gpio-cells = <3>; 12635ac96f7SAndre Przywara interrupt-controller; 12735ac96f7SAndre Przywara #interrupt-cells = <3>; 12835ac96f7SAndre Przywara 129*56766ca6SYixun Lan rgmii0_pins: rgmii0-pins { 130*56766ca6SYixun Lan pins = "PH0", "PH1", "PH2", "PH3", "PH4", 131*56766ca6SYixun Lan "PH5", "PH6", "PH7", "PH9", "PH10", 132*56766ca6SYixun Lan "PH14", "PH15", "PH16", "PH17", "PH18"; 133*56766ca6SYixun Lan allwinner,pinmux = <5>; 134*56766ca6SYixun Lan function = "emac0"; 135*56766ca6SYixun Lan drive-strength = <40>; 136*56766ca6SYixun Lan bias-disable; 137*56766ca6SYixun Lan }; 138*56766ca6SYixun Lan 13935ac96f7SAndre Przywara mmc0_pins: mmc0-pins { 14035ac96f7SAndre Przywara pins = "PF0" ,"PF1", "PF2", "PF3", "PF4", "PF5"; 14135ac96f7SAndre Przywara allwinner,pinmux = <2>; 14235ac96f7SAndre Przywara function = "mmc0"; 14335ac96f7SAndre Przywara drive-strength = <30>; 14435ac96f7SAndre Przywara bias-pull-up; 14535ac96f7SAndre Przywara }; 14635ac96f7SAndre Przywara 14735ac96f7SAndre Przywara /omit-if-no-ref/ 14835ac96f7SAndre Przywara mmc1_pins: mmc1-pins { 14935ac96f7SAndre Przywara pins = "PG0" ,"PG1", "PG2", "PG3", "PG4", "PG5"; 15035ac96f7SAndre Przywara allwinner,pinmux = <2>; 15135ac96f7SAndre Przywara function = "mmc1"; 15235ac96f7SAndre Przywara drive-strength = <30>; 15335ac96f7SAndre Przywara bias-pull-up; 15435ac96f7SAndre Przywara }; 15535ac96f7SAndre Przywara 15635ac96f7SAndre Przywara mmc2_pins: mmc2-pins { 15735ac96f7SAndre Przywara pins = "PC0", "PC1" ,"PC5", "PC6", "PC8", 15835ac96f7SAndre Przywara "PC9", "PC10", "PC11", "PC13", "PC14", 15935ac96f7SAndre Przywara "PC15", "PC16"; 16035ac96f7SAndre Przywara allwinner,pinmux = <3>; 16135ac96f7SAndre Przywara function = "mmc2"; 16235ac96f7SAndre Przywara drive-strength = <30>; 16335ac96f7SAndre Przywara bias-pull-up; 16435ac96f7SAndre Przywara }; 16535ac96f7SAndre Przywara 16635ac96f7SAndre Przywara uart0_pb_pins: uart0-pb-pins { 16735ac96f7SAndre Przywara pins = "PB9", "PB10"; 16835ac96f7SAndre Przywara allwinner,pinmux = <2>; 16935ac96f7SAndre Przywara function = "uart0"; 17035ac96f7SAndre Przywara }; 17135ac96f7SAndre Przywara }; 17235ac96f7SAndre Przywara 17335ac96f7SAndre Przywara ccu: clock-controller@2001000 { 17435ac96f7SAndre Przywara compatible = "allwinner,sun55i-a523-ccu"; 17535ac96f7SAndre Przywara reg = <0x02001000 0x1000>; 17635ac96f7SAndre Przywara clocks = <&osc24M>, <&rtc CLK_OSC32K>, 17735ac96f7SAndre Przywara <&rtc CLK_IOSC>, <&rtc CLK_OSC32K_FANOUT>; 17835ac96f7SAndre Przywara clock-names = "hosc", "losc", 17935ac96f7SAndre Przywara "iosc", "losc-fanout"; 18035ac96f7SAndre Przywara #clock-cells = <1>; 18135ac96f7SAndre Przywara #reset-cells = <1>; 18235ac96f7SAndre Przywara }; 18335ac96f7SAndre Przywara 18435ac96f7SAndre Przywara mmc0: mmc@4020000 { 18535ac96f7SAndre Przywara compatible = "allwinner,sun55i-a523-mmc", 18635ac96f7SAndre Przywara "allwinner,sun20i-d1-mmc"; 18735ac96f7SAndre Przywara reg = <0x04020000 0x1000>; 18835ac96f7SAndre Przywara clocks = <&ccu CLK_BUS_MMC0>, <&ccu CLK_MMC0>; 18935ac96f7SAndre Przywara clock-names = "ahb", "mmc"; 19035ac96f7SAndre Przywara resets = <&ccu RST_BUS_MMC0>; 19135ac96f7SAndre Przywara reset-names = "ahb"; 19235ac96f7SAndre Przywara interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>; 19335ac96f7SAndre Przywara pinctrl-names = "default"; 19435ac96f7SAndre Przywara pinctrl-0 = <&mmc0_pins>; 19535ac96f7SAndre Przywara status = "disabled"; 19635ac96f7SAndre Przywara 19735ac96f7SAndre Przywara max-frequency = <150000000>; 19835ac96f7SAndre Przywara cap-sd-highspeed; 19935ac96f7SAndre Przywara cap-mmc-highspeed; 20035ac96f7SAndre Przywara cap-sdio-irq; 20135ac96f7SAndre Przywara #address-cells = <1>; 20235ac96f7SAndre Przywara #size-cells = <0>; 20335ac96f7SAndre Przywara }; 20435ac96f7SAndre Przywara 20535ac96f7SAndre Przywara mmc1: mmc@4021000 { 20635ac96f7SAndre Przywara compatible = "allwinner,sun55i-a523-mmc", 20735ac96f7SAndre Przywara "allwinner,sun20i-d1-mmc"; 20835ac96f7SAndre Przywara reg = <0x04021000 0x1000>; 20935ac96f7SAndre Przywara clocks = <&ccu CLK_BUS_MMC1>, <&ccu CLK_MMC1>; 21035ac96f7SAndre Przywara clock-names = "ahb", "mmc"; 21135ac96f7SAndre Przywara resets = <&ccu RST_BUS_MMC1>; 21235ac96f7SAndre Przywara reset-names = "ahb"; 21335ac96f7SAndre Przywara interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>; 21435ac96f7SAndre Przywara pinctrl-names = "default"; 21535ac96f7SAndre Przywara pinctrl-0 = <&mmc1_pins>; 21635ac96f7SAndre Przywara status = "disabled"; 21735ac96f7SAndre Przywara 21835ac96f7SAndre Przywara max-frequency = <150000000>; 21935ac96f7SAndre Przywara cap-sd-highspeed; 22035ac96f7SAndre Przywara cap-mmc-highspeed; 22135ac96f7SAndre Przywara cap-sdio-irq; 22235ac96f7SAndre Przywara #address-cells = <1>; 22335ac96f7SAndre Przywara #size-cells = <0>; 22435ac96f7SAndre Przywara }; 22535ac96f7SAndre Przywara 22635ac96f7SAndre Przywara mmc2: mmc@4022000 { 22735ac96f7SAndre Przywara compatible = "allwinner,sun55i-a523-mmc", 22835ac96f7SAndre Przywara "allwinner,sun20i-d1-mmc"; 22935ac96f7SAndre Przywara reg = <0x04022000 0x1000>; 23035ac96f7SAndre Przywara clocks = <&ccu CLK_BUS_MMC2>, <&ccu CLK_MMC2>; 23135ac96f7SAndre Przywara clock-names = "ahb", "mmc"; 23235ac96f7SAndre Przywara resets = <&ccu RST_BUS_MMC2>; 23335ac96f7SAndre Przywara reset-names = "ahb"; 23435ac96f7SAndre Przywara interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 23535ac96f7SAndre Przywara pinctrl-names = "default"; 23635ac96f7SAndre Przywara pinctrl-0 = <&mmc2_pins>; 23735ac96f7SAndre Przywara status = "disabled"; 23835ac96f7SAndre Przywara 23935ac96f7SAndre Przywara max-frequency = <150000000>; 24035ac96f7SAndre Przywara cap-sd-highspeed; 24135ac96f7SAndre Przywara cap-mmc-highspeed; 24235ac96f7SAndre Przywara cap-sdio-irq; 24335ac96f7SAndre Przywara #address-cells = <1>; 24435ac96f7SAndre Przywara #size-cells = <0>; 24535ac96f7SAndre Przywara }; 24635ac96f7SAndre Przywara 24735ac96f7SAndre Przywara wdt: watchdog@2050000 { 24835ac96f7SAndre Przywara compatible = "allwinner,sun55i-a523-wdt"; 24935ac96f7SAndre Przywara reg = <0x2050000 0x20>; 25035ac96f7SAndre Przywara interrupts = <GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>; 25135ac96f7SAndre Przywara clocks = <&osc24M>, <&rtc CLK_OSC32K>; 25235ac96f7SAndre Przywara clock-names = "hosc", "losc"; 25335ac96f7SAndre Przywara status = "okay"; 25435ac96f7SAndre Przywara }; 25535ac96f7SAndre Przywara 25635ac96f7SAndre Przywara uart0: serial@2500000 { 25735ac96f7SAndre Przywara compatible = "snps,dw-apb-uart"; 25835ac96f7SAndre Przywara reg = <0x02500000 0x400>; 25935ac96f7SAndre Przywara interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>; 26035ac96f7SAndre Przywara reg-shift = <2>; 26135ac96f7SAndre Przywara reg-io-width = <4>; 26235ac96f7SAndre Przywara clocks = <&ccu CLK_BUS_UART0>; 26335ac96f7SAndre Przywara resets = <&ccu RST_BUS_UART0>; 26435ac96f7SAndre Przywara status = "disabled"; 26535ac96f7SAndre Przywara }; 26635ac96f7SAndre Przywara 26735ac96f7SAndre Przywara uart1: serial@2500400 { 26835ac96f7SAndre Przywara compatible = "snps,dw-apb-uart"; 26935ac96f7SAndre Przywara reg = <0x02500400 0x400>; 27035ac96f7SAndre Przywara interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; 27135ac96f7SAndre Przywara reg-shift = <2>; 27235ac96f7SAndre Przywara reg-io-width = <4>; 27335ac96f7SAndre Przywara clocks = <&ccu CLK_BUS_UART1>; 27435ac96f7SAndre Przywara resets = <&ccu RST_BUS_UART1>; 27535ac96f7SAndre Przywara status = "disabled"; 27635ac96f7SAndre Przywara }; 27735ac96f7SAndre Przywara 27835ac96f7SAndre Przywara uart2: serial@2500800 { 27935ac96f7SAndre Przywara compatible = "snps,dw-apb-uart"; 28035ac96f7SAndre Przywara reg = <0x02500800 0x400>; 28135ac96f7SAndre Przywara interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; 28235ac96f7SAndre Przywara reg-shift = <2>; 28335ac96f7SAndre Przywara reg-io-width = <4>; 28435ac96f7SAndre Przywara clocks = <&ccu CLK_BUS_UART2>; 28535ac96f7SAndre Przywara resets = <&ccu RST_BUS_UART2>; 28635ac96f7SAndre Przywara status = "disabled"; 28735ac96f7SAndre Przywara }; 28835ac96f7SAndre Przywara 28935ac96f7SAndre Przywara uart3: serial@2500c00 { 29035ac96f7SAndre Przywara compatible = "snps,dw-apb-uart"; 29135ac96f7SAndre Przywara reg = <0x02500c00 0x400>; 29235ac96f7SAndre Przywara interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; 29335ac96f7SAndre Przywara reg-shift = <2>; 29435ac96f7SAndre Przywara reg-io-width = <4>; 29535ac96f7SAndre Przywara clocks = <&ccu CLK_BUS_UART3>; 29635ac96f7SAndre Przywara resets = <&ccu RST_BUS_UART3>; 29735ac96f7SAndre Przywara status = "disabled"; 29835ac96f7SAndre Przywara }; 29935ac96f7SAndre Przywara 30035ac96f7SAndre Przywara uart4: serial@2501000 { 30135ac96f7SAndre Przywara compatible = "snps,dw-apb-uart"; 30235ac96f7SAndre Przywara reg = <0x02501000 0x400>; 30335ac96f7SAndre Przywara interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; 30435ac96f7SAndre Przywara reg-shift = <2>; 30535ac96f7SAndre Przywara reg-io-width = <4>; 30635ac96f7SAndre Przywara clocks = <&ccu CLK_BUS_UART4>; 30735ac96f7SAndre Przywara resets = <&ccu RST_BUS_UART4>; 30835ac96f7SAndre Przywara status = "disabled"; 30935ac96f7SAndre Przywara }; 31035ac96f7SAndre Przywara 31135ac96f7SAndre Przywara uart5: serial@2501400 { 31235ac96f7SAndre Przywara compatible = "snps,dw-apb-uart"; 31335ac96f7SAndre Przywara reg = <0x02501400 0x400>; 31435ac96f7SAndre Przywara interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 31535ac96f7SAndre Przywara reg-shift = <2>; 31635ac96f7SAndre Przywara reg-io-width = <4>; 31735ac96f7SAndre Przywara clocks = <&ccu CLK_BUS_UART5>; 31835ac96f7SAndre Przywara resets = <&ccu RST_BUS_UART5>; 31935ac96f7SAndre Przywara status = "disabled"; 32035ac96f7SAndre Przywara }; 32135ac96f7SAndre Przywara 32235ac96f7SAndre Przywara uart6: serial@2501800 { 32335ac96f7SAndre Przywara compatible = "snps,dw-apb-uart"; 32435ac96f7SAndre Przywara reg = <0x02501800 0x400>; 32535ac96f7SAndre Przywara interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 32635ac96f7SAndre Przywara reg-shift = <2>; 32735ac96f7SAndre Przywara reg-io-width = <4>; 32835ac96f7SAndre Przywara clocks = <&ccu CLK_BUS_UART6>; 32935ac96f7SAndre Przywara resets = <&ccu RST_BUS_UART6>; 33035ac96f7SAndre Przywara status = "disabled"; 33135ac96f7SAndre Przywara }; 33235ac96f7SAndre Przywara 33335ac96f7SAndre Przywara uart7: serial@2501c00 { 33435ac96f7SAndre Przywara compatible = "snps,dw-apb-uart"; 33535ac96f7SAndre Przywara reg = <0x02501c00 0x400>; 33635ac96f7SAndre Przywara interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 33735ac96f7SAndre Przywara reg-shift = <2>; 33835ac96f7SAndre Przywara reg-io-width = <4>; 33935ac96f7SAndre Przywara clocks = <&ccu CLK_BUS_UART7>; 34035ac96f7SAndre Przywara resets = <&ccu RST_BUS_UART7>; 34135ac96f7SAndre Przywara status = "disabled"; 34235ac96f7SAndre Przywara }; 34335ac96f7SAndre Przywara 34435ac96f7SAndre Przywara i2c0: i2c@2502000 { 34535ac96f7SAndre Przywara compatible = "allwinner,sun55i-a523-i2c", 34635ac96f7SAndre Przywara "allwinner,sun8i-v536-i2c", 34735ac96f7SAndre Przywara "allwinner,sun6i-a31-i2c"; 34835ac96f7SAndre Przywara reg = <0x2502000 0x400>; 34935ac96f7SAndre Przywara interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; 35035ac96f7SAndre Przywara clocks = <&ccu CLK_BUS_I2C0>; 35135ac96f7SAndre Przywara resets = <&ccu RST_BUS_I2C0>; 35235ac96f7SAndre Przywara status = "disabled"; 35335ac96f7SAndre Przywara #address-cells = <1>; 35435ac96f7SAndre Przywara #size-cells = <0>; 35535ac96f7SAndre Przywara }; 35635ac96f7SAndre Przywara 35735ac96f7SAndre Przywara i2c1: i2c@2502400 { 35835ac96f7SAndre Przywara compatible = "allwinner,sun55i-a523-i2c", 35935ac96f7SAndre Przywara "allwinner,sun8i-v536-i2c", 36035ac96f7SAndre Przywara "allwinner,sun6i-a31-i2c"; 36135ac96f7SAndre Przywara reg = <0x2502400 0x400>; 36235ac96f7SAndre Przywara interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; 36335ac96f7SAndre Przywara clocks = <&ccu CLK_BUS_I2C1>; 36435ac96f7SAndre Przywara resets = <&ccu RST_BUS_I2C1>; 36535ac96f7SAndre Przywara status = "disabled"; 36635ac96f7SAndre Przywara #address-cells = <1>; 36735ac96f7SAndre Przywara #size-cells = <0>; 36835ac96f7SAndre Przywara }; 36935ac96f7SAndre Przywara 37035ac96f7SAndre Przywara i2c2: i2c@2502800 { 37135ac96f7SAndre Przywara compatible = "allwinner,sun55i-a523-i2c", 37235ac96f7SAndre Przywara "allwinner,sun8i-v536-i2c", 37335ac96f7SAndre Przywara "allwinner,sun6i-a31-i2c"; 37435ac96f7SAndre Przywara reg = <0x2502800 0x400>; 37535ac96f7SAndre Przywara interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; 37635ac96f7SAndre Przywara clocks = <&ccu CLK_BUS_I2C2>; 37735ac96f7SAndre Przywara resets = <&ccu RST_BUS_I2C2>; 37835ac96f7SAndre Przywara status = "disabled"; 37935ac96f7SAndre Przywara #address-cells = <1>; 38035ac96f7SAndre Przywara #size-cells = <0>; 38135ac96f7SAndre Przywara }; 38235ac96f7SAndre Przywara 38335ac96f7SAndre Przywara i2c3: i2c@2502c00 { 38435ac96f7SAndre Przywara compatible = "allwinner,sun55i-a523-i2c", 38535ac96f7SAndre Przywara "allwinner,sun8i-v536-i2c", 38635ac96f7SAndre Przywara "allwinner,sun6i-a31-i2c"; 38735ac96f7SAndre Przywara reg = <0x2502c00 0x400>; 38835ac96f7SAndre Przywara interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; 38935ac96f7SAndre Przywara clocks = <&ccu CLK_BUS_I2C3>; 39035ac96f7SAndre Przywara resets = <&ccu RST_BUS_I2C3>; 39135ac96f7SAndre Przywara status = "disabled"; 39235ac96f7SAndre Przywara #address-cells = <1>; 39335ac96f7SAndre Przywara #size-cells = <0>; 39435ac96f7SAndre Przywara }; 39535ac96f7SAndre Przywara 39635ac96f7SAndre Przywara i2c4: i2c@2503000 { 39735ac96f7SAndre Przywara compatible = "allwinner,sun55i-a523-i2c", 39835ac96f7SAndre Przywara "allwinner,sun8i-v536-i2c", 39935ac96f7SAndre Przywara "allwinner,sun6i-a31-i2c"; 40035ac96f7SAndre Przywara reg = <0x2503000 0x400>; 40135ac96f7SAndre Przywara interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; 40235ac96f7SAndre Przywara clocks = <&ccu CLK_BUS_I2C4>; 40335ac96f7SAndre Przywara resets = <&ccu RST_BUS_I2C4>; 40435ac96f7SAndre Przywara status = "disabled"; 40535ac96f7SAndre Przywara #address-cells = <1>; 40635ac96f7SAndre Przywara #size-cells = <0>; 40735ac96f7SAndre Przywara }; 40835ac96f7SAndre Przywara 40935ac96f7SAndre Przywara i2c5: i2c@2503400 { 41035ac96f7SAndre Przywara compatible = "allwinner,sun55i-a523-i2c", 41135ac96f7SAndre Przywara "allwinner,sun8i-v536-i2c", 41235ac96f7SAndre Przywara "allwinner,sun6i-a31-i2c"; 41335ac96f7SAndre Przywara reg = <0x2503400 0x400>; 41435ac96f7SAndre Przywara interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>; 41535ac96f7SAndre Przywara clocks = <&ccu CLK_BUS_I2C5>; 41635ac96f7SAndre Przywara resets = <&ccu RST_BUS_I2C5>; 41735ac96f7SAndre Przywara status = "disabled"; 41835ac96f7SAndre Przywara #address-cells = <1>; 41935ac96f7SAndre Przywara #size-cells = <0>; 42035ac96f7SAndre Przywara }; 42135ac96f7SAndre Przywara 422*56766ca6SYixun Lan syscon: syscon@3000000 { 423*56766ca6SYixun Lan compatible = "allwinner,sun55i-a523-system-control", 424*56766ca6SYixun Lan "allwinner,sun50i-a64-system-control"; 425*56766ca6SYixun Lan reg = <0x03000000 0x1000>; 426*56766ca6SYixun Lan #address-cells = <1>; 427*56766ca6SYixun Lan #size-cells = <1>; 428*56766ca6SYixun Lan ranges; 429*56766ca6SYixun Lan }; 430*56766ca6SYixun Lan 43135ac96f7SAndre Przywara gic: interrupt-controller@3400000 { 43235ac96f7SAndre Przywara compatible = "arm,gic-v3"; 43335ac96f7SAndre Przywara #address-cells = <1>; 43435ac96f7SAndre Przywara #interrupt-cells = <3>; 43535ac96f7SAndre Przywara #size-cells = <1>; 43635ac96f7SAndre Przywara ranges; 43735ac96f7SAndre Przywara interrupt-controller; 43835ac96f7SAndre Przywara reg = <0x3400000 0x10000>, 43935ac96f7SAndre Przywara <0x3460000 0x100000>; 44035ac96f7SAndre Przywara interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>; 44135ac96f7SAndre Przywara dma-noncoherent; 44235ac96f7SAndre Przywara 44335ac96f7SAndre Przywara its: msi-controller@3440000 { 44435ac96f7SAndre Przywara compatible = "arm,gic-v3-its"; 44535ac96f7SAndre Przywara reg = <0x3440000 0x20000>; 44635ac96f7SAndre Przywara msi-controller; 44735ac96f7SAndre Przywara #msi-cells = <1>; 44835ac96f7SAndre Przywara dma-noncoherent; 44935ac96f7SAndre Przywara }; 45035ac96f7SAndre Przywara }; 45135ac96f7SAndre Przywara 45235ac96f7SAndre Przywara usb_otg: usb@4100000 { 45335ac96f7SAndre Przywara compatible = "allwinner,sun55i-a523-musb", 45435ac96f7SAndre Przywara "allwinner,sun8i-a33-musb"; 45535ac96f7SAndre Przywara reg = <0x4100000 0x400>; 45635ac96f7SAndre Przywara interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>; 45735ac96f7SAndre Przywara interrupt-names = "mc"; 45835ac96f7SAndre Przywara clocks = <&ccu CLK_BUS_OTG>; 45935ac96f7SAndre Przywara resets = <&ccu RST_BUS_OTG>; 46035ac96f7SAndre Przywara extcon = <&usbphy 0>; 46135ac96f7SAndre Przywara phys = <&usbphy 0>; 46235ac96f7SAndre Przywara phy-names = "usb"; 46335ac96f7SAndre Przywara status = "disabled"; 46435ac96f7SAndre Przywara }; 46535ac96f7SAndre Przywara 46635ac96f7SAndre Przywara usbphy: phy@4100400 { 46735ac96f7SAndre Przywara compatible = "allwinner,sun55i-a523-usb-phy", 46835ac96f7SAndre Przywara "allwinner,sun20i-d1-usb-phy"; 46935ac96f7SAndre Przywara reg = <0x4100400 0x100>, 47035ac96f7SAndre Przywara <0x4101800 0x100>, 47135ac96f7SAndre Przywara <0x4200800 0x100>; 47235ac96f7SAndre Przywara reg-names = "phy_ctrl", 47335ac96f7SAndre Przywara "pmu0", 47435ac96f7SAndre Przywara "pmu1"; 47535ac96f7SAndre Przywara clocks = <&osc24M>, 47635ac96f7SAndre Przywara <&osc24M>; 47735ac96f7SAndre Przywara clock-names = "usb0_phy", 47835ac96f7SAndre Przywara "usb1_phy"; 47935ac96f7SAndre Przywara resets = <&ccu RST_USB_PHY0>, 48035ac96f7SAndre Przywara <&ccu RST_USB_PHY1>; 48135ac96f7SAndre Przywara reset-names = "usb0_reset", 48235ac96f7SAndre Przywara "usb1_reset"; 48335ac96f7SAndre Przywara status = "disabled"; 48435ac96f7SAndre Przywara #phy-cells = <1>; 48535ac96f7SAndre Przywara }; 48635ac96f7SAndre Przywara 48735ac96f7SAndre Przywara ehci0: usb@4101000 { 48835ac96f7SAndre Przywara compatible = "allwinner,sun55i-a523-ehci", 48935ac96f7SAndre Przywara "generic-ehci"; 49035ac96f7SAndre Przywara reg = <0x4101000 0x100>; 49135ac96f7SAndre Przywara interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 49235ac96f7SAndre Przywara clocks = <&ccu CLK_BUS_OHCI0>, 49335ac96f7SAndre Przywara <&ccu CLK_BUS_EHCI0>, 49435ac96f7SAndre Przywara <&ccu CLK_USB_OHCI0>; 49535ac96f7SAndre Przywara resets = <&ccu RST_BUS_OHCI0>, 49635ac96f7SAndre Przywara <&ccu RST_BUS_EHCI0>; 49735ac96f7SAndre Przywara phys = <&usbphy 0>; 49835ac96f7SAndre Przywara phy-names = "usb"; 49935ac96f7SAndre Przywara status = "disabled"; 50035ac96f7SAndre Przywara }; 50135ac96f7SAndre Przywara 50235ac96f7SAndre Przywara ohci0: usb@4101400 { 50335ac96f7SAndre Przywara compatible = "allwinner,sun55i-a523-ohci", 50435ac96f7SAndre Przywara "generic-ohci"; 50535ac96f7SAndre Przywara reg = <0x4101400 0x100>; 50635ac96f7SAndre Przywara interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 50735ac96f7SAndre Przywara clocks = <&ccu CLK_BUS_OHCI0>, 50835ac96f7SAndre Przywara <&ccu CLK_USB_OHCI0>; 50935ac96f7SAndre Przywara resets = <&ccu RST_BUS_OHCI0>; 51035ac96f7SAndre Przywara phys = <&usbphy 0>; 51135ac96f7SAndre Przywara phy-names = "usb"; 51235ac96f7SAndre Przywara status = "disabled"; 51335ac96f7SAndre Przywara }; 51435ac96f7SAndre Przywara 51535ac96f7SAndre Przywara ehci1: usb@4200000 { 51635ac96f7SAndre Przywara compatible = "allwinner,sun55i-a523-ehci", 51735ac96f7SAndre Przywara "generic-ehci"; 51835ac96f7SAndre Przywara reg = <0x4200000 0x100>; 51935ac96f7SAndre Przywara interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 52035ac96f7SAndre Przywara clocks = <&ccu CLK_BUS_OHCI1>, 52135ac96f7SAndre Przywara <&ccu CLK_BUS_EHCI1>, 52235ac96f7SAndre Przywara <&ccu CLK_USB_OHCI1>; 52335ac96f7SAndre Przywara resets = <&ccu RST_BUS_OHCI1>, 52435ac96f7SAndre Przywara <&ccu RST_BUS_EHCI1>; 52535ac96f7SAndre Przywara phys = <&usbphy 1>; 52635ac96f7SAndre Przywara phy-names = "usb"; 52735ac96f7SAndre Przywara status = "disabled"; 52835ac96f7SAndre Przywara }; 52935ac96f7SAndre Przywara 53035ac96f7SAndre Przywara ohci1: usb@4200400 { 53135ac96f7SAndre Przywara compatible = "allwinner,sun55i-a523-ohci", 53235ac96f7SAndre Przywara "generic-ohci"; 53335ac96f7SAndre Przywara reg = <0x4200400 0x100>; 53435ac96f7SAndre Przywara interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 53535ac96f7SAndre Przywara clocks = <&ccu CLK_BUS_OHCI1>, 53635ac96f7SAndre Przywara <&ccu CLK_USB_OHCI1>; 53735ac96f7SAndre Przywara resets = <&ccu RST_BUS_OHCI1>; 53835ac96f7SAndre Przywara phys = <&usbphy 1>; 53935ac96f7SAndre Przywara phy-names = "usb"; 54035ac96f7SAndre Przywara status = "disabled"; 54135ac96f7SAndre Przywara }; 54235ac96f7SAndre Przywara 543*56766ca6SYixun Lan emac0: ethernet@4500000 { 544*56766ca6SYixun Lan compatible = "allwinner,sun55i-a523-emac0", 545*56766ca6SYixun Lan "allwinner,sun50i-a64-emac"; 546*56766ca6SYixun Lan reg = <0x04500000 0x10000>; 547*56766ca6SYixun Lan clocks = <&ccu CLK_BUS_EMAC0>; 548*56766ca6SYixun Lan clock-names = "stmmaceth"; 549*56766ca6SYixun Lan resets = <&ccu RST_BUS_EMAC0>; 550*56766ca6SYixun Lan reset-names = "stmmaceth"; 551*56766ca6SYixun Lan interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>; 552*56766ca6SYixun Lan interrupt-names = "macirq"; 553*56766ca6SYixun Lan pinctrl-names = "default"; 554*56766ca6SYixun Lan pinctrl-0 = <&rgmii0_pins>; 555*56766ca6SYixun Lan syscon = <&syscon>; 556*56766ca6SYixun Lan status = "disabled"; 557*56766ca6SYixun Lan 558*56766ca6SYixun Lan mdio0: mdio { 559*56766ca6SYixun Lan compatible = "snps,dwmac-mdio"; 560*56766ca6SYixun Lan #address-cells = <1>; 561*56766ca6SYixun Lan #size-cells = <0>; 562*56766ca6SYixun Lan }; 563*56766ca6SYixun Lan }; 564*56766ca6SYixun Lan 56535ac96f7SAndre Przywara r_ccu: clock-controller@7010000 { 56635ac96f7SAndre Przywara compatible = "allwinner,sun55i-a523-r-ccu"; 56735ac96f7SAndre Przywara reg = <0x7010000 0x250>; 56835ac96f7SAndre Przywara clocks = <&osc24M>, 56935ac96f7SAndre Przywara <&rtc CLK_OSC32K>, 57035ac96f7SAndre Przywara <&rtc CLK_IOSC>, 57135ac96f7SAndre Przywara <&ccu CLK_PLL_PERIPH0_200M>, 57235ac96f7SAndre Przywara <&ccu CLK_PLL_AUDIO0_4X>; 57335ac96f7SAndre Przywara clock-names = "hosc", 57435ac96f7SAndre Przywara "losc", 57535ac96f7SAndre Przywara "iosc", 57635ac96f7SAndre Przywara "pll-periph", 57735ac96f7SAndre Przywara "pll-audio"; 57835ac96f7SAndre Przywara #clock-cells = <1>; 57935ac96f7SAndre Przywara #reset-cells = <1>; 58035ac96f7SAndre Przywara }; 58135ac96f7SAndre Przywara 58235ac96f7SAndre Przywara nmi_intc: interrupt-controller@7010320 { 58335ac96f7SAndre Przywara compatible = "allwinner,sun55i-a523-nmi"; 58435ac96f7SAndre Przywara reg = <0x07010320 0xc>; 58535ac96f7SAndre Przywara interrupt-controller; 58635ac96f7SAndre Przywara #interrupt-cells = <2>; 58735ac96f7SAndre Przywara interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>; 58835ac96f7SAndre Przywara }; 58935ac96f7SAndre Przywara 59035ac96f7SAndre Przywara r_pio: pinctrl@7022000 { 59135ac96f7SAndre Przywara compatible = "allwinner,sun55i-a523-r-pinctrl"; 59235ac96f7SAndre Przywara reg = <0x7022000 0x800>; 59335ac96f7SAndre Przywara interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>, 59435ac96f7SAndre Przywara <GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>; 59535ac96f7SAndre Przywara clocks = <&r_ccu CLK_R_APB0>, 59635ac96f7SAndre Przywara <&osc24M>, 59735ac96f7SAndre Przywara <&rtc CLK_OSC32K>; 59835ac96f7SAndre Przywara clock-names = "apb", "hosc", "losc"; 59935ac96f7SAndre Przywara gpio-controller; 60035ac96f7SAndre Przywara #gpio-cells = <3>; 60135ac96f7SAndre Przywara interrupt-controller; 60235ac96f7SAndre Przywara #interrupt-cells = <3>; 60335ac96f7SAndre Przywara 60435ac96f7SAndre Przywara r_i2c_pins: r-i2c-pins { 60535ac96f7SAndre Przywara pins = "PL0" ,"PL1"; 60635ac96f7SAndre Przywara allwinner,pinmux = <2>; 60735ac96f7SAndre Przywara function = "r_i2c0"; 60835ac96f7SAndre Przywara }; 60935ac96f7SAndre Przywara }; 61035ac96f7SAndre Przywara 61135ac96f7SAndre Przywara r_i2c0: i2c@7081400 { 61235ac96f7SAndre Przywara compatible = "allwinner,sun55i-a523-i2c", 61335ac96f7SAndre Przywara "allwinner,sun8i-v536-i2c", 61435ac96f7SAndre Przywara "allwinner,sun6i-a31-i2c"; 61535ac96f7SAndre Przywara reg = <0x07081400 0x400>; 61635ac96f7SAndre Przywara interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>; 61735ac96f7SAndre Przywara clocks = <&r_ccu CLK_BUS_R_I2C0>; 61835ac96f7SAndre Przywara resets = <&r_ccu RST_BUS_R_I2C0>; 61935ac96f7SAndre Przywara pinctrl-names = "default"; 62035ac96f7SAndre Przywara pinctrl-0 = <&r_i2c_pins>; 62135ac96f7SAndre Przywara status = "disabled"; 62235ac96f7SAndre Przywara 62335ac96f7SAndre Przywara #address-cells = <1>; 62435ac96f7SAndre Przywara #size-cells = <0>; 62535ac96f7SAndre Przywara }; 62635ac96f7SAndre Przywara 62735ac96f7SAndre Przywara rtc: rtc@7090000 { 62835ac96f7SAndre Przywara compatible = "allwinner,sun55i-a523-rtc", 62935ac96f7SAndre Przywara "allwinner,sun50i-r329-rtc"; 63035ac96f7SAndre Przywara reg = <0x7090000 0x400>; 63135ac96f7SAndre Przywara interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>; 63235ac96f7SAndre Przywara clocks = <&r_ccu CLK_BUS_R_RTC>, 63335ac96f7SAndre Przywara <&osc24M>, 63435ac96f7SAndre Przywara <&r_ccu CLK_R_AHB>; 63535ac96f7SAndre Przywara clock-names = "bus", "hosc", "ahb"; 63635ac96f7SAndre Przywara #clock-cells = <1>; 63735ac96f7SAndre Przywara }; 63835ac96f7SAndre Przywara }; 63935ac96f7SAndre Przywara}; 640