162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ or MIT) 262306a36Sopenharmony_ci// Copyright (C) 2021-2022 Samuel Holland <samuel@sholland.org> 362306a36Sopenharmony_ci 462306a36Sopenharmony_ci#include <dt-bindings/clock/sun6i-rtc.h> 562306a36Sopenharmony_ci#include <dt-bindings/clock/sun8i-de2.h> 662306a36Sopenharmony_ci#include <dt-bindings/clock/sun8i-tcon-top.h> 762306a36Sopenharmony_ci#include <dt-bindings/clock/sun20i-d1-ccu.h> 862306a36Sopenharmony_ci#include <dt-bindings/clock/sun20i-d1-r-ccu.h> 962306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/irq.h> 1062306a36Sopenharmony_ci#include <dt-bindings/reset/sun8i-de2.h> 1162306a36Sopenharmony_ci#include <dt-bindings/reset/sun20i-d1-ccu.h> 1262306a36Sopenharmony_ci#include <dt-bindings/reset/sun20i-d1-r-ccu.h> 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci/ { 1562306a36Sopenharmony_ci #address-cells = <1>; 1662306a36Sopenharmony_ci #size-cells = <1>; 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci dcxo: dcxo-clk { 1962306a36Sopenharmony_ci compatible = "fixed-clock"; 2062306a36Sopenharmony_ci clock-output-names = "dcxo"; 2162306a36Sopenharmony_ci #clock-cells = <0>; 2262306a36Sopenharmony_ci }; 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci de: display-engine { 2562306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-display-engine"; 2662306a36Sopenharmony_ci allwinner,pipelines = <&mixer0>, <&mixer1>; 2762306a36Sopenharmony_ci status = "disabled"; 2862306a36Sopenharmony_ci }; 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci soc { 3162306a36Sopenharmony_ci compatible = "simple-bus"; 3262306a36Sopenharmony_ci ranges; 3362306a36Sopenharmony_ci dma-noncoherent; 3462306a36Sopenharmony_ci #address-cells = <1>; 3562306a36Sopenharmony_ci #size-cells = <1>; 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci pio: pinctrl@2000000 { 3862306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-pinctrl"; 3962306a36Sopenharmony_ci reg = <0x2000000 0x800>; 4062306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(69) IRQ_TYPE_LEVEL_HIGH>, 4162306a36Sopenharmony_ci <SOC_PERIPHERAL_IRQ(71) IRQ_TYPE_LEVEL_HIGH>, 4262306a36Sopenharmony_ci <SOC_PERIPHERAL_IRQ(73) IRQ_TYPE_LEVEL_HIGH>, 4362306a36Sopenharmony_ci <SOC_PERIPHERAL_IRQ(75) IRQ_TYPE_LEVEL_HIGH>, 4462306a36Sopenharmony_ci <SOC_PERIPHERAL_IRQ(77) IRQ_TYPE_LEVEL_HIGH>, 4562306a36Sopenharmony_ci <SOC_PERIPHERAL_IRQ(79) IRQ_TYPE_LEVEL_HIGH>; 4662306a36Sopenharmony_ci clocks = <&ccu CLK_APB0>, 4762306a36Sopenharmony_ci <&dcxo>, 4862306a36Sopenharmony_ci <&rtc CLK_OSC32K>; 4962306a36Sopenharmony_ci clock-names = "apb", "hosc", "losc"; 5062306a36Sopenharmony_ci gpio-controller; 5162306a36Sopenharmony_ci interrupt-controller; 5262306a36Sopenharmony_ci #gpio-cells = <3>; 5362306a36Sopenharmony_ci #interrupt-cells = <3>; 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci /omit-if-no-ref/ 5662306a36Sopenharmony_ci can0_pins: can0-pins { 5762306a36Sopenharmony_ci pins = "PB2", "PB3"; 5862306a36Sopenharmony_ci function = "can0"; 5962306a36Sopenharmony_ci }; 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci /omit-if-no-ref/ 6262306a36Sopenharmony_ci can1_pins: can1-pins { 6362306a36Sopenharmony_ci pins = "PB4", "PB5"; 6462306a36Sopenharmony_ci function = "can1"; 6562306a36Sopenharmony_ci }; 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci /omit-if-no-ref/ 6862306a36Sopenharmony_ci clk_pg11_pin: clk-pg11-pin { 6962306a36Sopenharmony_ci pins = "PG11"; 7062306a36Sopenharmony_ci function = "clk"; 7162306a36Sopenharmony_ci }; 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ci /omit-if-no-ref/ 7462306a36Sopenharmony_ci dsi_4lane_pins: dsi-4lane-pins { 7562306a36Sopenharmony_ci pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", 7662306a36Sopenharmony_ci "PD6", "PD7", "PD8", "PD9"; 7762306a36Sopenharmony_ci drive-strength = <30>; 7862306a36Sopenharmony_ci function = "dsi"; 7962306a36Sopenharmony_ci }; 8062306a36Sopenharmony_ci 8162306a36Sopenharmony_ci /omit-if-no-ref/ 8262306a36Sopenharmony_ci lcd_rgb666_pins: lcd-rgb666-pins { 8362306a36Sopenharmony_ci pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", 8462306a36Sopenharmony_ci "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", 8562306a36Sopenharmony_ci "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", 8662306a36Sopenharmony_ci "PD18", "PD19", "PD20", "PD21"; 8762306a36Sopenharmony_ci function = "lcd0"; 8862306a36Sopenharmony_ci }; 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ci /omit-if-no-ref/ 9162306a36Sopenharmony_ci mmc0_pins: mmc0-pins { 9262306a36Sopenharmony_ci pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5"; 9362306a36Sopenharmony_ci function = "mmc0"; 9462306a36Sopenharmony_ci }; 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ci /omit-if-no-ref/ 9762306a36Sopenharmony_ci mmc1_pins: mmc1-pins { 9862306a36Sopenharmony_ci pins = "PG0", "PG1", "PG2", "PG3", "PG4", "PG5"; 9962306a36Sopenharmony_ci function = "mmc1"; 10062306a36Sopenharmony_ci }; 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_ci /omit-if-no-ref/ 10362306a36Sopenharmony_ci mmc2_pins: mmc2-pins { 10462306a36Sopenharmony_ci pins = "PC2", "PC3", "PC4", "PC5", "PC6", "PC7"; 10562306a36Sopenharmony_ci function = "mmc2"; 10662306a36Sopenharmony_ci }; 10762306a36Sopenharmony_ci 10862306a36Sopenharmony_ci /omit-if-no-ref/ 10962306a36Sopenharmony_ci rgmii_pe_pins: rgmii-pe-pins { 11062306a36Sopenharmony_ci pins = "PE0", "PE1", "PE2", "PE3", "PE4", 11162306a36Sopenharmony_ci "PE5", "PE6", "PE7", "PE8", "PE9", 11262306a36Sopenharmony_ci "PE11", "PE12", "PE13", "PE14", "PE15"; 11362306a36Sopenharmony_ci function = "emac"; 11462306a36Sopenharmony_ci }; 11562306a36Sopenharmony_ci 11662306a36Sopenharmony_ci /omit-if-no-ref/ 11762306a36Sopenharmony_ci rmii_pe_pins: rmii-pe-pins { 11862306a36Sopenharmony_ci pins = "PE0", "PE1", "PE2", "PE3", "PE4", 11962306a36Sopenharmony_ci "PE5", "PE6", "PE7", "PE8", "PE9"; 12062306a36Sopenharmony_ci function = "emac"; 12162306a36Sopenharmony_ci }; 12262306a36Sopenharmony_ci 12362306a36Sopenharmony_ci /omit-if-no-ref/ 12462306a36Sopenharmony_ci spi0_pins: spi0-pins { 12562306a36Sopenharmony_ci pins = "PC2", "PC3", "PC4", "PC5"; 12662306a36Sopenharmony_ci function = "spi0"; 12762306a36Sopenharmony_ci }; 12862306a36Sopenharmony_ci 12962306a36Sopenharmony_ci /omit-if-no-ref/ 13062306a36Sopenharmony_ci uart1_pg6_pins: uart1-pg6-pins { 13162306a36Sopenharmony_ci pins = "PG6", "PG7"; 13262306a36Sopenharmony_ci function = "uart1"; 13362306a36Sopenharmony_ci }; 13462306a36Sopenharmony_ci 13562306a36Sopenharmony_ci /omit-if-no-ref/ 13662306a36Sopenharmony_ci uart1_pg8_rts_cts_pins: uart1-pg8-rts-cts-pins { 13762306a36Sopenharmony_ci pins = "PG8", "PG9"; 13862306a36Sopenharmony_ci function = "uart1"; 13962306a36Sopenharmony_ci }; 14062306a36Sopenharmony_ci 14162306a36Sopenharmony_ci /omit-if-no-ref/ 14262306a36Sopenharmony_ci uart3_pb_pins: uart3-pb-pins { 14362306a36Sopenharmony_ci pins = "PB6", "PB7"; 14462306a36Sopenharmony_ci function = "uart3"; 14562306a36Sopenharmony_ci }; 14662306a36Sopenharmony_ci }; 14762306a36Sopenharmony_ci 14862306a36Sopenharmony_ci ccu: clock-controller@2001000 { 14962306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-ccu"; 15062306a36Sopenharmony_ci reg = <0x2001000 0x1000>; 15162306a36Sopenharmony_ci clocks = <&dcxo>, 15262306a36Sopenharmony_ci <&rtc CLK_OSC32K>, 15362306a36Sopenharmony_ci <&rtc CLK_IOSC>; 15462306a36Sopenharmony_ci clock-names = "hosc", "losc", "iosc"; 15562306a36Sopenharmony_ci #clock-cells = <1>; 15662306a36Sopenharmony_ci #reset-cells = <1>; 15762306a36Sopenharmony_ci }; 15862306a36Sopenharmony_ci 15962306a36Sopenharmony_ci gpadc: adc@2009000 { 16062306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-gpadc"; 16162306a36Sopenharmony_ci reg = <0x2009000 0x400>; 16262306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_GPADC>; 16362306a36Sopenharmony_ci resets = <&ccu RST_BUS_GPADC>; 16462306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(57) IRQ_TYPE_LEVEL_HIGH>; 16562306a36Sopenharmony_ci status = "disabled"; 16662306a36Sopenharmony_ci #io-channel-cells = <1>; 16762306a36Sopenharmony_ci }; 16862306a36Sopenharmony_ci 16962306a36Sopenharmony_ci dmic: dmic@2031000 { 17062306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-dmic", 17162306a36Sopenharmony_ci "allwinner,sun50i-h6-dmic"; 17262306a36Sopenharmony_ci reg = <0x2031000 0x400>; 17362306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(24) IRQ_TYPE_LEVEL_HIGH>; 17462306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_DMIC>, 17562306a36Sopenharmony_ci <&ccu CLK_DMIC>; 17662306a36Sopenharmony_ci clock-names = "bus", "mod"; 17762306a36Sopenharmony_ci resets = <&ccu RST_BUS_DMIC>; 17862306a36Sopenharmony_ci dmas = <&dma 8>; 17962306a36Sopenharmony_ci dma-names = "rx"; 18062306a36Sopenharmony_ci status = "disabled"; 18162306a36Sopenharmony_ci #sound-dai-cells = <0>; 18262306a36Sopenharmony_ci }; 18362306a36Sopenharmony_ci 18462306a36Sopenharmony_ci i2s1: i2s@2033000 { 18562306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-i2s", 18662306a36Sopenharmony_ci "allwinner,sun50i-r329-i2s"; 18762306a36Sopenharmony_ci reg = <0x2033000 0x1000>; 18862306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(27) IRQ_TYPE_LEVEL_HIGH>; 18962306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_I2S1>, 19062306a36Sopenharmony_ci <&ccu CLK_I2S1>; 19162306a36Sopenharmony_ci clock-names = "apb", "mod"; 19262306a36Sopenharmony_ci resets = <&ccu RST_BUS_I2S1>; 19362306a36Sopenharmony_ci dmas = <&dma 4>, <&dma 4>; 19462306a36Sopenharmony_ci dma-names = "rx", "tx"; 19562306a36Sopenharmony_ci status = "disabled"; 19662306a36Sopenharmony_ci #sound-dai-cells = <0>; 19762306a36Sopenharmony_ci }; 19862306a36Sopenharmony_ci 19962306a36Sopenharmony_ci i2s2: i2s@2034000 { 20062306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-i2s", 20162306a36Sopenharmony_ci "allwinner,sun50i-r329-i2s"; 20262306a36Sopenharmony_ci reg = <0x2034000 0x1000>; 20362306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(28) IRQ_TYPE_LEVEL_HIGH>; 20462306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_I2S2>, 20562306a36Sopenharmony_ci <&ccu CLK_I2S2>; 20662306a36Sopenharmony_ci clock-names = "apb", "mod"; 20762306a36Sopenharmony_ci resets = <&ccu RST_BUS_I2S2>; 20862306a36Sopenharmony_ci dmas = <&dma 5>, <&dma 5>; 20962306a36Sopenharmony_ci dma-names = "rx", "tx"; 21062306a36Sopenharmony_ci status = "disabled"; 21162306a36Sopenharmony_ci #sound-dai-cells = <0>; 21262306a36Sopenharmony_ci }; 21362306a36Sopenharmony_ci 21462306a36Sopenharmony_ci timer: timer@2050000 { 21562306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-timer", 21662306a36Sopenharmony_ci "allwinner,sun8i-a23-timer"; 21762306a36Sopenharmony_ci reg = <0x2050000 0xa0>; 21862306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(59) IRQ_TYPE_LEVEL_HIGH>, 21962306a36Sopenharmony_ci <SOC_PERIPHERAL_IRQ(60) IRQ_TYPE_LEVEL_HIGH>; 22062306a36Sopenharmony_ci clocks = <&dcxo>; 22162306a36Sopenharmony_ci }; 22262306a36Sopenharmony_ci 22362306a36Sopenharmony_ci wdt: watchdog@20500a0 { 22462306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-wdt-reset", 22562306a36Sopenharmony_ci "allwinner,sun20i-d1-wdt"; 22662306a36Sopenharmony_ci reg = <0x20500a0 0x20>; 22762306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(63) IRQ_TYPE_LEVEL_HIGH>; 22862306a36Sopenharmony_ci clocks = <&dcxo>, <&rtc CLK_OSC32K>; 22962306a36Sopenharmony_ci clock-names = "hosc", "losc"; 23062306a36Sopenharmony_ci status = "reserved"; 23162306a36Sopenharmony_ci }; 23262306a36Sopenharmony_ci 23362306a36Sopenharmony_ci uart0: serial@2500000 { 23462306a36Sopenharmony_ci compatible = "snps,dw-apb-uart"; 23562306a36Sopenharmony_ci reg = <0x2500000 0x400>; 23662306a36Sopenharmony_ci reg-io-width = <4>; 23762306a36Sopenharmony_ci reg-shift = <2>; 23862306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(2) IRQ_TYPE_LEVEL_HIGH>; 23962306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_UART0>; 24062306a36Sopenharmony_ci resets = <&ccu RST_BUS_UART0>; 24162306a36Sopenharmony_ci dmas = <&dma 14>, <&dma 14>; 24262306a36Sopenharmony_ci dma-names = "tx", "rx"; 24362306a36Sopenharmony_ci status = "disabled"; 24462306a36Sopenharmony_ci }; 24562306a36Sopenharmony_ci 24662306a36Sopenharmony_ci uart1: serial@2500400 { 24762306a36Sopenharmony_ci compatible = "snps,dw-apb-uart"; 24862306a36Sopenharmony_ci reg = <0x2500400 0x400>; 24962306a36Sopenharmony_ci reg-io-width = <4>; 25062306a36Sopenharmony_ci reg-shift = <2>; 25162306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(3) IRQ_TYPE_LEVEL_HIGH>; 25262306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_UART1>; 25362306a36Sopenharmony_ci resets = <&ccu RST_BUS_UART1>; 25462306a36Sopenharmony_ci dmas = <&dma 15>, <&dma 15>; 25562306a36Sopenharmony_ci dma-names = "tx", "rx"; 25662306a36Sopenharmony_ci status = "disabled"; 25762306a36Sopenharmony_ci }; 25862306a36Sopenharmony_ci 25962306a36Sopenharmony_ci uart2: serial@2500800 { 26062306a36Sopenharmony_ci compatible = "snps,dw-apb-uart"; 26162306a36Sopenharmony_ci reg = <0x2500800 0x400>; 26262306a36Sopenharmony_ci reg-io-width = <4>; 26362306a36Sopenharmony_ci reg-shift = <2>; 26462306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(4) IRQ_TYPE_LEVEL_HIGH>; 26562306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_UART2>; 26662306a36Sopenharmony_ci resets = <&ccu RST_BUS_UART2>; 26762306a36Sopenharmony_ci dmas = <&dma 16>, <&dma 16>; 26862306a36Sopenharmony_ci dma-names = "tx", "rx"; 26962306a36Sopenharmony_ci status = "disabled"; 27062306a36Sopenharmony_ci }; 27162306a36Sopenharmony_ci 27262306a36Sopenharmony_ci uart3: serial@2500c00 { 27362306a36Sopenharmony_ci compatible = "snps,dw-apb-uart"; 27462306a36Sopenharmony_ci reg = <0x2500c00 0x400>; 27562306a36Sopenharmony_ci reg-io-width = <4>; 27662306a36Sopenharmony_ci reg-shift = <2>; 27762306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(5) IRQ_TYPE_LEVEL_HIGH>; 27862306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_UART3>; 27962306a36Sopenharmony_ci resets = <&ccu RST_BUS_UART3>; 28062306a36Sopenharmony_ci dmas = <&dma 17>, <&dma 17>; 28162306a36Sopenharmony_ci dma-names = "tx", "rx"; 28262306a36Sopenharmony_ci status = "disabled"; 28362306a36Sopenharmony_ci }; 28462306a36Sopenharmony_ci 28562306a36Sopenharmony_ci uart4: serial@2501000 { 28662306a36Sopenharmony_ci compatible = "snps,dw-apb-uart"; 28762306a36Sopenharmony_ci reg = <0x2501000 0x400>; 28862306a36Sopenharmony_ci reg-io-width = <4>; 28962306a36Sopenharmony_ci reg-shift = <2>; 29062306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(6) IRQ_TYPE_LEVEL_HIGH>; 29162306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_UART4>; 29262306a36Sopenharmony_ci resets = <&ccu RST_BUS_UART4>; 29362306a36Sopenharmony_ci dmas = <&dma 18>, <&dma 18>; 29462306a36Sopenharmony_ci dma-names = "tx", "rx"; 29562306a36Sopenharmony_ci status = "disabled"; 29662306a36Sopenharmony_ci }; 29762306a36Sopenharmony_ci 29862306a36Sopenharmony_ci uart5: serial@2501400 { 29962306a36Sopenharmony_ci compatible = "snps,dw-apb-uart"; 30062306a36Sopenharmony_ci reg = <0x2501400 0x400>; 30162306a36Sopenharmony_ci reg-io-width = <4>; 30262306a36Sopenharmony_ci reg-shift = <2>; 30362306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(7) IRQ_TYPE_LEVEL_HIGH>; 30462306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_UART5>; 30562306a36Sopenharmony_ci resets = <&ccu RST_BUS_UART5>; 30662306a36Sopenharmony_ci dmas = <&dma 19>, <&dma 19>; 30762306a36Sopenharmony_ci dma-names = "tx", "rx"; 30862306a36Sopenharmony_ci status = "disabled"; 30962306a36Sopenharmony_ci }; 31062306a36Sopenharmony_ci 31162306a36Sopenharmony_ci i2c0: i2c@2502000 { 31262306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-i2c", 31362306a36Sopenharmony_ci "allwinner,sun8i-v536-i2c", 31462306a36Sopenharmony_ci "allwinner,sun6i-a31-i2c"; 31562306a36Sopenharmony_ci reg = <0x2502000 0x400>; 31662306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(9) IRQ_TYPE_LEVEL_HIGH>; 31762306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_I2C0>; 31862306a36Sopenharmony_ci resets = <&ccu RST_BUS_I2C0>; 31962306a36Sopenharmony_ci dmas = <&dma 43>, <&dma 43>; 32062306a36Sopenharmony_ci dma-names = "rx", "tx"; 32162306a36Sopenharmony_ci status = "disabled"; 32262306a36Sopenharmony_ci #address-cells = <1>; 32362306a36Sopenharmony_ci #size-cells = <0>; 32462306a36Sopenharmony_ci }; 32562306a36Sopenharmony_ci 32662306a36Sopenharmony_ci i2c1: i2c@2502400 { 32762306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-i2c", 32862306a36Sopenharmony_ci "allwinner,sun8i-v536-i2c", 32962306a36Sopenharmony_ci "allwinner,sun6i-a31-i2c"; 33062306a36Sopenharmony_ci reg = <0x2502400 0x400>; 33162306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(10) IRQ_TYPE_LEVEL_HIGH>; 33262306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_I2C1>; 33362306a36Sopenharmony_ci resets = <&ccu RST_BUS_I2C1>; 33462306a36Sopenharmony_ci dmas = <&dma 44>, <&dma 44>; 33562306a36Sopenharmony_ci dma-names = "rx", "tx"; 33662306a36Sopenharmony_ci status = "disabled"; 33762306a36Sopenharmony_ci #address-cells = <1>; 33862306a36Sopenharmony_ci #size-cells = <0>; 33962306a36Sopenharmony_ci }; 34062306a36Sopenharmony_ci 34162306a36Sopenharmony_ci i2c2: i2c@2502800 { 34262306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-i2c", 34362306a36Sopenharmony_ci "allwinner,sun8i-v536-i2c", 34462306a36Sopenharmony_ci "allwinner,sun6i-a31-i2c"; 34562306a36Sopenharmony_ci reg = <0x2502800 0x400>; 34662306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(11) IRQ_TYPE_LEVEL_HIGH>; 34762306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_I2C2>; 34862306a36Sopenharmony_ci resets = <&ccu RST_BUS_I2C2>; 34962306a36Sopenharmony_ci dmas = <&dma 45>, <&dma 45>; 35062306a36Sopenharmony_ci dma-names = "rx", "tx"; 35162306a36Sopenharmony_ci status = "disabled"; 35262306a36Sopenharmony_ci #address-cells = <1>; 35362306a36Sopenharmony_ci #size-cells = <0>; 35462306a36Sopenharmony_ci }; 35562306a36Sopenharmony_ci 35662306a36Sopenharmony_ci i2c3: i2c@2502c00 { 35762306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-i2c", 35862306a36Sopenharmony_ci "allwinner,sun8i-v536-i2c", 35962306a36Sopenharmony_ci "allwinner,sun6i-a31-i2c"; 36062306a36Sopenharmony_ci reg = <0x2502c00 0x400>; 36162306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(12) IRQ_TYPE_LEVEL_HIGH>; 36262306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_I2C3>; 36362306a36Sopenharmony_ci resets = <&ccu RST_BUS_I2C3>; 36462306a36Sopenharmony_ci dmas = <&dma 46>, <&dma 46>; 36562306a36Sopenharmony_ci dma-names = "rx", "tx"; 36662306a36Sopenharmony_ci status = "disabled"; 36762306a36Sopenharmony_ci #address-cells = <1>; 36862306a36Sopenharmony_ci #size-cells = <0>; 36962306a36Sopenharmony_ci }; 37062306a36Sopenharmony_ci 37162306a36Sopenharmony_ci can0: can@2504000 { 37262306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-can"; 37362306a36Sopenharmony_ci reg = <0x02504000 0x400>; 37462306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(21) IRQ_TYPE_LEVEL_HIGH>; 37562306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_CAN0>; 37662306a36Sopenharmony_ci resets = <&ccu RST_BUS_CAN0>; 37762306a36Sopenharmony_ci pinctrl-names = "default"; 37862306a36Sopenharmony_ci pinctrl-0 = <&can0_pins>; 37962306a36Sopenharmony_ci status = "disabled"; 38062306a36Sopenharmony_ci }; 38162306a36Sopenharmony_ci 38262306a36Sopenharmony_ci can1: can@2504400 { 38362306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-can"; 38462306a36Sopenharmony_ci reg = <0x02504400 0x400>; 38562306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(22) IRQ_TYPE_LEVEL_HIGH>; 38662306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_CAN1>; 38762306a36Sopenharmony_ci resets = <&ccu RST_BUS_CAN1>; 38862306a36Sopenharmony_ci pinctrl-names = "default"; 38962306a36Sopenharmony_ci pinctrl-0 = <&can1_pins>; 39062306a36Sopenharmony_ci status = "disabled"; 39162306a36Sopenharmony_ci }; 39262306a36Sopenharmony_ci 39362306a36Sopenharmony_ci syscon: syscon@3000000 { 39462306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-system-control"; 39562306a36Sopenharmony_ci reg = <0x3000000 0x1000>; 39662306a36Sopenharmony_ci ranges; 39762306a36Sopenharmony_ci #address-cells = <1>; 39862306a36Sopenharmony_ci #size-cells = <1>; 39962306a36Sopenharmony_ci }; 40062306a36Sopenharmony_ci 40162306a36Sopenharmony_ci dma: dma-controller@3002000 { 40262306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-dma"; 40362306a36Sopenharmony_ci reg = <0x3002000 0x1000>; 40462306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(50) IRQ_TYPE_LEVEL_HIGH>; 40562306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_DMA>, <&ccu CLK_MBUS_DMA>; 40662306a36Sopenharmony_ci clock-names = "bus", "mbus"; 40762306a36Sopenharmony_ci resets = <&ccu RST_BUS_DMA>; 40862306a36Sopenharmony_ci dma-channels = <16>; 40962306a36Sopenharmony_ci dma-requests = <48>; 41062306a36Sopenharmony_ci #dma-cells = <1>; 41162306a36Sopenharmony_ci }; 41262306a36Sopenharmony_ci 41362306a36Sopenharmony_ci sid: efuse@3006000 { 41462306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-sid"; 41562306a36Sopenharmony_ci reg = <0x3006000 0x1000>; 41662306a36Sopenharmony_ci #address-cells = <1>; 41762306a36Sopenharmony_ci #size-cells = <1>; 41862306a36Sopenharmony_ci }; 41962306a36Sopenharmony_ci 42062306a36Sopenharmony_ci crypto: crypto@3040000 { 42162306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-crypto"; 42262306a36Sopenharmony_ci reg = <0x3040000 0x800>; 42362306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(52) IRQ_TYPE_LEVEL_HIGH>; 42462306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_CE>, 42562306a36Sopenharmony_ci <&ccu CLK_CE>, 42662306a36Sopenharmony_ci <&ccu CLK_MBUS_CE>, 42762306a36Sopenharmony_ci <&rtc CLK_IOSC>; 42862306a36Sopenharmony_ci clock-names = "bus", "mod", "ram", "trng"; 42962306a36Sopenharmony_ci resets = <&ccu RST_BUS_CE>; 43062306a36Sopenharmony_ci }; 43162306a36Sopenharmony_ci 43262306a36Sopenharmony_ci mbus: dram-controller@3102000 { 43362306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-mbus"; 43462306a36Sopenharmony_ci reg = <0x3102000 0x1000>, 43562306a36Sopenharmony_ci <0x3103000 0x1000>; 43662306a36Sopenharmony_ci reg-names = "mbus", "dram"; 43762306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(43) IRQ_TYPE_LEVEL_HIGH>; 43862306a36Sopenharmony_ci clocks = <&ccu CLK_MBUS>, 43962306a36Sopenharmony_ci <&ccu CLK_DRAM>, 44062306a36Sopenharmony_ci <&ccu CLK_BUS_DRAM>; 44162306a36Sopenharmony_ci clock-names = "mbus", "dram", "bus"; 44262306a36Sopenharmony_ci dma-ranges = <0 0x40000000 0x80000000>; 44362306a36Sopenharmony_ci #address-cells = <1>; 44462306a36Sopenharmony_ci #size-cells = <1>; 44562306a36Sopenharmony_ci #interconnect-cells = <1>; 44662306a36Sopenharmony_ci }; 44762306a36Sopenharmony_ci 44862306a36Sopenharmony_ci mmc0: mmc@4020000 { 44962306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-mmc"; 45062306a36Sopenharmony_ci reg = <0x4020000 0x1000>; 45162306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(40) IRQ_TYPE_LEVEL_HIGH>; 45262306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_MMC0>, <&ccu CLK_MMC0>; 45362306a36Sopenharmony_ci clock-names = "ahb", "mmc"; 45462306a36Sopenharmony_ci resets = <&ccu RST_BUS_MMC0>; 45562306a36Sopenharmony_ci reset-names = "ahb"; 45662306a36Sopenharmony_ci cap-sd-highspeed; 45762306a36Sopenharmony_ci max-frequency = <150000000>; 45862306a36Sopenharmony_ci no-mmc; 45962306a36Sopenharmony_ci status = "disabled"; 46062306a36Sopenharmony_ci #address-cells = <1>; 46162306a36Sopenharmony_ci #size-cells = <0>; 46262306a36Sopenharmony_ci }; 46362306a36Sopenharmony_ci 46462306a36Sopenharmony_ci mmc1: mmc@4021000 { 46562306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-mmc"; 46662306a36Sopenharmony_ci reg = <0x4021000 0x1000>; 46762306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(41) IRQ_TYPE_LEVEL_HIGH>; 46862306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_MMC1>, <&ccu CLK_MMC1>; 46962306a36Sopenharmony_ci clock-names = "ahb", "mmc"; 47062306a36Sopenharmony_ci resets = <&ccu RST_BUS_MMC1>; 47162306a36Sopenharmony_ci reset-names = "ahb"; 47262306a36Sopenharmony_ci cap-sd-highspeed; 47362306a36Sopenharmony_ci max-frequency = <150000000>; 47462306a36Sopenharmony_ci no-mmc; 47562306a36Sopenharmony_ci status = "disabled"; 47662306a36Sopenharmony_ci #address-cells = <1>; 47762306a36Sopenharmony_ci #size-cells = <0>; 47862306a36Sopenharmony_ci }; 47962306a36Sopenharmony_ci 48062306a36Sopenharmony_ci mmc2: mmc@4022000 { 48162306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-emmc", 48262306a36Sopenharmony_ci "allwinner,sun50i-a100-emmc"; 48362306a36Sopenharmony_ci reg = <0x4022000 0x1000>; 48462306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(42) IRQ_TYPE_LEVEL_HIGH>; 48562306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_MMC2>, <&ccu CLK_MMC2>; 48662306a36Sopenharmony_ci clock-names = "ahb", "mmc"; 48762306a36Sopenharmony_ci resets = <&ccu RST_BUS_MMC2>; 48862306a36Sopenharmony_ci reset-names = "ahb"; 48962306a36Sopenharmony_ci cap-mmc-highspeed; 49062306a36Sopenharmony_ci max-frequency = <150000000>; 49162306a36Sopenharmony_ci mmc-ddr-1_8v; 49262306a36Sopenharmony_ci mmc-ddr-3_3v; 49362306a36Sopenharmony_ci no-sd; 49462306a36Sopenharmony_ci no-sdio; 49562306a36Sopenharmony_ci status = "disabled"; 49662306a36Sopenharmony_ci #address-cells = <1>; 49762306a36Sopenharmony_ci #size-cells = <0>; 49862306a36Sopenharmony_ci }; 49962306a36Sopenharmony_ci 50062306a36Sopenharmony_ci spi0: spi@4025000 { 50162306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-spi", 50262306a36Sopenharmony_ci "allwinner,sun50i-r329-spi"; 50362306a36Sopenharmony_ci reg = <0x04025000 0x1000>; 50462306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(15) IRQ_TYPE_LEVEL_HIGH>; 50562306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_SPI0>; 50662306a36Sopenharmony_ci clock-names = "ahb", "mod"; 50762306a36Sopenharmony_ci dmas = <&dma 22>, <&dma 22>; 50862306a36Sopenharmony_ci dma-names = "rx", "tx"; 50962306a36Sopenharmony_ci resets = <&ccu RST_BUS_SPI0>; 51062306a36Sopenharmony_ci status = "disabled"; 51162306a36Sopenharmony_ci #address-cells = <1>; 51262306a36Sopenharmony_ci #size-cells = <0>; 51362306a36Sopenharmony_ci }; 51462306a36Sopenharmony_ci 51562306a36Sopenharmony_ci spi1: spi@4026000 { 51662306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-spi-dbi", 51762306a36Sopenharmony_ci "allwinner,sun50i-r329-spi-dbi", 51862306a36Sopenharmony_ci "allwinner,sun50i-r329-spi"; 51962306a36Sopenharmony_ci reg = <0x04026000 0x1000>; 52062306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(16) IRQ_TYPE_LEVEL_HIGH>; 52162306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_SPI1>, <&ccu CLK_SPI1>; 52262306a36Sopenharmony_ci clock-names = "ahb", "mod"; 52362306a36Sopenharmony_ci dmas = <&dma 23>, <&dma 23>; 52462306a36Sopenharmony_ci dma-names = "rx", "tx"; 52562306a36Sopenharmony_ci resets = <&ccu RST_BUS_SPI1>; 52662306a36Sopenharmony_ci status = "disabled"; 52762306a36Sopenharmony_ci #address-cells = <1>; 52862306a36Sopenharmony_ci #size-cells = <0>; 52962306a36Sopenharmony_ci }; 53062306a36Sopenharmony_ci 53162306a36Sopenharmony_ci usb_otg: usb@4100000 { 53262306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-musb", 53362306a36Sopenharmony_ci "allwinner,sun8i-a33-musb"; 53462306a36Sopenharmony_ci reg = <0x4100000 0x400>; 53562306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(29) IRQ_TYPE_LEVEL_HIGH>; 53662306a36Sopenharmony_ci interrupt-names = "mc"; 53762306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_OTG>; 53862306a36Sopenharmony_ci resets = <&ccu RST_BUS_OTG>; 53962306a36Sopenharmony_ci extcon = <&usbphy 0>; 54062306a36Sopenharmony_ci phys = <&usbphy 0>; 54162306a36Sopenharmony_ci phy-names = "usb"; 54262306a36Sopenharmony_ci status = "disabled"; 54362306a36Sopenharmony_ci }; 54462306a36Sopenharmony_ci 54562306a36Sopenharmony_ci usbphy: phy@4100400 { 54662306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-usb-phy"; 54762306a36Sopenharmony_ci reg = <0x4100400 0x100>, 54862306a36Sopenharmony_ci <0x4101800 0x100>, 54962306a36Sopenharmony_ci <0x4200800 0x100>; 55062306a36Sopenharmony_ci reg-names = "phy_ctrl", 55162306a36Sopenharmony_ci "pmu0", 55262306a36Sopenharmony_ci "pmu1"; 55362306a36Sopenharmony_ci clocks = <&dcxo>, 55462306a36Sopenharmony_ci <&dcxo>; 55562306a36Sopenharmony_ci clock-names = "usb0_phy", 55662306a36Sopenharmony_ci "usb1_phy"; 55762306a36Sopenharmony_ci resets = <&ccu RST_USB_PHY0>, 55862306a36Sopenharmony_ci <&ccu RST_USB_PHY1>; 55962306a36Sopenharmony_ci reset-names = "usb0_reset", 56062306a36Sopenharmony_ci "usb1_reset"; 56162306a36Sopenharmony_ci status = "disabled"; 56262306a36Sopenharmony_ci #phy-cells = <1>; 56362306a36Sopenharmony_ci }; 56462306a36Sopenharmony_ci 56562306a36Sopenharmony_ci ehci0: usb@4101000 { 56662306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-ehci", 56762306a36Sopenharmony_ci "generic-ehci"; 56862306a36Sopenharmony_ci reg = <0x4101000 0x100>; 56962306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(30) IRQ_TYPE_LEVEL_HIGH>; 57062306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_OHCI0>, 57162306a36Sopenharmony_ci <&ccu CLK_BUS_EHCI0>, 57262306a36Sopenharmony_ci <&ccu CLK_USB_OHCI0>; 57362306a36Sopenharmony_ci resets = <&ccu RST_BUS_OHCI0>, 57462306a36Sopenharmony_ci <&ccu RST_BUS_EHCI0>; 57562306a36Sopenharmony_ci phys = <&usbphy 0>; 57662306a36Sopenharmony_ci phy-names = "usb"; 57762306a36Sopenharmony_ci status = "disabled"; 57862306a36Sopenharmony_ci }; 57962306a36Sopenharmony_ci 58062306a36Sopenharmony_ci ohci0: usb@4101400 { 58162306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-ohci", 58262306a36Sopenharmony_ci "generic-ohci"; 58362306a36Sopenharmony_ci reg = <0x4101400 0x100>; 58462306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(31) IRQ_TYPE_LEVEL_HIGH>; 58562306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_OHCI0>, 58662306a36Sopenharmony_ci <&ccu CLK_USB_OHCI0>; 58762306a36Sopenharmony_ci resets = <&ccu RST_BUS_OHCI0>; 58862306a36Sopenharmony_ci phys = <&usbphy 0>; 58962306a36Sopenharmony_ci phy-names = "usb"; 59062306a36Sopenharmony_ci status = "disabled"; 59162306a36Sopenharmony_ci }; 59262306a36Sopenharmony_ci 59362306a36Sopenharmony_ci ehci1: usb@4200000 { 59462306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-ehci", 59562306a36Sopenharmony_ci "generic-ehci"; 59662306a36Sopenharmony_ci reg = <0x4200000 0x100>; 59762306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(33) IRQ_TYPE_LEVEL_HIGH>; 59862306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_OHCI1>, 59962306a36Sopenharmony_ci <&ccu CLK_BUS_EHCI1>, 60062306a36Sopenharmony_ci <&ccu CLK_USB_OHCI1>; 60162306a36Sopenharmony_ci resets = <&ccu RST_BUS_OHCI1>, 60262306a36Sopenharmony_ci <&ccu RST_BUS_EHCI1>; 60362306a36Sopenharmony_ci phys = <&usbphy 1>; 60462306a36Sopenharmony_ci phy-names = "usb"; 60562306a36Sopenharmony_ci status = "disabled"; 60662306a36Sopenharmony_ci }; 60762306a36Sopenharmony_ci 60862306a36Sopenharmony_ci ohci1: usb@4200400 { 60962306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-ohci", 61062306a36Sopenharmony_ci "generic-ohci"; 61162306a36Sopenharmony_ci reg = <0x4200400 0x100>; 61262306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(34) IRQ_TYPE_LEVEL_HIGH>; 61362306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_OHCI1>, 61462306a36Sopenharmony_ci <&ccu CLK_USB_OHCI1>; 61562306a36Sopenharmony_ci resets = <&ccu RST_BUS_OHCI1>; 61662306a36Sopenharmony_ci phys = <&usbphy 1>; 61762306a36Sopenharmony_ci phy-names = "usb"; 61862306a36Sopenharmony_ci status = "disabled"; 61962306a36Sopenharmony_ci }; 62062306a36Sopenharmony_ci 62162306a36Sopenharmony_ci emac: ethernet@4500000 { 62262306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-emac", 62362306a36Sopenharmony_ci "allwinner,sun50i-a64-emac"; 62462306a36Sopenharmony_ci reg = <0x4500000 0x10000>; 62562306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(46) IRQ_TYPE_LEVEL_HIGH>; 62662306a36Sopenharmony_ci interrupt-names = "macirq"; 62762306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_EMAC>; 62862306a36Sopenharmony_ci clock-names = "stmmaceth"; 62962306a36Sopenharmony_ci resets = <&ccu RST_BUS_EMAC>; 63062306a36Sopenharmony_ci reset-names = "stmmaceth"; 63162306a36Sopenharmony_ci syscon = <&syscon>; 63262306a36Sopenharmony_ci status = "disabled"; 63362306a36Sopenharmony_ci 63462306a36Sopenharmony_ci mdio: mdio { 63562306a36Sopenharmony_ci compatible = "snps,dwmac-mdio"; 63662306a36Sopenharmony_ci #address-cells = <1>; 63762306a36Sopenharmony_ci #size-cells = <0>; 63862306a36Sopenharmony_ci }; 63962306a36Sopenharmony_ci }; 64062306a36Sopenharmony_ci 64162306a36Sopenharmony_ci display_clocks: clock-controller@5000000 { 64262306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-de2-clk", 64362306a36Sopenharmony_ci "allwinner,sun50i-h5-de2-clk"; 64462306a36Sopenharmony_ci reg = <0x5000000 0x10000>; 64562306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_DE>, <&ccu CLK_DE>; 64662306a36Sopenharmony_ci clock-names = "bus", "mod"; 64762306a36Sopenharmony_ci resets = <&ccu RST_BUS_DE>; 64862306a36Sopenharmony_ci #clock-cells = <1>; 64962306a36Sopenharmony_ci #reset-cells = <1>; 65062306a36Sopenharmony_ci }; 65162306a36Sopenharmony_ci 65262306a36Sopenharmony_ci mixer0: mixer@5100000 { 65362306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-de2-mixer-0"; 65462306a36Sopenharmony_ci reg = <0x5100000 0x100000>; 65562306a36Sopenharmony_ci clocks = <&display_clocks CLK_BUS_MIXER0>, 65662306a36Sopenharmony_ci <&display_clocks CLK_MIXER0>; 65762306a36Sopenharmony_ci clock-names = "bus", "mod"; 65862306a36Sopenharmony_ci resets = <&display_clocks RST_MIXER0>; 65962306a36Sopenharmony_ci 66062306a36Sopenharmony_ci ports { 66162306a36Sopenharmony_ci #address-cells = <1>; 66262306a36Sopenharmony_ci #size-cells = <0>; 66362306a36Sopenharmony_ci 66462306a36Sopenharmony_ci mixer0_out: port@1 { 66562306a36Sopenharmony_ci reg = <1>; 66662306a36Sopenharmony_ci 66762306a36Sopenharmony_ci mixer0_out_tcon_top_mixer0: endpoint { 66862306a36Sopenharmony_ci remote-endpoint = <&tcon_top_mixer0_in_mixer0>; 66962306a36Sopenharmony_ci }; 67062306a36Sopenharmony_ci }; 67162306a36Sopenharmony_ci }; 67262306a36Sopenharmony_ci }; 67362306a36Sopenharmony_ci 67462306a36Sopenharmony_ci mixer1: mixer@5200000 { 67562306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-de2-mixer-1"; 67662306a36Sopenharmony_ci reg = <0x5200000 0x100000>; 67762306a36Sopenharmony_ci clocks = <&display_clocks CLK_BUS_MIXER1>, 67862306a36Sopenharmony_ci <&display_clocks CLK_MIXER1>; 67962306a36Sopenharmony_ci clock-names = "bus", "mod"; 68062306a36Sopenharmony_ci resets = <&display_clocks RST_MIXER1>; 68162306a36Sopenharmony_ci 68262306a36Sopenharmony_ci ports { 68362306a36Sopenharmony_ci #address-cells = <1>; 68462306a36Sopenharmony_ci #size-cells = <0>; 68562306a36Sopenharmony_ci 68662306a36Sopenharmony_ci mixer1_out: port@1 { 68762306a36Sopenharmony_ci reg = <1>; 68862306a36Sopenharmony_ci 68962306a36Sopenharmony_ci mixer1_out_tcon_top_mixer1: endpoint { 69062306a36Sopenharmony_ci remote-endpoint = <&tcon_top_mixer1_in_mixer1>; 69162306a36Sopenharmony_ci }; 69262306a36Sopenharmony_ci }; 69362306a36Sopenharmony_ci }; 69462306a36Sopenharmony_ci }; 69562306a36Sopenharmony_ci 69662306a36Sopenharmony_ci dsi: dsi@5450000 { 69762306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-mipi-dsi", 69862306a36Sopenharmony_ci "allwinner,sun50i-a100-mipi-dsi"; 69962306a36Sopenharmony_ci reg = <0x5450000 0x1000>; 70062306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(92) IRQ_TYPE_LEVEL_HIGH>; 70162306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_MIPI_DSI>, 70262306a36Sopenharmony_ci <&tcon_top CLK_TCON_TOP_DSI>; 70362306a36Sopenharmony_ci clock-names = "bus", "mod"; 70462306a36Sopenharmony_ci resets = <&ccu RST_BUS_MIPI_DSI>; 70562306a36Sopenharmony_ci phys = <&dphy>; 70662306a36Sopenharmony_ci phy-names = "dphy"; 70762306a36Sopenharmony_ci status = "disabled"; 70862306a36Sopenharmony_ci 70962306a36Sopenharmony_ci port { 71062306a36Sopenharmony_ci dsi_in_tcon_lcd0: endpoint { 71162306a36Sopenharmony_ci remote-endpoint = <&tcon_lcd0_out_dsi>; 71262306a36Sopenharmony_ci }; 71362306a36Sopenharmony_ci }; 71462306a36Sopenharmony_ci }; 71562306a36Sopenharmony_ci 71662306a36Sopenharmony_ci dphy: phy@5451000 { 71762306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-mipi-dphy", 71862306a36Sopenharmony_ci "allwinner,sun50i-a100-mipi-dphy"; 71962306a36Sopenharmony_ci reg = <0x5451000 0x1000>; 72062306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(92) IRQ_TYPE_LEVEL_HIGH>; 72162306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_MIPI_DSI>, 72262306a36Sopenharmony_ci <&ccu CLK_MIPI_DSI>; 72362306a36Sopenharmony_ci clock-names = "bus", "mod"; 72462306a36Sopenharmony_ci resets = <&ccu RST_BUS_MIPI_DSI>; 72562306a36Sopenharmony_ci #phy-cells = <0>; 72662306a36Sopenharmony_ci }; 72762306a36Sopenharmony_ci 72862306a36Sopenharmony_ci tcon_top: tcon-top@5460000 { 72962306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-tcon-top"; 73062306a36Sopenharmony_ci reg = <0x5460000 0x1000>; 73162306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_DPSS_TOP>, 73262306a36Sopenharmony_ci <&ccu CLK_TCON_TV>, 73362306a36Sopenharmony_ci <&ccu CLK_TVE>, 73462306a36Sopenharmony_ci <&ccu CLK_TCON_LCD0>; 73562306a36Sopenharmony_ci clock-names = "bus", "tcon-tv0", "tve0", "dsi"; 73662306a36Sopenharmony_ci clock-output-names = "tcon-top-tv0", "tcon-top-dsi"; 73762306a36Sopenharmony_ci resets = <&ccu RST_BUS_DPSS_TOP>; 73862306a36Sopenharmony_ci #clock-cells = <1>; 73962306a36Sopenharmony_ci 74062306a36Sopenharmony_ci ports { 74162306a36Sopenharmony_ci #address-cells = <1>; 74262306a36Sopenharmony_ci #size-cells = <0>; 74362306a36Sopenharmony_ci 74462306a36Sopenharmony_ci tcon_top_mixer0_in: port@0 { 74562306a36Sopenharmony_ci reg = <0>; 74662306a36Sopenharmony_ci 74762306a36Sopenharmony_ci tcon_top_mixer0_in_mixer0: endpoint { 74862306a36Sopenharmony_ci remote-endpoint = <&mixer0_out_tcon_top_mixer0>; 74962306a36Sopenharmony_ci }; 75062306a36Sopenharmony_ci }; 75162306a36Sopenharmony_ci 75262306a36Sopenharmony_ci tcon_top_mixer0_out: port@1 { 75362306a36Sopenharmony_ci reg = <1>; 75462306a36Sopenharmony_ci #address-cells = <1>; 75562306a36Sopenharmony_ci #size-cells = <0>; 75662306a36Sopenharmony_ci 75762306a36Sopenharmony_ci tcon_top_mixer0_out_tcon_lcd0: endpoint@0 { 75862306a36Sopenharmony_ci reg = <0>; 75962306a36Sopenharmony_ci remote-endpoint = <&tcon_lcd0_in_tcon_top_mixer0>; 76062306a36Sopenharmony_ci }; 76162306a36Sopenharmony_ci 76262306a36Sopenharmony_ci tcon_top_mixer0_out_tcon_tv0: endpoint@2 { 76362306a36Sopenharmony_ci reg = <2>; 76462306a36Sopenharmony_ci remote-endpoint = <&tcon_tv0_in_tcon_top_mixer0>; 76562306a36Sopenharmony_ci }; 76662306a36Sopenharmony_ci }; 76762306a36Sopenharmony_ci 76862306a36Sopenharmony_ci tcon_top_mixer1_in: port@2 { 76962306a36Sopenharmony_ci reg = <2>; 77062306a36Sopenharmony_ci #address-cells = <1>; 77162306a36Sopenharmony_ci #size-cells = <0>; 77262306a36Sopenharmony_ci 77362306a36Sopenharmony_ci tcon_top_mixer1_in_mixer1: endpoint@1 { 77462306a36Sopenharmony_ci reg = <1>; 77562306a36Sopenharmony_ci remote-endpoint = <&mixer1_out_tcon_top_mixer1>; 77662306a36Sopenharmony_ci }; 77762306a36Sopenharmony_ci }; 77862306a36Sopenharmony_ci 77962306a36Sopenharmony_ci tcon_top_mixer1_out: port@3 { 78062306a36Sopenharmony_ci reg = <3>; 78162306a36Sopenharmony_ci #address-cells = <1>; 78262306a36Sopenharmony_ci #size-cells = <0>; 78362306a36Sopenharmony_ci 78462306a36Sopenharmony_ci tcon_top_mixer1_out_tcon_lcd0: endpoint@0 { 78562306a36Sopenharmony_ci reg = <0>; 78662306a36Sopenharmony_ci remote-endpoint = <&tcon_lcd0_in_tcon_top_mixer1>; 78762306a36Sopenharmony_ci }; 78862306a36Sopenharmony_ci 78962306a36Sopenharmony_ci tcon_top_mixer1_out_tcon_tv0: endpoint@2 { 79062306a36Sopenharmony_ci reg = <2>; 79162306a36Sopenharmony_ci remote-endpoint = <&tcon_tv0_in_tcon_top_mixer1>; 79262306a36Sopenharmony_ci }; 79362306a36Sopenharmony_ci }; 79462306a36Sopenharmony_ci 79562306a36Sopenharmony_ci tcon_top_hdmi_in: port@4 { 79662306a36Sopenharmony_ci reg = <4>; 79762306a36Sopenharmony_ci 79862306a36Sopenharmony_ci tcon_top_hdmi_in_tcon_tv0: endpoint { 79962306a36Sopenharmony_ci remote-endpoint = <&tcon_tv0_out_tcon_top_hdmi>; 80062306a36Sopenharmony_ci }; 80162306a36Sopenharmony_ci }; 80262306a36Sopenharmony_ci 80362306a36Sopenharmony_ci tcon_top_hdmi_out: port@5 { 80462306a36Sopenharmony_ci reg = <5>; 80562306a36Sopenharmony_ci }; 80662306a36Sopenharmony_ci }; 80762306a36Sopenharmony_ci }; 80862306a36Sopenharmony_ci 80962306a36Sopenharmony_ci tcon_lcd0: lcd-controller@5461000 { 81062306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-tcon-lcd"; 81162306a36Sopenharmony_ci reg = <0x5461000 0x1000>; 81262306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(90) IRQ_TYPE_LEVEL_HIGH>; 81362306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_TCON_LCD0>, 81462306a36Sopenharmony_ci <&ccu CLK_TCON_LCD0>; 81562306a36Sopenharmony_ci clock-names = "ahb", "tcon-ch0"; 81662306a36Sopenharmony_ci clock-output-names = "tcon-pixel-clock"; 81762306a36Sopenharmony_ci resets = <&ccu RST_BUS_TCON_LCD0>, 81862306a36Sopenharmony_ci <&ccu RST_BUS_LVDS0>; 81962306a36Sopenharmony_ci reset-names = "lcd", "lvds"; 82062306a36Sopenharmony_ci #clock-cells = <0>; 82162306a36Sopenharmony_ci 82262306a36Sopenharmony_ci ports { 82362306a36Sopenharmony_ci #address-cells = <1>; 82462306a36Sopenharmony_ci #size-cells = <0>; 82562306a36Sopenharmony_ci 82662306a36Sopenharmony_ci tcon_lcd0_in: port@0 { 82762306a36Sopenharmony_ci reg = <0>; 82862306a36Sopenharmony_ci #address-cells = <1>; 82962306a36Sopenharmony_ci #size-cells = <0>; 83062306a36Sopenharmony_ci 83162306a36Sopenharmony_ci tcon_lcd0_in_tcon_top_mixer0: endpoint@0 { 83262306a36Sopenharmony_ci reg = <0>; 83362306a36Sopenharmony_ci remote-endpoint = <&tcon_top_mixer0_out_tcon_lcd0>; 83462306a36Sopenharmony_ci }; 83562306a36Sopenharmony_ci 83662306a36Sopenharmony_ci tcon_lcd0_in_tcon_top_mixer1: endpoint@1 { 83762306a36Sopenharmony_ci reg = <1>; 83862306a36Sopenharmony_ci remote-endpoint = <&tcon_top_mixer1_out_tcon_lcd0>; 83962306a36Sopenharmony_ci }; 84062306a36Sopenharmony_ci }; 84162306a36Sopenharmony_ci 84262306a36Sopenharmony_ci tcon_lcd0_out: port@1 { 84362306a36Sopenharmony_ci reg = <1>; 84462306a36Sopenharmony_ci #address-cells = <1>; 84562306a36Sopenharmony_ci #size-cells = <0>; 84662306a36Sopenharmony_ci 84762306a36Sopenharmony_ci tcon_lcd0_out_dsi: endpoint@1 { 84862306a36Sopenharmony_ci reg = <1>; 84962306a36Sopenharmony_ci remote-endpoint = <&dsi_in_tcon_lcd0>; 85062306a36Sopenharmony_ci }; 85162306a36Sopenharmony_ci }; 85262306a36Sopenharmony_ci }; 85362306a36Sopenharmony_ci }; 85462306a36Sopenharmony_ci 85562306a36Sopenharmony_ci tcon_tv0: lcd-controller@5470000 { 85662306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-tcon-tv"; 85762306a36Sopenharmony_ci reg = <0x5470000 0x1000>; 85862306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(91) IRQ_TYPE_LEVEL_HIGH>; 85962306a36Sopenharmony_ci clocks = <&ccu CLK_BUS_TCON_TV>, 86062306a36Sopenharmony_ci <&tcon_top CLK_TCON_TOP_TV0>; 86162306a36Sopenharmony_ci clock-names = "ahb", "tcon-ch1"; 86262306a36Sopenharmony_ci resets = <&ccu RST_BUS_TCON_TV>; 86362306a36Sopenharmony_ci reset-names = "lcd"; 86462306a36Sopenharmony_ci 86562306a36Sopenharmony_ci ports { 86662306a36Sopenharmony_ci #address-cells = <1>; 86762306a36Sopenharmony_ci #size-cells = <0>; 86862306a36Sopenharmony_ci 86962306a36Sopenharmony_ci tcon_tv0_in: port@0 { 87062306a36Sopenharmony_ci reg = <0>; 87162306a36Sopenharmony_ci #address-cells = <1>; 87262306a36Sopenharmony_ci #size-cells = <0>; 87362306a36Sopenharmony_ci 87462306a36Sopenharmony_ci tcon_tv0_in_tcon_top_mixer0: endpoint@0 { 87562306a36Sopenharmony_ci reg = <0>; 87662306a36Sopenharmony_ci remote-endpoint = <&tcon_top_mixer0_out_tcon_tv0>; 87762306a36Sopenharmony_ci }; 87862306a36Sopenharmony_ci 87962306a36Sopenharmony_ci tcon_tv0_in_tcon_top_mixer1: endpoint@1 { 88062306a36Sopenharmony_ci reg = <1>; 88162306a36Sopenharmony_ci remote-endpoint = <&tcon_top_mixer1_out_tcon_tv0>; 88262306a36Sopenharmony_ci }; 88362306a36Sopenharmony_ci }; 88462306a36Sopenharmony_ci 88562306a36Sopenharmony_ci tcon_tv0_out: port@1 { 88662306a36Sopenharmony_ci reg = <1>; 88762306a36Sopenharmony_ci 88862306a36Sopenharmony_ci tcon_tv0_out_tcon_top_hdmi: endpoint { 88962306a36Sopenharmony_ci remote-endpoint = <&tcon_top_hdmi_in_tcon_tv0>; 89062306a36Sopenharmony_ci }; 89162306a36Sopenharmony_ci }; 89262306a36Sopenharmony_ci }; 89362306a36Sopenharmony_ci }; 89462306a36Sopenharmony_ci 89562306a36Sopenharmony_ci ppu: power-controller@7001000 { 89662306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-ppu"; 89762306a36Sopenharmony_ci reg = <0x7001000 0x1000>; 89862306a36Sopenharmony_ci clocks = <&r_ccu CLK_BUS_R_PPU>; 89962306a36Sopenharmony_ci resets = <&r_ccu RST_BUS_R_PPU>; 90062306a36Sopenharmony_ci #power-domain-cells = <1>; 90162306a36Sopenharmony_ci }; 90262306a36Sopenharmony_ci 90362306a36Sopenharmony_ci r_ccu: clock-controller@7010000 { 90462306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-r-ccu"; 90562306a36Sopenharmony_ci reg = <0x7010000 0x400>; 90662306a36Sopenharmony_ci clocks = <&dcxo>, 90762306a36Sopenharmony_ci <&rtc CLK_OSC32K>, 90862306a36Sopenharmony_ci <&rtc CLK_IOSC>, 90962306a36Sopenharmony_ci <&ccu CLK_PLL_PERIPH0_DIV3>; 91062306a36Sopenharmony_ci clock-names = "hosc", "losc", "iosc", "pll-periph"; 91162306a36Sopenharmony_ci #clock-cells = <1>; 91262306a36Sopenharmony_ci #reset-cells = <1>; 91362306a36Sopenharmony_ci }; 91462306a36Sopenharmony_ci 91562306a36Sopenharmony_ci rtc: rtc@7090000 { 91662306a36Sopenharmony_ci compatible = "allwinner,sun20i-d1-rtc", 91762306a36Sopenharmony_ci "allwinner,sun50i-r329-rtc"; 91862306a36Sopenharmony_ci reg = <0x7090000 0x400>; 91962306a36Sopenharmony_ci interrupts = <SOC_PERIPHERAL_IRQ(144) IRQ_TYPE_LEVEL_HIGH>; 92062306a36Sopenharmony_ci clocks = <&r_ccu CLK_BUS_R_RTC>, 92162306a36Sopenharmony_ci <&dcxo>, 92262306a36Sopenharmony_ci <&r_ccu CLK_R_AHB>; 92362306a36Sopenharmony_ci clock-names = "bus", "hosc", "ahb"; 92462306a36Sopenharmony_ci #clock-cells = <1>; 92562306a36Sopenharmony_ci }; 92662306a36Sopenharmony_ci }; 92762306a36Sopenharmony_ci}; 928