1077e5f4fSSamuel Holland// SPDX-License-Identifier: (GPL-2.0+ or MIT) 2077e5f4fSSamuel Holland// Copyright (C) 2021-2022 Samuel Holland <samuel@sholland.org> 3077e5f4fSSamuel Holland 4077e5f4fSSamuel Holland#include <dt-bindings/clock/sun6i-rtc.h> 5077e5f4fSSamuel Holland#include <dt-bindings/clock/sun8i-de2.h> 6077e5f4fSSamuel Holland#include <dt-bindings/clock/sun8i-tcon-top.h> 7077e5f4fSSamuel Holland#include <dt-bindings/clock/sun20i-d1-ccu.h> 8077e5f4fSSamuel Holland#include <dt-bindings/clock/sun20i-d1-r-ccu.h> 9077e5f4fSSamuel Holland#include <dt-bindings/interrupt-controller/irq.h> 10077e5f4fSSamuel Holland#include <dt-bindings/reset/sun8i-de2.h> 11077e5f4fSSamuel Holland#include <dt-bindings/reset/sun20i-d1-ccu.h> 12077e5f4fSSamuel Holland#include <dt-bindings/reset/sun20i-d1-r-ccu.h> 13077e5f4fSSamuel Holland 14077e5f4fSSamuel Holland/ { 15077e5f4fSSamuel Holland #address-cells = <1>; 16077e5f4fSSamuel Holland #size-cells = <1>; 17077e5f4fSSamuel Holland 18077e5f4fSSamuel Holland dcxo: dcxo-clk { 19077e5f4fSSamuel Holland compatible = "fixed-clock"; 20077e5f4fSSamuel Holland clock-output-names = "dcxo"; 21077e5f4fSSamuel Holland #clock-cells = <0>; 22077e5f4fSSamuel Holland }; 23077e5f4fSSamuel Holland 24077e5f4fSSamuel Holland de: display-engine { 25077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-display-engine"; 26077e5f4fSSamuel Holland allwinner,pipelines = <&mixer0>, <&mixer1>; 27077e5f4fSSamuel Holland status = "disabled"; 28077e5f4fSSamuel Holland }; 29077e5f4fSSamuel Holland 30077e5f4fSSamuel Holland soc { 31077e5f4fSSamuel Holland compatible = "simple-bus"; 32077e5f4fSSamuel Holland ranges; 33077e5f4fSSamuel Holland dma-noncoherent; 34077e5f4fSSamuel Holland #address-cells = <1>; 35077e5f4fSSamuel Holland #size-cells = <1>; 36077e5f4fSSamuel Holland 37077e5f4fSSamuel Holland pio: pinctrl@2000000 { 38077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-pinctrl"; 39077e5f4fSSamuel Holland reg = <0x2000000 0x800>; 40077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(69) IRQ_TYPE_LEVEL_HIGH>, 41077e5f4fSSamuel Holland <SOC_PERIPHERAL_IRQ(71) IRQ_TYPE_LEVEL_HIGH>, 42077e5f4fSSamuel Holland <SOC_PERIPHERAL_IRQ(73) IRQ_TYPE_LEVEL_HIGH>, 43077e5f4fSSamuel Holland <SOC_PERIPHERAL_IRQ(75) IRQ_TYPE_LEVEL_HIGH>, 44077e5f4fSSamuel Holland <SOC_PERIPHERAL_IRQ(77) IRQ_TYPE_LEVEL_HIGH>, 45077e5f4fSSamuel Holland <SOC_PERIPHERAL_IRQ(79) IRQ_TYPE_LEVEL_HIGH>; 46077e5f4fSSamuel Holland clocks = <&ccu CLK_APB0>, 47077e5f4fSSamuel Holland <&dcxo>, 48077e5f4fSSamuel Holland <&rtc CLK_OSC32K>; 49077e5f4fSSamuel Holland clock-names = "apb", "hosc", "losc"; 50077e5f4fSSamuel Holland gpio-controller; 51077e5f4fSSamuel Holland interrupt-controller; 52077e5f4fSSamuel Holland #gpio-cells = <3>; 53077e5f4fSSamuel Holland #interrupt-cells = <3>; 54077e5f4fSSamuel Holland 55077e5f4fSSamuel Holland /omit-if-no-ref/ 56*f05af44fSJohn Watts can0_pins: can0-pins { 57*f05af44fSJohn Watts pins = "PB2", "PB3"; 58*f05af44fSJohn Watts function = "can0"; 59*f05af44fSJohn Watts }; 60*f05af44fSJohn Watts 61*f05af44fSJohn Watts /omit-if-no-ref/ 62*f05af44fSJohn Watts can1_pins: can1-pins { 63*f05af44fSJohn Watts pins = "PB4", "PB5"; 64*f05af44fSJohn Watts function = "can1"; 65*f05af44fSJohn Watts }; 66*f05af44fSJohn Watts 67*f05af44fSJohn Watts /omit-if-no-ref/ 68077e5f4fSSamuel Holland clk_pg11_pin: clk-pg11-pin { 69077e5f4fSSamuel Holland pins = "PG11"; 70077e5f4fSSamuel Holland function = "clk"; 71077e5f4fSSamuel Holland }; 72077e5f4fSSamuel Holland 73077e5f4fSSamuel Holland /omit-if-no-ref/ 74077e5f4fSSamuel Holland dsi_4lane_pins: dsi-4lane-pins { 75077e5f4fSSamuel Holland pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", 76077e5f4fSSamuel Holland "PD6", "PD7", "PD8", "PD9"; 77077e5f4fSSamuel Holland drive-strength = <30>; 78077e5f4fSSamuel Holland function = "dsi"; 79077e5f4fSSamuel Holland }; 80077e5f4fSSamuel Holland 81077e5f4fSSamuel Holland /omit-if-no-ref/ 82077e5f4fSSamuel Holland lcd_rgb666_pins: lcd-rgb666-pins { 83077e5f4fSSamuel Holland pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", 84077e5f4fSSamuel Holland "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", 85077e5f4fSSamuel Holland "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", 86077e5f4fSSamuel Holland "PD18", "PD19", "PD20", "PD21"; 87077e5f4fSSamuel Holland function = "lcd0"; 88077e5f4fSSamuel Holland }; 89077e5f4fSSamuel Holland 90077e5f4fSSamuel Holland /omit-if-no-ref/ 91077e5f4fSSamuel Holland mmc0_pins: mmc0-pins { 92077e5f4fSSamuel Holland pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5"; 93077e5f4fSSamuel Holland function = "mmc0"; 94077e5f4fSSamuel Holland }; 95077e5f4fSSamuel Holland 96077e5f4fSSamuel Holland /omit-if-no-ref/ 97077e5f4fSSamuel Holland mmc1_pins: mmc1-pins { 98077e5f4fSSamuel Holland pins = "PG0", "PG1", "PG2", "PG3", "PG4", "PG5"; 99077e5f4fSSamuel Holland function = "mmc1"; 100077e5f4fSSamuel Holland }; 101077e5f4fSSamuel Holland 102077e5f4fSSamuel Holland /omit-if-no-ref/ 103077e5f4fSSamuel Holland mmc2_pins: mmc2-pins { 104077e5f4fSSamuel Holland pins = "PC2", "PC3", "PC4", "PC5", "PC6", "PC7"; 105077e5f4fSSamuel Holland function = "mmc2"; 106077e5f4fSSamuel Holland }; 107077e5f4fSSamuel Holland 108077e5f4fSSamuel Holland /omit-if-no-ref/ 109077e5f4fSSamuel Holland rgmii_pe_pins: rgmii-pe-pins { 110077e5f4fSSamuel Holland pins = "PE0", "PE1", "PE2", "PE3", "PE4", 111077e5f4fSSamuel Holland "PE5", "PE6", "PE7", "PE8", "PE9", 112077e5f4fSSamuel Holland "PE11", "PE12", "PE13", "PE14", "PE15"; 113077e5f4fSSamuel Holland function = "emac"; 114077e5f4fSSamuel Holland }; 115077e5f4fSSamuel Holland 116077e5f4fSSamuel Holland /omit-if-no-ref/ 117077e5f4fSSamuel Holland rmii_pe_pins: rmii-pe-pins { 118077e5f4fSSamuel Holland pins = "PE0", "PE1", "PE2", "PE3", "PE4", 119077e5f4fSSamuel Holland "PE5", "PE6", "PE7", "PE8", "PE9"; 120077e5f4fSSamuel Holland function = "emac"; 121077e5f4fSSamuel Holland }; 122077e5f4fSSamuel Holland 123077e5f4fSSamuel Holland /omit-if-no-ref/ 124c1b2093dSMaksim Kiselev spi0_pins: spi0-pins { 125c1b2093dSMaksim Kiselev pins = "PC2", "PC3", "PC4", "PC5"; 126c1b2093dSMaksim Kiselev function = "spi0"; 127c1b2093dSMaksim Kiselev }; 128c1b2093dSMaksim Kiselev 129c1b2093dSMaksim Kiselev /omit-if-no-ref/ 130077e5f4fSSamuel Holland uart1_pg6_pins: uart1-pg6-pins { 131077e5f4fSSamuel Holland pins = "PG6", "PG7"; 132077e5f4fSSamuel Holland function = "uart1"; 133077e5f4fSSamuel Holland }; 134077e5f4fSSamuel Holland 135077e5f4fSSamuel Holland /omit-if-no-ref/ 136077e5f4fSSamuel Holland uart1_pg8_rts_cts_pins: uart1-pg8-rts-cts-pins { 137077e5f4fSSamuel Holland pins = "PG8", "PG9"; 138077e5f4fSSamuel Holland function = "uart1"; 139077e5f4fSSamuel Holland }; 140077e5f4fSSamuel Holland 141077e5f4fSSamuel Holland /omit-if-no-ref/ 142077e5f4fSSamuel Holland uart3_pb_pins: uart3-pb-pins { 143077e5f4fSSamuel Holland pins = "PB6", "PB7"; 144077e5f4fSSamuel Holland function = "uart3"; 145077e5f4fSSamuel Holland }; 146077e5f4fSSamuel Holland }; 147077e5f4fSSamuel Holland 148077e5f4fSSamuel Holland ccu: clock-controller@2001000 { 149077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-ccu"; 150077e5f4fSSamuel Holland reg = <0x2001000 0x1000>; 151077e5f4fSSamuel Holland clocks = <&dcxo>, 152077e5f4fSSamuel Holland <&rtc CLK_OSC32K>, 153077e5f4fSSamuel Holland <&rtc CLK_IOSC>; 154077e5f4fSSamuel Holland clock-names = "hosc", "losc", "iosc"; 155077e5f4fSSamuel Holland #clock-cells = <1>; 156077e5f4fSSamuel Holland #reset-cells = <1>; 157077e5f4fSSamuel Holland }; 158077e5f4fSSamuel Holland 159d0d73ee5SMaksim Kiselev gpadc: adc@2009000 { 160d0d73ee5SMaksim Kiselev compatible = "allwinner,sun20i-d1-gpadc"; 161d0d73ee5SMaksim Kiselev reg = <0x2009000 0x400>; 162d0d73ee5SMaksim Kiselev clocks = <&ccu CLK_BUS_GPADC>; 163d0d73ee5SMaksim Kiselev resets = <&ccu RST_BUS_GPADC>; 164d0d73ee5SMaksim Kiselev interrupts = <SOC_PERIPHERAL_IRQ(57) IRQ_TYPE_LEVEL_HIGH>; 165d0d73ee5SMaksim Kiselev status = "disabled"; 166d0d73ee5SMaksim Kiselev #io-channel-cells = <1>; 167d0d73ee5SMaksim Kiselev }; 168d0d73ee5SMaksim Kiselev 169077e5f4fSSamuel Holland dmic: dmic@2031000 { 170077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-dmic", 171077e5f4fSSamuel Holland "allwinner,sun50i-h6-dmic"; 172077e5f4fSSamuel Holland reg = <0x2031000 0x400>; 173077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(24) IRQ_TYPE_LEVEL_HIGH>; 174077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_DMIC>, 175077e5f4fSSamuel Holland <&ccu CLK_DMIC>; 176077e5f4fSSamuel Holland clock-names = "bus", "mod"; 177077e5f4fSSamuel Holland resets = <&ccu RST_BUS_DMIC>; 178077e5f4fSSamuel Holland dmas = <&dma 8>; 179077e5f4fSSamuel Holland dma-names = "rx"; 180077e5f4fSSamuel Holland status = "disabled"; 181077e5f4fSSamuel Holland #sound-dai-cells = <0>; 182077e5f4fSSamuel Holland }; 183077e5f4fSSamuel Holland 184077e5f4fSSamuel Holland i2s1: i2s@2033000 { 185077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-i2s", 186077e5f4fSSamuel Holland "allwinner,sun50i-r329-i2s"; 187077e5f4fSSamuel Holland reg = <0x2033000 0x1000>; 188077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(27) IRQ_TYPE_LEVEL_HIGH>; 189077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_I2S1>, 190077e5f4fSSamuel Holland <&ccu CLK_I2S1>; 191077e5f4fSSamuel Holland clock-names = "apb", "mod"; 192077e5f4fSSamuel Holland resets = <&ccu RST_BUS_I2S1>; 193077e5f4fSSamuel Holland dmas = <&dma 4>, <&dma 4>; 194077e5f4fSSamuel Holland dma-names = "rx", "tx"; 195077e5f4fSSamuel Holland status = "disabled"; 196077e5f4fSSamuel Holland #sound-dai-cells = <0>; 197077e5f4fSSamuel Holland }; 198077e5f4fSSamuel Holland 199077e5f4fSSamuel Holland i2s2: i2s@2034000 { 200077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-i2s", 201077e5f4fSSamuel Holland "allwinner,sun50i-r329-i2s"; 202077e5f4fSSamuel Holland reg = <0x2034000 0x1000>; 203077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(28) IRQ_TYPE_LEVEL_HIGH>; 204077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_I2S2>, 205077e5f4fSSamuel Holland <&ccu CLK_I2S2>; 206077e5f4fSSamuel Holland clock-names = "apb", "mod"; 207077e5f4fSSamuel Holland resets = <&ccu RST_BUS_I2S2>; 208077e5f4fSSamuel Holland dmas = <&dma 5>, <&dma 5>; 209077e5f4fSSamuel Holland dma-names = "rx", "tx"; 210077e5f4fSSamuel Holland status = "disabled"; 211077e5f4fSSamuel Holland #sound-dai-cells = <0>; 212077e5f4fSSamuel Holland }; 213077e5f4fSSamuel Holland 214077e5f4fSSamuel Holland timer: timer@2050000 { 215077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-timer", 216077e5f4fSSamuel Holland "allwinner,sun8i-a23-timer"; 217077e5f4fSSamuel Holland reg = <0x2050000 0xa0>; 218077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(59) IRQ_TYPE_LEVEL_HIGH>, 219077e5f4fSSamuel Holland <SOC_PERIPHERAL_IRQ(60) IRQ_TYPE_LEVEL_HIGH>; 220077e5f4fSSamuel Holland clocks = <&dcxo>; 221077e5f4fSSamuel Holland }; 222077e5f4fSSamuel Holland 223077e5f4fSSamuel Holland wdt: watchdog@20500a0 { 224077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-wdt-reset", 225077e5f4fSSamuel Holland "allwinner,sun20i-d1-wdt"; 226077e5f4fSSamuel Holland reg = <0x20500a0 0x20>; 227077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(63) IRQ_TYPE_LEVEL_HIGH>; 228077e5f4fSSamuel Holland clocks = <&dcxo>, <&rtc CLK_OSC32K>; 229077e5f4fSSamuel Holland clock-names = "hosc", "losc"; 230077e5f4fSSamuel Holland status = "reserved"; 231077e5f4fSSamuel Holland }; 232077e5f4fSSamuel Holland 233077e5f4fSSamuel Holland uart0: serial@2500000 { 234077e5f4fSSamuel Holland compatible = "snps,dw-apb-uart"; 235077e5f4fSSamuel Holland reg = <0x2500000 0x400>; 236077e5f4fSSamuel Holland reg-io-width = <4>; 237077e5f4fSSamuel Holland reg-shift = <2>; 238077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(2) IRQ_TYPE_LEVEL_HIGH>; 239077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_UART0>; 240077e5f4fSSamuel Holland resets = <&ccu RST_BUS_UART0>; 241077e5f4fSSamuel Holland dmas = <&dma 14>, <&dma 14>; 242a140b18fSCristian Ciocaltea dma-names = "tx", "rx"; 243077e5f4fSSamuel Holland status = "disabled"; 244077e5f4fSSamuel Holland }; 245077e5f4fSSamuel Holland 246077e5f4fSSamuel Holland uart1: serial@2500400 { 247077e5f4fSSamuel Holland compatible = "snps,dw-apb-uart"; 248077e5f4fSSamuel Holland reg = <0x2500400 0x400>; 249077e5f4fSSamuel Holland reg-io-width = <4>; 250077e5f4fSSamuel Holland reg-shift = <2>; 251077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(3) IRQ_TYPE_LEVEL_HIGH>; 252077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_UART1>; 253077e5f4fSSamuel Holland resets = <&ccu RST_BUS_UART1>; 254077e5f4fSSamuel Holland dmas = <&dma 15>, <&dma 15>; 255a140b18fSCristian Ciocaltea dma-names = "tx", "rx"; 256077e5f4fSSamuel Holland status = "disabled"; 257077e5f4fSSamuel Holland }; 258077e5f4fSSamuel Holland 259077e5f4fSSamuel Holland uart2: serial@2500800 { 260077e5f4fSSamuel Holland compatible = "snps,dw-apb-uart"; 261077e5f4fSSamuel Holland reg = <0x2500800 0x400>; 262077e5f4fSSamuel Holland reg-io-width = <4>; 263077e5f4fSSamuel Holland reg-shift = <2>; 264077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(4) IRQ_TYPE_LEVEL_HIGH>; 265077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_UART2>; 266077e5f4fSSamuel Holland resets = <&ccu RST_BUS_UART2>; 267077e5f4fSSamuel Holland dmas = <&dma 16>, <&dma 16>; 268a140b18fSCristian Ciocaltea dma-names = "tx", "rx"; 269077e5f4fSSamuel Holland status = "disabled"; 270077e5f4fSSamuel Holland }; 271077e5f4fSSamuel Holland 272077e5f4fSSamuel Holland uart3: serial@2500c00 { 273077e5f4fSSamuel Holland compatible = "snps,dw-apb-uart"; 274077e5f4fSSamuel Holland reg = <0x2500c00 0x400>; 275077e5f4fSSamuel Holland reg-io-width = <4>; 276077e5f4fSSamuel Holland reg-shift = <2>; 277077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(5) IRQ_TYPE_LEVEL_HIGH>; 278077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_UART3>; 279077e5f4fSSamuel Holland resets = <&ccu RST_BUS_UART3>; 280077e5f4fSSamuel Holland dmas = <&dma 17>, <&dma 17>; 281a140b18fSCristian Ciocaltea dma-names = "tx", "rx"; 282077e5f4fSSamuel Holland status = "disabled"; 283077e5f4fSSamuel Holland }; 284077e5f4fSSamuel Holland 285077e5f4fSSamuel Holland uart4: serial@2501000 { 286077e5f4fSSamuel Holland compatible = "snps,dw-apb-uart"; 287077e5f4fSSamuel Holland reg = <0x2501000 0x400>; 288077e5f4fSSamuel Holland reg-io-width = <4>; 289077e5f4fSSamuel Holland reg-shift = <2>; 290077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(6) IRQ_TYPE_LEVEL_HIGH>; 291077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_UART4>; 292077e5f4fSSamuel Holland resets = <&ccu RST_BUS_UART4>; 293077e5f4fSSamuel Holland dmas = <&dma 18>, <&dma 18>; 294a140b18fSCristian Ciocaltea dma-names = "tx", "rx"; 295077e5f4fSSamuel Holland status = "disabled"; 296077e5f4fSSamuel Holland }; 297077e5f4fSSamuel Holland 298077e5f4fSSamuel Holland uart5: serial@2501400 { 299077e5f4fSSamuel Holland compatible = "snps,dw-apb-uart"; 300077e5f4fSSamuel Holland reg = <0x2501400 0x400>; 301077e5f4fSSamuel Holland reg-io-width = <4>; 302077e5f4fSSamuel Holland reg-shift = <2>; 303077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(7) IRQ_TYPE_LEVEL_HIGH>; 304077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_UART5>; 305077e5f4fSSamuel Holland resets = <&ccu RST_BUS_UART5>; 306077e5f4fSSamuel Holland dmas = <&dma 19>, <&dma 19>; 307a140b18fSCristian Ciocaltea dma-names = "tx", "rx"; 308077e5f4fSSamuel Holland status = "disabled"; 309077e5f4fSSamuel Holland }; 310077e5f4fSSamuel Holland 311077e5f4fSSamuel Holland i2c0: i2c@2502000 { 312077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-i2c", 313077e5f4fSSamuel Holland "allwinner,sun8i-v536-i2c", 314077e5f4fSSamuel Holland "allwinner,sun6i-a31-i2c"; 315077e5f4fSSamuel Holland reg = <0x2502000 0x400>; 316077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(9) IRQ_TYPE_LEVEL_HIGH>; 317077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_I2C0>; 318077e5f4fSSamuel Holland resets = <&ccu RST_BUS_I2C0>; 319077e5f4fSSamuel Holland dmas = <&dma 43>, <&dma 43>; 320077e5f4fSSamuel Holland dma-names = "rx", "tx"; 321077e5f4fSSamuel Holland status = "disabled"; 322077e5f4fSSamuel Holland #address-cells = <1>; 323077e5f4fSSamuel Holland #size-cells = <0>; 324077e5f4fSSamuel Holland }; 325077e5f4fSSamuel Holland 326077e5f4fSSamuel Holland i2c1: i2c@2502400 { 327077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-i2c", 328077e5f4fSSamuel Holland "allwinner,sun8i-v536-i2c", 329077e5f4fSSamuel Holland "allwinner,sun6i-a31-i2c"; 330077e5f4fSSamuel Holland reg = <0x2502400 0x400>; 331077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(10) IRQ_TYPE_LEVEL_HIGH>; 332077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_I2C1>; 333077e5f4fSSamuel Holland resets = <&ccu RST_BUS_I2C1>; 334077e5f4fSSamuel Holland dmas = <&dma 44>, <&dma 44>; 335077e5f4fSSamuel Holland dma-names = "rx", "tx"; 336077e5f4fSSamuel Holland status = "disabled"; 337077e5f4fSSamuel Holland #address-cells = <1>; 338077e5f4fSSamuel Holland #size-cells = <0>; 339077e5f4fSSamuel Holland }; 340077e5f4fSSamuel Holland 341077e5f4fSSamuel Holland i2c2: i2c@2502800 { 342077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-i2c", 343077e5f4fSSamuel Holland "allwinner,sun8i-v536-i2c", 344077e5f4fSSamuel Holland "allwinner,sun6i-a31-i2c"; 345077e5f4fSSamuel Holland reg = <0x2502800 0x400>; 346077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(11) IRQ_TYPE_LEVEL_HIGH>; 347077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_I2C2>; 348077e5f4fSSamuel Holland resets = <&ccu RST_BUS_I2C2>; 349077e5f4fSSamuel Holland dmas = <&dma 45>, <&dma 45>; 350077e5f4fSSamuel Holland dma-names = "rx", "tx"; 351077e5f4fSSamuel Holland status = "disabled"; 352077e5f4fSSamuel Holland #address-cells = <1>; 353077e5f4fSSamuel Holland #size-cells = <0>; 354077e5f4fSSamuel Holland }; 355077e5f4fSSamuel Holland 356077e5f4fSSamuel Holland i2c3: i2c@2502c00 { 357077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-i2c", 358077e5f4fSSamuel Holland "allwinner,sun8i-v536-i2c", 359077e5f4fSSamuel Holland "allwinner,sun6i-a31-i2c"; 360077e5f4fSSamuel Holland reg = <0x2502c00 0x400>; 361077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(12) IRQ_TYPE_LEVEL_HIGH>; 362077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_I2C3>; 363077e5f4fSSamuel Holland resets = <&ccu RST_BUS_I2C3>; 364077e5f4fSSamuel Holland dmas = <&dma 46>, <&dma 46>; 365077e5f4fSSamuel Holland dma-names = "rx", "tx"; 366077e5f4fSSamuel Holland status = "disabled"; 367077e5f4fSSamuel Holland #address-cells = <1>; 368077e5f4fSSamuel Holland #size-cells = <0>; 369077e5f4fSSamuel Holland }; 370077e5f4fSSamuel Holland 371*f05af44fSJohn Watts can0: can@2504000 { 372*f05af44fSJohn Watts compatible = "allwinner,sun20i-d1-can"; 373*f05af44fSJohn Watts reg = <0x02504000 0x400>; 374*f05af44fSJohn Watts interrupts = <SOC_PERIPHERAL_IRQ(21) IRQ_TYPE_LEVEL_HIGH>; 375*f05af44fSJohn Watts clocks = <&ccu CLK_BUS_CAN0>; 376*f05af44fSJohn Watts resets = <&ccu RST_BUS_CAN0>; 377*f05af44fSJohn Watts pinctrl-names = "default"; 378*f05af44fSJohn Watts pinctrl-0 = <&can0_pins>; 379*f05af44fSJohn Watts status = "disabled"; 380*f05af44fSJohn Watts }; 381*f05af44fSJohn Watts 382*f05af44fSJohn Watts can1: can@2504400 { 383*f05af44fSJohn Watts compatible = "allwinner,sun20i-d1-can"; 384*f05af44fSJohn Watts reg = <0x02504400 0x400>; 385*f05af44fSJohn Watts interrupts = <SOC_PERIPHERAL_IRQ(22) IRQ_TYPE_LEVEL_HIGH>; 386*f05af44fSJohn Watts clocks = <&ccu CLK_BUS_CAN1>; 387*f05af44fSJohn Watts resets = <&ccu RST_BUS_CAN1>; 388*f05af44fSJohn Watts pinctrl-names = "default"; 389*f05af44fSJohn Watts pinctrl-0 = <&can1_pins>; 390*f05af44fSJohn Watts status = "disabled"; 391*f05af44fSJohn Watts }; 392*f05af44fSJohn Watts 393077e5f4fSSamuel Holland syscon: syscon@3000000 { 394077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-system-control"; 395077e5f4fSSamuel Holland reg = <0x3000000 0x1000>; 396077e5f4fSSamuel Holland ranges; 397077e5f4fSSamuel Holland #address-cells = <1>; 398077e5f4fSSamuel Holland #size-cells = <1>; 399077e5f4fSSamuel Holland }; 400077e5f4fSSamuel Holland 401077e5f4fSSamuel Holland dma: dma-controller@3002000 { 402077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-dma"; 403077e5f4fSSamuel Holland reg = <0x3002000 0x1000>; 404077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(50) IRQ_TYPE_LEVEL_HIGH>; 405077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_DMA>, <&ccu CLK_MBUS_DMA>; 406077e5f4fSSamuel Holland clock-names = "bus", "mbus"; 407077e5f4fSSamuel Holland resets = <&ccu RST_BUS_DMA>; 408077e5f4fSSamuel Holland dma-channels = <16>; 409077e5f4fSSamuel Holland dma-requests = <48>; 410077e5f4fSSamuel Holland #dma-cells = <1>; 411077e5f4fSSamuel Holland }; 412077e5f4fSSamuel Holland 413077e5f4fSSamuel Holland sid: efuse@3006000 { 414077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-sid"; 415077e5f4fSSamuel Holland reg = <0x3006000 0x1000>; 416077e5f4fSSamuel Holland #address-cells = <1>; 417077e5f4fSSamuel Holland #size-cells = <1>; 418077e5f4fSSamuel Holland }; 419077e5f4fSSamuel Holland 4209ebdff9aSSamuel Holland crypto: crypto@3040000 { 4219ebdff9aSSamuel Holland compatible = "allwinner,sun20i-d1-crypto"; 4229ebdff9aSSamuel Holland reg = <0x3040000 0x800>; 4239ebdff9aSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(52) IRQ_TYPE_LEVEL_HIGH>; 4249ebdff9aSSamuel Holland clocks = <&ccu CLK_BUS_CE>, 4259ebdff9aSSamuel Holland <&ccu CLK_CE>, 4269ebdff9aSSamuel Holland <&ccu CLK_MBUS_CE>, 4279ebdff9aSSamuel Holland <&rtc CLK_IOSC>; 4289ebdff9aSSamuel Holland clock-names = "bus", "mod", "ram", "trng"; 4299ebdff9aSSamuel Holland resets = <&ccu RST_BUS_CE>; 4309ebdff9aSSamuel Holland }; 4319ebdff9aSSamuel Holland 432077e5f4fSSamuel Holland mbus: dram-controller@3102000 { 433077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-mbus"; 434077e5f4fSSamuel Holland reg = <0x3102000 0x1000>, 435077e5f4fSSamuel Holland <0x3103000 0x1000>; 436077e5f4fSSamuel Holland reg-names = "mbus", "dram"; 437077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(43) IRQ_TYPE_LEVEL_HIGH>; 438077e5f4fSSamuel Holland clocks = <&ccu CLK_MBUS>, 439077e5f4fSSamuel Holland <&ccu CLK_DRAM>, 440077e5f4fSSamuel Holland <&ccu CLK_BUS_DRAM>; 441077e5f4fSSamuel Holland clock-names = "mbus", "dram", "bus"; 442077e5f4fSSamuel Holland dma-ranges = <0 0x40000000 0x80000000>; 443077e5f4fSSamuel Holland #address-cells = <1>; 444077e5f4fSSamuel Holland #size-cells = <1>; 445077e5f4fSSamuel Holland #interconnect-cells = <1>; 446077e5f4fSSamuel Holland }; 447077e5f4fSSamuel Holland 448077e5f4fSSamuel Holland mmc0: mmc@4020000 { 449077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-mmc"; 450077e5f4fSSamuel Holland reg = <0x4020000 0x1000>; 451077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(40) IRQ_TYPE_LEVEL_HIGH>; 452077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_MMC0>, <&ccu CLK_MMC0>; 453077e5f4fSSamuel Holland clock-names = "ahb", "mmc"; 454077e5f4fSSamuel Holland resets = <&ccu RST_BUS_MMC0>; 455077e5f4fSSamuel Holland reset-names = "ahb"; 456077e5f4fSSamuel Holland cap-sd-highspeed; 457077e5f4fSSamuel Holland max-frequency = <150000000>; 458077e5f4fSSamuel Holland no-mmc; 459077e5f4fSSamuel Holland status = "disabled"; 460077e5f4fSSamuel Holland #address-cells = <1>; 461077e5f4fSSamuel Holland #size-cells = <0>; 462077e5f4fSSamuel Holland }; 463077e5f4fSSamuel Holland 464077e5f4fSSamuel Holland mmc1: mmc@4021000 { 465077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-mmc"; 466077e5f4fSSamuel Holland reg = <0x4021000 0x1000>; 467077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(41) IRQ_TYPE_LEVEL_HIGH>; 468077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_MMC1>, <&ccu CLK_MMC1>; 469077e5f4fSSamuel Holland clock-names = "ahb", "mmc"; 470077e5f4fSSamuel Holland resets = <&ccu RST_BUS_MMC1>; 471077e5f4fSSamuel Holland reset-names = "ahb"; 472077e5f4fSSamuel Holland cap-sd-highspeed; 473077e5f4fSSamuel Holland max-frequency = <150000000>; 474077e5f4fSSamuel Holland no-mmc; 475077e5f4fSSamuel Holland status = "disabled"; 476077e5f4fSSamuel Holland #address-cells = <1>; 477077e5f4fSSamuel Holland #size-cells = <0>; 478077e5f4fSSamuel Holland }; 479077e5f4fSSamuel Holland 480077e5f4fSSamuel Holland mmc2: mmc@4022000 { 481077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-emmc", 482077e5f4fSSamuel Holland "allwinner,sun50i-a100-emmc"; 483077e5f4fSSamuel Holland reg = <0x4022000 0x1000>; 484077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(42) IRQ_TYPE_LEVEL_HIGH>; 485077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_MMC2>, <&ccu CLK_MMC2>; 486077e5f4fSSamuel Holland clock-names = "ahb", "mmc"; 487077e5f4fSSamuel Holland resets = <&ccu RST_BUS_MMC2>; 488077e5f4fSSamuel Holland reset-names = "ahb"; 489077e5f4fSSamuel Holland cap-mmc-highspeed; 490077e5f4fSSamuel Holland max-frequency = <150000000>; 491077e5f4fSSamuel Holland mmc-ddr-1_8v; 492077e5f4fSSamuel Holland mmc-ddr-3_3v; 493077e5f4fSSamuel Holland no-sd; 494077e5f4fSSamuel Holland no-sdio; 495077e5f4fSSamuel Holland status = "disabled"; 496077e5f4fSSamuel Holland #address-cells = <1>; 497077e5f4fSSamuel Holland #size-cells = <0>; 498077e5f4fSSamuel Holland }; 499077e5f4fSSamuel Holland 500c1b2093dSMaksim Kiselev spi0: spi@4025000 { 501c1b2093dSMaksim Kiselev compatible = "allwinner,sun20i-d1-spi", 502c1b2093dSMaksim Kiselev "allwinner,sun50i-r329-spi"; 503c1b2093dSMaksim Kiselev reg = <0x04025000 0x1000>; 504c1b2093dSMaksim Kiselev interrupts = <SOC_PERIPHERAL_IRQ(15) IRQ_TYPE_LEVEL_HIGH>; 505c1b2093dSMaksim Kiselev clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_SPI0>; 506c1b2093dSMaksim Kiselev clock-names = "ahb", "mod"; 507c1b2093dSMaksim Kiselev dmas = <&dma 22>, <&dma 22>; 508c1b2093dSMaksim Kiselev dma-names = "rx", "tx"; 509c1b2093dSMaksim Kiselev resets = <&ccu RST_BUS_SPI0>; 510c1b2093dSMaksim Kiselev status = "disabled"; 511c1b2093dSMaksim Kiselev #address-cells = <1>; 512c1b2093dSMaksim Kiselev #size-cells = <0>; 513c1b2093dSMaksim Kiselev }; 514c1b2093dSMaksim Kiselev 515c1b2093dSMaksim Kiselev spi1: spi@4026000 { 516c1b2093dSMaksim Kiselev compatible = "allwinner,sun20i-d1-spi-dbi", 517c1b2093dSMaksim Kiselev "allwinner,sun50i-r329-spi-dbi", 518c1b2093dSMaksim Kiselev "allwinner,sun50i-r329-spi"; 519c1b2093dSMaksim Kiselev reg = <0x04026000 0x1000>; 520c1b2093dSMaksim Kiselev interrupts = <SOC_PERIPHERAL_IRQ(16) IRQ_TYPE_LEVEL_HIGH>; 521c1b2093dSMaksim Kiselev clocks = <&ccu CLK_BUS_SPI1>, <&ccu CLK_SPI1>; 522c1b2093dSMaksim Kiselev clock-names = "ahb", "mod"; 523c1b2093dSMaksim Kiselev dmas = <&dma 23>, <&dma 23>; 524c1b2093dSMaksim Kiselev dma-names = "rx", "tx"; 525c1b2093dSMaksim Kiselev resets = <&ccu RST_BUS_SPI1>; 526c1b2093dSMaksim Kiselev status = "disabled"; 527c1b2093dSMaksim Kiselev #address-cells = <1>; 528c1b2093dSMaksim Kiselev #size-cells = <0>; 529c1b2093dSMaksim Kiselev }; 530c1b2093dSMaksim Kiselev 531077e5f4fSSamuel Holland usb_otg: usb@4100000 { 532077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-musb", 533077e5f4fSSamuel Holland "allwinner,sun8i-a33-musb"; 534077e5f4fSSamuel Holland reg = <0x4100000 0x400>; 535077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(29) IRQ_TYPE_LEVEL_HIGH>; 536077e5f4fSSamuel Holland interrupt-names = "mc"; 537077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_OTG>; 538077e5f4fSSamuel Holland resets = <&ccu RST_BUS_OTG>; 539077e5f4fSSamuel Holland extcon = <&usbphy 0>; 540077e5f4fSSamuel Holland phys = <&usbphy 0>; 541077e5f4fSSamuel Holland phy-names = "usb"; 542077e5f4fSSamuel Holland status = "disabled"; 543077e5f4fSSamuel Holland }; 544077e5f4fSSamuel Holland 545077e5f4fSSamuel Holland usbphy: phy@4100400 { 546077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-usb-phy"; 547077e5f4fSSamuel Holland reg = <0x4100400 0x100>, 548077e5f4fSSamuel Holland <0x4101800 0x100>, 549077e5f4fSSamuel Holland <0x4200800 0x100>; 550077e5f4fSSamuel Holland reg-names = "phy_ctrl", 551077e5f4fSSamuel Holland "pmu0", 552077e5f4fSSamuel Holland "pmu1"; 553077e5f4fSSamuel Holland clocks = <&dcxo>, 554077e5f4fSSamuel Holland <&dcxo>; 555077e5f4fSSamuel Holland clock-names = "usb0_phy", 556077e5f4fSSamuel Holland "usb1_phy"; 557077e5f4fSSamuel Holland resets = <&ccu RST_USB_PHY0>, 558077e5f4fSSamuel Holland <&ccu RST_USB_PHY1>; 559077e5f4fSSamuel Holland reset-names = "usb0_reset", 560077e5f4fSSamuel Holland "usb1_reset"; 561077e5f4fSSamuel Holland status = "disabled"; 562077e5f4fSSamuel Holland #phy-cells = <1>; 563077e5f4fSSamuel Holland }; 564077e5f4fSSamuel Holland 565077e5f4fSSamuel Holland ehci0: usb@4101000 { 566077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-ehci", 567077e5f4fSSamuel Holland "generic-ehci"; 568077e5f4fSSamuel Holland reg = <0x4101000 0x100>; 569077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(30) IRQ_TYPE_LEVEL_HIGH>; 570077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_OHCI0>, 571077e5f4fSSamuel Holland <&ccu CLK_BUS_EHCI0>, 572077e5f4fSSamuel Holland <&ccu CLK_USB_OHCI0>; 573077e5f4fSSamuel Holland resets = <&ccu RST_BUS_OHCI0>, 574077e5f4fSSamuel Holland <&ccu RST_BUS_EHCI0>; 575077e5f4fSSamuel Holland phys = <&usbphy 0>; 576077e5f4fSSamuel Holland phy-names = "usb"; 577077e5f4fSSamuel Holland status = "disabled"; 578077e5f4fSSamuel Holland }; 579077e5f4fSSamuel Holland 580077e5f4fSSamuel Holland ohci0: usb@4101400 { 581077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-ohci", 582077e5f4fSSamuel Holland "generic-ohci"; 583077e5f4fSSamuel Holland reg = <0x4101400 0x100>; 584077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(31) IRQ_TYPE_LEVEL_HIGH>; 585077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_OHCI0>, 586077e5f4fSSamuel Holland <&ccu CLK_USB_OHCI0>; 587077e5f4fSSamuel Holland resets = <&ccu RST_BUS_OHCI0>; 588077e5f4fSSamuel Holland phys = <&usbphy 0>; 589077e5f4fSSamuel Holland phy-names = "usb"; 590077e5f4fSSamuel Holland status = "disabled"; 591077e5f4fSSamuel Holland }; 592077e5f4fSSamuel Holland 593077e5f4fSSamuel Holland ehci1: usb@4200000 { 594077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-ehci", 595077e5f4fSSamuel Holland "generic-ehci"; 596077e5f4fSSamuel Holland reg = <0x4200000 0x100>; 597077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(33) IRQ_TYPE_LEVEL_HIGH>; 598077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_OHCI1>, 599077e5f4fSSamuel Holland <&ccu CLK_BUS_EHCI1>, 600077e5f4fSSamuel Holland <&ccu CLK_USB_OHCI1>; 601077e5f4fSSamuel Holland resets = <&ccu RST_BUS_OHCI1>, 602077e5f4fSSamuel Holland <&ccu RST_BUS_EHCI1>; 603077e5f4fSSamuel Holland phys = <&usbphy 1>; 604077e5f4fSSamuel Holland phy-names = "usb"; 605077e5f4fSSamuel Holland status = "disabled"; 606077e5f4fSSamuel Holland }; 607077e5f4fSSamuel Holland 608077e5f4fSSamuel Holland ohci1: usb@4200400 { 609077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-ohci", 610077e5f4fSSamuel Holland "generic-ohci"; 611077e5f4fSSamuel Holland reg = <0x4200400 0x100>; 612077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(34) IRQ_TYPE_LEVEL_HIGH>; 613077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_OHCI1>, 614077e5f4fSSamuel Holland <&ccu CLK_USB_OHCI1>; 615077e5f4fSSamuel Holland resets = <&ccu RST_BUS_OHCI1>; 616077e5f4fSSamuel Holland phys = <&usbphy 1>; 617077e5f4fSSamuel Holland phy-names = "usb"; 618077e5f4fSSamuel Holland status = "disabled"; 619077e5f4fSSamuel Holland }; 620077e5f4fSSamuel Holland 621077e5f4fSSamuel Holland emac: ethernet@4500000 { 622077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-emac", 623077e5f4fSSamuel Holland "allwinner,sun50i-a64-emac"; 624077e5f4fSSamuel Holland reg = <0x4500000 0x10000>; 625077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(46) IRQ_TYPE_LEVEL_HIGH>; 626077e5f4fSSamuel Holland interrupt-names = "macirq"; 627077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_EMAC>; 628077e5f4fSSamuel Holland clock-names = "stmmaceth"; 629077e5f4fSSamuel Holland resets = <&ccu RST_BUS_EMAC>; 630077e5f4fSSamuel Holland reset-names = "stmmaceth"; 631077e5f4fSSamuel Holland syscon = <&syscon>; 632077e5f4fSSamuel Holland status = "disabled"; 633077e5f4fSSamuel Holland 634077e5f4fSSamuel Holland mdio: mdio { 635077e5f4fSSamuel Holland compatible = "snps,dwmac-mdio"; 636077e5f4fSSamuel Holland #address-cells = <1>; 637077e5f4fSSamuel Holland #size-cells = <0>; 638077e5f4fSSamuel Holland }; 639077e5f4fSSamuel Holland }; 640077e5f4fSSamuel Holland 641077e5f4fSSamuel Holland display_clocks: clock-controller@5000000 { 642077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-de2-clk", 643077e5f4fSSamuel Holland "allwinner,sun50i-h5-de2-clk"; 644077e5f4fSSamuel Holland reg = <0x5000000 0x10000>; 645077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_DE>, <&ccu CLK_DE>; 646077e5f4fSSamuel Holland clock-names = "bus", "mod"; 647077e5f4fSSamuel Holland resets = <&ccu RST_BUS_DE>; 648077e5f4fSSamuel Holland #clock-cells = <1>; 649077e5f4fSSamuel Holland #reset-cells = <1>; 650077e5f4fSSamuel Holland }; 651077e5f4fSSamuel Holland 652077e5f4fSSamuel Holland mixer0: mixer@5100000 { 653077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-de2-mixer-0"; 654077e5f4fSSamuel Holland reg = <0x5100000 0x100000>; 655077e5f4fSSamuel Holland clocks = <&display_clocks CLK_BUS_MIXER0>, 656077e5f4fSSamuel Holland <&display_clocks CLK_MIXER0>; 657077e5f4fSSamuel Holland clock-names = "bus", "mod"; 658077e5f4fSSamuel Holland resets = <&display_clocks RST_MIXER0>; 659077e5f4fSSamuel Holland 660077e5f4fSSamuel Holland ports { 661077e5f4fSSamuel Holland #address-cells = <1>; 662077e5f4fSSamuel Holland #size-cells = <0>; 663077e5f4fSSamuel Holland 664077e5f4fSSamuel Holland mixer0_out: port@1 { 665077e5f4fSSamuel Holland reg = <1>; 666077e5f4fSSamuel Holland 667077e5f4fSSamuel Holland mixer0_out_tcon_top_mixer0: endpoint { 668077e5f4fSSamuel Holland remote-endpoint = <&tcon_top_mixer0_in_mixer0>; 669077e5f4fSSamuel Holland }; 670077e5f4fSSamuel Holland }; 671077e5f4fSSamuel Holland }; 672077e5f4fSSamuel Holland }; 673077e5f4fSSamuel Holland 674077e5f4fSSamuel Holland mixer1: mixer@5200000 { 675077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-de2-mixer-1"; 676077e5f4fSSamuel Holland reg = <0x5200000 0x100000>; 677077e5f4fSSamuel Holland clocks = <&display_clocks CLK_BUS_MIXER1>, 678077e5f4fSSamuel Holland <&display_clocks CLK_MIXER1>; 679077e5f4fSSamuel Holland clock-names = "bus", "mod"; 680077e5f4fSSamuel Holland resets = <&display_clocks RST_MIXER1>; 681077e5f4fSSamuel Holland 682077e5f4fSSamuel Holland ports { 683077e5f4fSSamuel Holland #address-cells = <1>; 684077e5f4fSSamuel Holland #size-cells = <0>; 685077e5f4fSSamuel Holland 686077e5f4fSSamuel Holland mixer1_out: port@1 { 687077e5f4fSSamuel Holland reg = <1>; 688077e5f4fSSamuel Holland 689077e5f4fSSamuel Holland mixer1_out_tcon_top_mixer1: endpoint { 690077e5f4fSSamuel Holland remote-endpoint = <&tcon_top_mixer1_in_mixer1>; 691077e5f4fSSamuel Holland }; 692077e5f4fSSamuel Holland }; 693077e5f4fSSamuel Holland }; 694077e5f4fSSamuel Holland }; 695077e5f4fSSamuel Holland 696077e5f4fSSamuel Holland dsi: dsi@5450000 { 697077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-mipi-dsi", 698077e5f4fSSamuel Holland "allwinner,sun50i-a100-mipi-dsi"; 699077e5f4fSSamuel Holland reg = <0x5450000 0x1000>; 700077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(92) IRQ_TYPE_LEVEL_HIGH>; 701077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_MIPI_DSI>, 702077e5f4fSSamuel Holland <&tcon_top CLK_TCON_TOP_DSI>; 703077e5f4fSSamuel Holland clock-names = "bus", "mod"; 704077e5f4fSSamuel Holland resets = <&ccu RST_BUS_MIPI_DSI>; 705077e5f4fSSamuel Holland phys = <&dphy>; 706077e5f4fSSamuel Holland phy-names = "dphy"; 707077e5f4fSSamuel Holland status = "disabled"; 708077e5f4fSSamuel Holland 709077e5f4fSSamuel Holland port { 710077e5f4fSSamuel Holland dsi_in_tcon_lcd0: endpoint { 711077e5f4fSSamuel Holland remote-endpoint = <&tcon_lcd0_out_dsi>; 712077e5f4fSSamuel Holland }; 713077e5f4fSSamuel Holland }; 714077e5f4fSSamuel Holland }; 715077e5f4fSSamuel Holland 716077e5f4fSSamuel Holland dphy: phy@5451000 { 717077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-mipi-dphy", 718077e5f4fSSamuel Holland "allwinner,sun50i-a100-mipi-dphy"; 719077e5f4fSSamuel Holland reg = <0x5451000 0x1000>; 720077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(92) IRQ_TYPE_LEVEL_HIGH>; 721077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_MIPI_DSI>, 722077e5f4fSSamuel Holland <&ccu CLK_MIPI_DSI>; 723077e5f4fSSamuel Holland clock-names = "bus", "mod"; 724077e5f4fSSamuel Holland resets = <&ccu RST_BUS_MIPI_DSI>; 725077e5f4fSSamuel Holland #phy-cells = <0>; 726077e5f4fSSamuel Holland }; 727077e5f4fSSamuel Holland 728077e5f4fSSamuel Holland tcon_top: tcon-top@5460000 { 729077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-tcon-top"; 730077e5f4fSSamuel Holland reg = <0x5460000 0x1000>; 731077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_DPSS_TOP>, 732077e5f4fSSamuel Holland <&ccu CLK_TCON_TV>, 733077e5f4fSSamuel Holland <&ccu CLK_TVE>, 734077e5f4fSSamuel Holland <&ccu CLK_TCON_LCD0>; 735077e5f4fSSamuel Holland clock-names = "bus", "tcon-tv0", "tve0", "dsi"; 736077e5f4fSSamuel Holland clock-output-names = "tcon-top-tv0", "tcon-top-dsi"; 737077e5f4fSSamuel Holland resets = <&ccu RST_BUS_DPSS_TOP>; 738077e5f4fSSamuel Holland #clock-cells = <1>; 739077e5f4fSSamuel Holland 740077e5f4fSSamuel Holland ports { 741077e5f4fSSamuel Holland #address-cells = <1>; 742077e5f4fSSamuel Holland #size-cells = <0>; 743077e5f4fSSamuel Holland 744077e5f4fSSamuel Holland tcon_top_mixer0_in: port@0 { 745077e5f4fSSamuel Holland reg = <0>; 746077e5f4fSSamuel Holland 747077e5f4fSSamuel Holland tcon_top_mixer0_in_mixer0: endpoint { 748077e5f4fSSamuel Holland remote-endpoint = <&mixer0_out_tcon_top_mixer0>; 749077e5f4fSSamuel Holland }; 750077e5f4fSSamuel Holland }; 751077e5f4fSSamuel Holland 752077e5f4fSSamuel Holland tcon_top_mixer0_out: port@1 { 753077e5f4fSSamuel Holland reg = <1>; 754077e5f4fSSamuel Holland #address-cells = <1>; 755077e5f4fSSamuel Holland #size-cells = <0>; 756077e5f4fSSamuel Holland 757077e5f4fSSamuel Holland tcon_top_mixer0_out_tcon_lcd0: endpoint@0 { 758077e5f4fSSamuel Holland reg = <0>; 759077e5f4fSSamuel Holland remote-endpoint = <&tcon_lcd0_in_tcon_top_mixer0>; 760077e5f4fSSamuel Holland }; 761077e5f4fSSamuel Holland 762077e5f4fSSamuel Holland tcon_top_mixer0_out_tcon_tv0: endpoint@2 { 763077e5f4fSSamuel Holland reg = <2>; 764077e5f4fSSamuel Holland remote-endpoint = <&tcon_tv0_in_tcon_top_mixer0>; 765077e5f4fSSamuel Holland }; 766077e5f4fSSamuel Holland }; 767077e5f4fSSamuel Holland 768077e5f4fSSamuel Holland tcon_top_mixer1_in: port@2 { 769077e5f4fSSamuel Holland reg = <2>; 770077e5f4fSSamuel Holland #address-cells = <1>; 771077e5f4fSSamuel Holland #size-cells = <0>; 772077e5f4fSSamuel Holland 773077e5f4fSSamuel Holland tcon_top_mixer1_in_mixer1: endpoint@1 { 774077e5f4fSSamuel Holland reg = <1>; 775077e5f4fSSamuel Holland remote-endpoint = <&mixer1_out_tcon_top_mixer1>; 776077e5f4fSSamuel Holland }; 777077e5f4fSSamuel Holland }; 778077e5f4fSSamuel Holland 779077e5f4fSSamuel Holland tcon_top_mixer1_out: port@3 { 780077e5f4fSSamuel Holland reg = <3>; 781077e5f4fSSamuel Holland #address-cells = <1>; 782077e5f4fSSamuel Holland #size-cells = <0>; 783077e5f4fSSamuel Holland 784077e5f4fSSamuel Holland tcon_top_mixer1_out_tcon_lcd0: endpoint@0 { 785077e5f4fSSamuel Holland reg = <0>; 786077e5f4fSSamuel Holland remote-endpoint = <&tcon_lcd0_in_tcon_top_mixer1>; 787077e5f4fSSamuel Holland }; 788077e5f4fSSamuel Holland 789077e5f4fSSamuel Holland tcon_top_mixer1_out_tcon_tv0: endpoint@2 { 790077e5f4fSSamuel Holland reg = <2>; 791077e5f4fSSamuel Holland remote-endpoint = <&tcon_tv0_in_tcon_top_mixer1>; 792077e5f4fSSamuel Holland }; 793077e5f4fSSamuel Holland }; 794077e5f4fSSamuel Holland 795077e5f4fSSamuel Holland tcon_top_hdmi_in: port@4 { 796077e5f4fSSamuel Holland reg = <4>; 797077e5f4fSSamuel Holland 798077e5f4fSSamuel Holland tcon_top_hdmi_in_tcon_tv0: endpoint { 799077e5f4fSSamuel Holland remote-endpoint = <&tcon_tv0_out_tcon_top_hdmi>; 800077e5f4fSSamuel Holland }; 801077e5f4fSSamuel Holland }; 802077e5f4fSSamuel Holland 803077e5f4fSSamuel Holland tcon_top_hdmi_out: port@5 { 804077e5f4fSSamuel Holland reg = <5>; 805077e5f4fSSamuel Holland }; 806077e5f4fSSamuel Holland }; 807077e5f4fSSamuel Holland }; 808077e5f4fSSamuel Holland 809077e5f4fSSamuel Holland tcon_lcd0: lcd-controller@5461000 { 810077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-tcon-lcd"; 811077e5f4fSSamuel Holland reg = <0x5461000 0x1000>; 812077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(90) IRQ_TYPE_LEVEL_HIGH>; 813077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_TCON_LCD0>, 814077e5f4fSSamuel Holland <&ccu CLK_TCON_LCD0>; 815077e5f4fSSamuel Holland clock-names = "ahb", "tcon-ch0"; 816077e5f4fSSamuel Holland clock-output-names = "tcon-pixel-clock"; 817077e5f4fSSamuel Holland resets = <&ccu RST_BUS_TCON_LCD0>, 818077e5f4fSSamuel Holland <&ccu RST_BUS_LVDS0>; 819077e5f4fSSamuel Holland reset-names = "lcd", "lvds"; 820077e5f4fSSamuel Holland #clock-cells = <0>; 821077e5f4fSSamuel Holland 822077e5f4fSSamuel Holland ports { 823077e5f4fSSamuel Holland #address-cells = <1>; 824077e5f4fSSamuel Holland #size-cells = <0>; 825077e5f4fSSamuel Holland 826077e5f4fSSamuel Holland tcon_lcd0_in: port@0 { 827077e5f4fSSamuel Holland reg = <0>; 828077e5f4fSSamuel Holland #address-cells = <1>; 829077e5f4fSSamuel Holland #size-cells = <0>; 830077e5f4fSSamuel Holland 831077e5f4fSSamuel Holland tcon_lcd0_in_tcon_top_mixer0: endpoint@0 { 832077e5f4fSSamuel Holland reg = <0>; 833077e5f4fSSamuel Holland remote-endpoint = <&tcon_top_mixer0_out_tcon_lcd0>; 834077e5f4fSSamuel Holland }; 835077e5f4fSSamuel Holland 836077e5f4fSSamuel Holland tcon_lcd0_in_tcon_top_mixer1: endpoint@1 { 837077e5f4fSSamuel Holland reg = <1>; 838077e5f4fSSamuel Holland remote-endpoint = <&tcon_top_mixer1_out_tcon_lcd0>; 839077e5f4fSSamuel Holland }; 840077e5f4fSSamuel Holland }; 841077e5f4fSSamuel Holland 842077e5f4fSSamuel Holland tcon_lcd0_out: port@1 { 843077e5f4fSSamuel Holland reg = <1>; 844077e5f4fSSamuel Holland #address-cells = <1>; 845077e5f4fSSamuel Holland #size-cells = <0>; 846077e5f4fSSamuel Holland 847077e5f4fSSamuel Holland tcon_lcd0_out_dsi: endpoint@1 { 848077e5f4fSSamuel Holland reg = <1>; 849077e5f4fSSamuel Holland remote-endpoint = <&dsi_in_tcon_lcd0>; 850077e5f4fSSamuel Holland }; 851077e5f4fSSamuel Holland }; 852077e5f4fSSamuel Holland }; 853077e5f4fSSamuel Holland }; 854077e5f4fSSamuel Holland 855077e5f4fSSamuel Holland tcon_tv0: lcd-controller@5470000 { 856077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-tcon-tv"; 857077e5f4fSSamuel Holland reg = <0x5470000 0x1000>; 858077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(91) IRQ_TYPE_LEVEL_HIGH>; 859077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_TCON_TV>, 860077e5f4fSSamuel Holland <&tcon_top CLK_TCON_TOP_TV0>; 861077e5f4fSSamuel Holland clock-names = "ahb", "tcon-ch1"; 862077e5f4fSSamuel Holland resets = <&ccu RST_BUS_TCON_TV>; 863077e5f4fSSamuel Holland reset-names = "lcd"; 864077e5f4fSSamuel Holland 865077e5f4fSSamuel Holland ports { 866077e5f4fSSamuel Holland #address-cells = <1>; 867077e5f4fSSamuel Holland #size-cells = <0>; 868077e5f4fSSamuel Holland 869077e5f4fSSamuel Holland tcon_tv0_in: port@0 { 870077e5f4fSSamuel Holland reg = <0>; 871077e5f4fSSamuel Holland #address-cells = <1>; 872077e5f4fSSamuel Holland #size-cells = <0>; 873077e5f4fSSamuel Holland 874077e5f4fSSamuel Holland tcon_tv0_in_tcon_top_mixer0: endpoint@0 { 875077e5f4fSSamuel Holland reg = <0>; 876077e5f4fSSamuel Holland remote-endpoint = <&tcon_top_mixer0_out_tcon_tv0>; 877077e5f4fSSamuel Holland }; 878077e5f4fSSamuel Holland 879077e5f4fSSamuel Holland tcon_tv0_in_tcon_top_mixer1: endpoint@1 { 880077e5f4fSSamuel Holland reg = <1>; 881077e5f4fSSamuel Holland remote-endpoint = <&tcon_top_mixer1_out_tcon_tv0>; 882077e5f4fSSamuel Holland }; 883077e5f4fSSamuel Holland }; 884077e5f4fSSamuel Holland 885077e5f4fSSamuel Holland tcon_tv0_out: port@1 { 886077e5f4fSSamuel Holland reg = <1>; 887077e5f4fSSamuel Holland 888077e5f4fSSamuel Holland tcon_tv0_out_tcon_top_hdmi: endpoint { 889077e5f4fSSamuel Holland remote-endpoint = <&tcon_top_hdmi_in_tcon_tv0>; 890077e5f4fSSamuel Holland }; 891077e5f4fSSamuel Holland }; 892077e5f4fSSamuel Holland }; 893077e5f4fSSamuel Holland }; 894077e5f4fSSamuel Holland 895dca36f7bSSamuel Holland ppu: power-controller@7001000 { 896dca36f7bSSamuel Holland compatible = "allwinner,sun20i-d1-ppu"; 897dca36f7bSSamuel Holland reg = <0x7001000 0x1000>; 898dca36f7bSSamuel Holland clocks = <&r_ccu CLK_BUS_R_PPU>; 899dca36f7bSSamuel Holland resets = <&r_ccu RST_BUS_R_PPU>; 900dca36f7bSSamuel Holland #power-domain-cells = <1>; 901dca36f7bSSamuel Holland }; 902dca36f7bSSamuel Holland 903077e5f4fSSamuel Holland r_ccu: clock-controller@7010000 { 904077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-r-ccu"; 905077e5f4fSSamuel Holland reg = <0x7010000 0x400>; 906077e5f4fSSamuel Holland clocks = <&dcxo>, 907077e5f4fSSamuel Holland <&rtc CLK_OSC32K>, 908077e5f4fSSamuel Holland <&rtc CLK_IOSC>, 909077e5f4fSSamuel Holland <&ccu CLK_PLL_PERIPH0_DIV3>; 910077e5f4fSSamuel Holland clock-names = "hosc", "losc", "iosc", "pll-periph"; 911077e5f4fSSamuel Holland #clock-cells = <1>; 912077e5f4fSSamuel Holland #reset-cells = <1>; 913077e5f4fSSamuel Holland }; 914077e5f4fSSamuel Holland 915077e5f4fSSamuel Holland rtc: rtc@7090000 { 916077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-rtc", 917077e5f4fSSamuel Holland "allwinner,sun50i-r329-rtc"; 918077e5f4fSSamuel Holland reg = <0x7090000 0x400>; 919077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(144) IRQ_TYPE_LEVEL_HIGH>; 920077e5f4fSSamuel Holland clocks = <&r_ccu CLK_BUS_R_RTC>, 921077e5f4fSSamuel Holland <&dcxo>, 922077e5f4fSSamuel Holland <&r_ccu CLK_R_AHB>; 923077e5f4fSSamuel Holland clock-names = "bus", "hosc", "ahb"; 924077e5f4fSSamuel Holland #clock-cells = <1>; 925077e5f4fSSamuel Holland }; 926077e5f4fSSamuel Holland }; 927077e5f4fSSamuel Holland}; 928