1062b9b66SKrzysztof Kozlowski// 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/ 56f05af44fSJohn Watts can0_pins: can0-pins { 57f05af44fSJohn Watts pins = "PB2", "PB3"; 58f05af44fSJohn Watts function = "can0"; 59f05af44fSJohn Watts }; 60f05af44fSJohn Watts 61f05af44fSJohn Watts /omit-if-no-ref/ 62f05af44fSJohn Watts can1_pins: can1-pins { 63f05af44fSJohn Watts pins = "PB4", "PB5"; 64f05af44fSJohn Watts function = "can1"; 65f05af44fSJohn Watts }; 66f05af44fSJohn Watts 67f05af44fSJohn 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 371f05af44fSJohn Watts can0: can@2504000 { 372f05af44fSJohn Watts compatible = "allwinner,sun20i-d1-can"; 373f05af44fSJohn Watts reg = <0x02504000 0x400>; 374f05af44fSJohn Watts interrupts = <SOC_PERIPHERAL_IRQ(21) IRQ_TYPE_LEVEL_HIGH>; 375f05af44fSJohn Watts clocks = <&ccu CLK_BUS_CAN0>; 376f05af44fSJohn Watts resets = <&ccu RST_BUS_CAN0>; 377f05af44fSJohn Watts pinctrl-names = "default"; 378f05af44fSJohn Watts pinctrl-0 = <&can0_pins>; 379f05af44fSJohn Watts status = "disabled"; 380f05af44fSJohn Watts }; 381f05af44fSJohn Watts 382f05af44fSJohn Watts can1: can@2504400 { 383f05af44fSJohn Watts compatible = "allwinner,sun20i-d1-can"; 384f05af44fSJohn Watts reg = <0x02504400 0x400>; 385f05af44fSJohn Watts interrupts = <SOC_PERIPHERAL_IRQ(22) IRQ_TYPE_LEVEL_HIGH>; 386f05af44fSJohn Watts clocks = <&ccu CLK_BUS_CAN1>; 387f05af44fSJohn Watts resets = <&ccu RST_BUS_CAN1>; 388f05af44fSJohn Watts pinctrl-names = "default"; 389f05af44fSJohn Watts pinctrl-0 = <&can1_pins>; 390f05af44fSJohn Watts status = "disabled"; 391f05af44fSJohn Watts }; 392f05af44fSJohn 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>; 399*8f2cf444SChen-Yu Tsai 400*8f2cf444SChen-Yu Tsai regulators@3000150 { 401*8f2cf444SChen-Yu Tsai compatible = "allwinner,sun20i-d1-system-ldos"; 402*8f2cf444SChen-Yu Tsai reg = <0x3000150 0x4>; 403*8f2cf444SChen-Yu Tsai 404*8f2cf444SChen-Yu Tsai reg_ldoa: ldoa { 405*8f2cf444SChen-Yu Tsai }; 406*8f2cf444SChen-Yu Tsai 407*8f2cf444SChen-Yu Tsai reg_ldob: ldob { 408*8f2cf444SChen-Yu Tsai }; 409*8f2cf444SChen-Yu Tsai }; 410077e5f4fSSamuel Holland }; 411077e5f4fSSamuel Holland 412077e5f4fSSamuel Holland dma: dma-controller@3002000 { 413077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-dma"; 414077e5f4fSSamuel Holland reg = <0x3002000 0x1000>; 415077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(50) IRQ_TYPE_LEVEL_HIGH>; 416077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_DMA>, <&ccu CLK_MBUS_DMA>; 417077e5f4fSSamuel Holland clock-names = "bus", "mbus"; 418077e5f4fSSamuel Holland resets = <&ccu RST_BUS_DMA>; 419077e5f4fSSamuel Holland dma-channels = <16>; 420077e5f4fSSamuel Holland dma-requests = <48>; 421077e5f4fSSamuel Holland #dma-cells = <1>; 422077e5f4fSSamuel Holland }; 423077e5f4fSSamuel Holland 424077e5f4fSSamuel Holland sid: efuse@3006000 { 425077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-sid"; 426077e5f4fSSamuel Holland reg = <0x3006000 0x1000>; 427077e5f4fSSamuel Holland #address-cells = <1>; 428077e5f4fSSamuel Holland #size-cells = <1>; 429077e5f4fSSamuel Holland }; 430077e5f4fSSamuel Holland 4319ebdff9aSSamuel Holland crypto: crypto@3040000 { 4329ebdff9aSSamuel Holland compatible = "allwinner,sun20i-d1-crypto"; 4339ebdff9aSSamuel Holland reg = <0x3040000 0x800>; 4349ebdff9aSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(52) IRQ_TYPE_LEVEL_HIGH>; 4359ebdff9aSSamuel Holland clocks = <&ccu CLK_BUS_CE>, 4369ebdff9aSSamuel Holland <&ccu CLK_CE>, 4379ebdff9aSSamuel Holland <&ccu CLK_MBUS_CE>, 4389ebdff9aSSamuel Holland <&rtc CLK_IOSC>; 4399ebdff9aSSamuel Holland clock-names = "bus", "mod", "ram", "trng"; 4409ebdff9aSSamuel Holland resets = <&ccu RST_BUS_CE>; 4419ebdff9aSSamuel Holland }; 4429ebdff9aSSamuel Holland 443077e5f4fSSamuel Holland mbus: dram-controller@3102000 { 444077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-mbus"; 445077e5f4fSSamuel Holland reg = <0x3102000 0x1000>, 446077e5f4fSSamuel Holland <0x3103000 0x1000>; 447077e5f4fSSamuel Holland reg-names = "mbus", "dram"; 448077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(43) IRQ_TYPE_LEVEL_HIGH>; 449077e5f4fSSamuel Holland clocks = <&ccu CLK_MBUS>, 450077e5f4fSSamuel Holland <&ccu CLK_DRAM>, 451077e5f4fSSamuel Holland <&ccu CLK_BUS_DRAM>; 452077e5f4fSSamuel Holland clock-names = "mbus", "dram", "bus"; 453077e5f4fSSamuel Holland dma-ranges = <0 0x40000000 0x80000000>; 454077e5f4fSSamuel Holland #address-cells = <1>; 455077e5f4fSSamuel Holland #size-cells = <1>; 456077e5f4fSSamuel Holland #interconnect-cells = <1>; 457077e5f4fSSamuel Holland }; 458077e5f4fSSamuel Holland 459077e5f4fSSamuel Holland mmc0: mmc@4020000 { 460077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-mmc"; 461077e5f4fSSamuel Holland reg = <0x4020000 0x1000>; 462077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(40) IRQ_TYPE_LEVEL_HIGH>; 463077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_MMC0>, <&ccu CLK_MMC0>; 464077e5f4fSSamuel Holland clock-names = "ahb", "mmc"; 465077e5f4fSSamuel Holland resets = <&ccu RST_BUS_MMC0>; 466077e5f4fSSamuel Holland reset-names = "ahb"; 467077e5f4fSSamuel Holland cap-sd-highspeed; 468077e5f4fSSamuel Holland max-frequency = <150000000>; 469077e5f4fSSamuel Holland no-mmc; 470077e5f4fSSamuel Holland status = "disabled"; 471077e5f4fSSamuel Holland #address-cells = <1>; 472077e5f4fSSamuel Holland #size-cells = <0>; 473077e5f4fSSamuel Holland }; 474077e5f4fSSamuel Holland 475077e5f4fSSamuel Holland mmc1: mmc@4021000 { 476077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-mmc"; 477077e5f4fSSamuel Holland reg = <0x4021000 0x1000>; 478077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(41) IRQ_TYPE_LEVEL_HIGH>; 479077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_MMC1>, <&ccu CLK_MMC1>; 480077e5f4fSSamuel Holland clock-names = "ahb", "mmc"; 481077e5f4fSSamuel Holland resets = <&ccu RST_BUS_MMC1>; 482077e5f4fSSamuel Holland reset-names = "ahb"; 483077e5f4fSSamuel Holland cap-sd-highspeed; 484077e5f4fSSamuel Holland max-frequency = <150000000>; 485077e5f4fSSamuel Holland no-mmc; 486077e5f4fSSamuel Holland status = "disabled"; 487077e5f4fSSamuel Holland #address-cells = <1>; 488077e5f4fSSamuel Holland #size-cells = <0>; 489077e5f4fSSamuel Holland }; 490077e5f4fSSamuel Holland 491077e5f4fSSamuel Holland mmc2: mmc@4022000 { 492077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-emmc", 493077e5f4fSSamuel Holland "allwinner,sun50i-a100-emmc"; 494077e5f4fSSamuel Holland reg = <0x4022000 0x1000>; 495077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(42) IRQ_TYPE_LEVEL_HIGH>; 496077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_MMC2>, <&ccu CLK_MMC2>; 497077e5f4fSSamuel Holland clock-names = "ahb", "mmc"; 498077e5f4fSSamuel Holland resets = <&ccu RST_BUS_MMC2>; 499077e5f4fSSamuel Holland reset-names = "ahb"; 500077e5f4fSSamuel Holland cap-mmc-highspeed; 501077e5f4fSSamuel Holland max-frequency = <150000000>; 502077e5f4fSSamuel Holland mmc-ddr-1_8v; 503077e5f4fSSamuel Holland mmc-ddr-3_3v; 504077e5f4fSSamuel Holland no-sd; 505077e5f4fSSamuel Holland no-sdio; 506077e5f4fSSamuel Holland status = "disabled"; 507077e5f4fSSamuel Holland #address-cells = <1>; 508077e5f4fSSamuel Holland #size-cells = <0>; 509077e5f4fSSamuel Holland }; 510077e5f4fSSamuel Holland 511c1b2093dSMaksim Kiselev spi0: spi@4025000 { 512c1b2093dSMaksim Kiselev compatible = "allwinner,sun20i-d1-spi", 513c1b2093dSMaksim Kiselev "allwinner,sun50i-r329-spi"; 514c1b2093dSMaksim Kiselev reg = <0x04025000 0x1000>; 515c1b2093dSMaksim Kiselev interrupts = <SOC_PERIPHERAL_IRQ(15) IRQ_TYPE_LEVEL_HIGH>; 516c1b2093dSMaksim Kiselev clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_SPI0>; 517c1b2093dSMaksim Kiselev clock-names = "ahb", "mod"; 518c1b2093dSMaksim Kiselev dmas = <&dma 22>, <&dma 22>; 519c1b2093dSMaksim Kiselev dma-names = "rx", "tx"; 520c1b2093dSMaksim Kiselev resets = <&ccu RST_BUS_SPI0>; 521c1b2093dSMaksim Kiselev status = "disabled"; 522c1b2093dSMaksim Kiselev #address-cells = <1>; 523c1b2093dSMaksim Kiselev #size-cells = <0>; 524c1b2093dSMaksim Kiselev }; 525c1b2093dSMaksim Kiselev 526c1b2093dSMaksim Kiselev spi1: spi@4026000 { 527c1b2093dSMaksim Kiselev compatible = "allwinner,sun20i-d1-spi-dbi", 528c1b2093dSMaksim Kiselev "allwinner,sun50i-r329-spi-dbi", 529c1b2093dSMaksim Kiselev "allwinner,sun50i-r329-spi"; 530c1b2093dSMaksim Kiselev reg = <0x04026000 0x1000>; 531c1b2093dSMaksim Kiselev interrupts = <SOC_PERIPHERAL_IRQ(16) IRQ_TYPE_LEVEL_HIGH>; 532c1b2093dSMaksim Kiselev clocks = <&ccu CLK_BUS_SPI1>, <&ccu CLK_SPI1>; 533c1b2093dSMaksim Kiselev clock-names = "ahb", "mod"; 534c1b2093dSMaksim Kiselev dmas = <&dma 23>, <&dma 23>; 535c1b2093dSMaksim Kiselev dma-names = "rx", "tx"; 536c1b2093dSMaksim Kiselev resets = <&ccu RST_BUS_SPI1>; 537c1b2093dSMaksim Kiselev status = "disabled"; 538c1b2093dSMaksim Kiselev #address-cells = <1>; 539c1b2093dSMaksim Kiselev #size-cells = <0>; 540c1b2093dSMaksim Kiselev }; 541c1b2093dSMaksim Kiselev 542077e5f4fSSamuel Holland usb_otg: usb@4100000 { 543077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-musb", 544077e5f4fSSamuel Holland "allwinner,sun8i-a33-musb"; 545077e5f4fSSamuel Holland reg = <0x4100000 0x400>; 546077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(29) IRQ_TYPE_LEVEL_HIGH>; 547077e5f4fSSamuel Holland interrupt-names = "mc"; 548077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_OTG>; 549077e5f4fSSamuel Holland resets = <&ccu RST_BUS_OTG>; 550077e5f4fSSamuel Holland extcon = <&usbphy 0>; 551077e5f4fSSamuel Holland phys = <&usbphy 0>; 552077e5f4fSSamuel Holland phy-names = "usb"; 553077e5f4fSSamuel Holland status = "disabled"; 554077e5f4fSSamuel Holland }; 555077e5f4fSSamuel Holland 556077e5f4fSSamuel Holland usbphy: phy@4100400 { 557077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-usb-phy"; 558077e5f4fSSamuel Holland reg = <0x4100400 0x100>, 559077e5f4fSSamuel Holland <0x4101800 0x100>, 560077e5f4fSSamuel Holland <0x4200800 0x100>; 561077e5f4fSSamuel Holland reg-names = "phy_ctrl", 562077e5f4fSSamuel Holland "pmu0", 563077e5f4fSSamuel Holland "pmu1"; 564077e5f4fSSamuel Holland clocks = <&dcxo>, 565077e5f4fSSamuel Holland <&dcxo>; 566077e5f4fSSamuel Holland clock-names = "usb0_phy", 567077e5f4fSSamuel Holland "usb1_phy"; 568077e5f4fSSamuel Holland resets = <&ccu RST_USB_PHY0>, 569077e5f4fSSamuel Holland <&ccu RST_USB_PHY1>; 570077e5f4fSSamuel Holland reset-names = "usb0_reset", 571077e5f4fSSamuel Holland "usb1_reset"; 572077e5f4fSSamuel Holland status = "disabled"; 573077e5f4fSSamuel Holland #phy-cells = <1>; 574077e5f4fSSamuel Holland }; 575077e5f4fSSamuel Holland 576077e5f4fSSamuel Holland ehci0: usb@4101000 { 577077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-ehci", 578077e5f4fSSamuel Holland "generic-ehci"; 579077e5f4fSSamuel Holland reg = <0x4101000 0x100>; 580077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(30) IRQ_TYPE_LEVEL_HIGH>; 581077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_OHCI0>, 582077e5f4fSSamuel Holland <&ccu CLK_BUS_EHCI0>, 583077e5f4fSSamuel Holland <&ccu CLK_USB_OHCI0>; 584077e5f4fSSamuel Holland resets = <&ccu RST_BUS_OHCI0>, 585077e5f4fSSamuel Holland <&ccu RST_BUS_EHCI0>; 586077e5f4fSSamuel Holland phys = <&usbphy 0>; 587077e5f4fSSamuel Holland phy-names = "usb"; 588077e5f4fSSamuel Holland status = "disabled"; 589077e5f4fSSamuel Holland }; 590077e5f4fSSamuel Holland 591077e5f4fSSamuel Holland ohci0: usb@4101400 { 592077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-ohci", 593077e5f4fSSamuel Holland "generic-ohci"; 594077e5f4fSSamuel Holland reg = <0x4101400 0x100>; 595077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(31) IRQ_TYPE_LEVEL_HIGH>; 596077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_OHCI0>, 597077e5f4fSSamuel Holland <&ccu CLK_USB_OHCI0>; 598077e5f4fSSamuel Holland resets = <&ccu RST_BUS_OHCI0>; 599077e5f4fSSamuel Holland phys = <&usbphy 0>; 600077e5f4fSSamuel Holland phy-names = "usb"; 601077e5f4fSSamuel Holland status = "disabled"; 602077e5f4fSSamuel Holland }; 603077e5f4fSSamuel Holland 604077e5f4fSSamuel Holland ehci1: usb@4200000 { 605077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-ehci", 606077e5f4fSSamuel Holland "generic-ehci"; 607077e5f4fSSamuel Holland reg = <0x4200000 0x100>; 608077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(33) IRQ_TYPE_LEVEL_HIGH>; 609077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_OHCI1>, 610077e5f4fSSamuel Holland <&ccu CLK_BUS_EHCI1>, 611077e5f4fSSamuel Holland <&ccu CLK_USB_OHCI1>; 612077e5f4fSSamuel Holland resets = <&ccu RST_BUS_OHCI1>, 613077e5f4fSSamuel Holland <&ccu RST_BUS_EHCI1>; 614077e5f4fSSamuel Holland phys = <&usbphy 1>; 615077e5f4fSSamuel Holland phy-names = "usb"; 616077e5f4fSSamuel Holland status = "disabled"; 617077e5f4fSSamuel Holland }; 618077e5f4fSSamuel Holland 619077e5f4fSSamuel Holland ohci1: usb@4200400 { 620077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-ohci", 621077e5f4fSSamuel Holland "generic-ohci"; 622077e5f4fSSamuel Holland reg = <0x4200400 0x100>; 623077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(34) IRQ_TYPE_LEVEL_HIGH>; 624077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_OHCI1>, 625077e5f4fSSamuel Holland <&ccu CLK_USB_OHCI1>; 626077e5f4fSSamuel Holland resets = <&ccu RST_BUS_OHCI1>; 627077e5f4fSSamuel Holland phys = <&usbphy 1>; 628077e5f4fSSamuel Holland phy-names = "usb"; 629077e5f4fSSamuel Holland status = "disabled"; 630077e5f4fSSamuel Holland }; 631077e5f4fSSamuel Holland 632077e5f4fSSamuel Holland emac: ethernet@4500000 { 633077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-emac", 634077e5f4fSSamuel Holland "allwinner,sun50i-a64-emac"; 635077e5f4fSSamuel Holland reg = <0x4500000 0x10000>; 636077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(46) IRQ_TYPE_LEVEL_HIGH>; 637077e5f4fSSamuel Holland interrupt-names = "macirq"; 638077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_EMAC>; 639077e5f4fSSamuel Holland clock-names = "stmmaceth"; 640077e5f4fSSamuel Holland resets = <&ccu RST_BUS_EMAC>; 641077e5f4fSSamuel Holland reset-names = "stmmaceth"; 642077e5f4fSSamuel Holland syscon = <&syscon>; 643077e5f4fSSamuel Holland status = "disabled"; 644077e5f4fSSamuel Holland 645077e5f4fSSamuel Holland mdio: mdio { 646077e5f4fSSamuel Holland compatible = "snps,dwmac-mdio"; 647077e5f4fSSamuel Holland #address-cells = <1>; 648077e5f4fSSamuel Holland #size-cells = <0>; 649077e5f4fSSamuel Holland }; 650077e5f4fSSamuel Holland }; 651077e5f4fSSamuel Holland 652077e5f4fSSamuel Holland display_clocks: clock-controller@5000000 { 653077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-de2-clk", 654077e5f4fSSamuel Holland "allwinner,sun50i-h5-de2-clk"; 655077e5f4fSSamuel Holland reg = <0x5000000 0x10000>; 656077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_DE>, <&ccu CLK_DE>; 657077e5f4fSSamuel Holland clock-names = "bus", "mod"; 658077e5f4fSSamuel Holland resets = <&ccu RST_BUS_DE>; 659077e5f4fSSamuel Holland #clock-cells = <1>; 660077e5f4fSSamuel Holland #reset-cells = <1>; 661077e5f4fSSamuel Holland }; 662077e5f4fSSamuel Holland 663077e5f4fSSamuel Holland mixer0: mixer@5100000 { 664077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-de2-mixer-0"; 665077e5f4fSSamuel Holland reg = <0x5100000 0x100000>; 666077e5f4fSSamuel Holland clocks = <&display_clocks CLK_BUS_MIXER0>, 667077e5f4fSSamuel Holland <&display_clocks CLK_MIXER0>; 668077e5f4fSSamuel Holland clock-names = "bus", "mod"; 669077e5f4fSSamuel Holland resets = <&display_clocks RST_MIXER0>; 670077e5f4fSSamuel Holland 671077e5f4fSSamuel Holland ports { 672077e5f4fSSamuel Holland #address-cells = <1>; 673077e5f4fSSamuel Holland #size-cells = <0>; 674077e5f4fSSamuel Holland 675077e5f4fSSamuel Holland mixer0_out: port@1 { 676077e5f4fSSamuel Holland reg = <1>; 677077e5f4fSSamuel Holland 678077e5f4fSSamuel Holland mixer0_out_tcon_top_mixer0: endpoint { 679077e5f4fSSamuel Holland remote-endpoint = <&tcon_top_mixer0_in_mixer0>; 680077e5f4fSSamuel Holland }; 681077e5f4fSSamuel Holland }; 682077e5f4fSSamuel Holland }; 683077e5f4fSSamuel Holland }; 684077e5f4fSSamuel Holland 685077e5f4fSSamuel Holland mixer1: mixer@5200000 { 686077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-de2-mixer-1"; 687077e5f4fSSamuel Holland reg = <0x5200000 0x100000>; 688077e5f4fSSamuel Holland clocks = <&display_clocks CLK_BUS_MIXER1>, 689077e5f4fSSamuel Holland <&display_clocks CLK_MIXER1>; 690077e5f4fSSamuel Holland clock-names = "bus", "mod"; 691077e5f4fSSamuel Holland resets = <&display_clocks RST_MIXER1>; 692077e5f4fSSamuel Holland 693077e5f4fSSamuel Holland ports { 694077e5f4fSSamuel Holland #address-cells = <1>; 695077e5f4fSSamuel Holland #size-cells = <0>; 696077e5f4fSSamuel Holland 697077e5f4fSSamuel Holland mixer1_out: port@1 { 698077e5f4fSSamuel Holland reg = <1>; 699077e5f4fSSamuel Holland 700077e5f4fSSamuel Holland mixer1_out_tcon_top_mixer1: endpoint { 701077e5f4fSSamuel Holland remote-endpoint = <&tcon_top_mixer1_in_mixer1>; 702077e5f4fSSamuel Holland }; 703077e5f4fSSamuel Holland }; 704077e5f4fSSamuel Holland }; 705077e5f4fSSamuel Holland }; 706077e5f4fSSamuel Holland 707077e5f4fSSamuel Holland dsi: dsi@5450000 { 708077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-mipi-dsi", 709077e5f4fSSamuel Holland "allwinner,sun50i-a100-mipi-dsi"; 710077e5f4fSSamuel Holland reg = <0x5450000 0x1000>; 711077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(92) IRQ_TYPE_LEVEL_HIGH>; 712077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_MIPI_DSI>, 713077e5f4fSSamuel Holland <&tcon_top CLK_TCON_TOP_DSI>; 714077e5f4fSSamuel Holland clock-names = "bus", "mod"; 715077e5f4fSSamuel Holland resets = <&ccu RST_BUS_MIPI_DSI>; 716077e5f4fSSamuel Holland phys = <&dphy>; 717077e5f4fSSamuel Holland phy-names = "dphy"; 718077e5f4fSSamuel Holland status = "disabled"; 719077e5f4fSSamuel Holland 720077e5f4fSSamuel Holland port { 721077e5f4fSSamuel Holland dsi_in_tcon_lcd0: endpoint { 722077e5f4fSSamuel Holland remote-endpoint = <&tcon_lcd0_out_dsi>; 723077e5f4fSSamuel Holland }; 724077e5f4fSSamuel Holland }; 725077e5f4fSSamuel Holland }; 726077e5f4fSSamuel Holland 727077e5f4fSSamuel Holland dphy: phy@5451000 { 728077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-mipi-dphy", 729077e5f4fSSamuel Holland "allwinner,sun50i-a100-mipi-dphy"; 730077e5f4fSSamuel Holland reg = <0x5451000 0x1000>; 731077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(92) IRQ_TYPE_LEVEL_HIGH>; 732077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_MIPI_DSI>, 733077e5f4fSSamuel Holland <&ccu CLK_MIPI_DSI>; 734077e5f4fSSamuel Holland clock-names = "bus", "mod"; 735077e5f4fSSamuel Holland resets = <&ccu RST_BUS_MIPI_DSI>; 736077e5f4fSSamuel Holland #phy-cells = <0>; 737077e5f4fSSamuel Holland }; 738077e5f4fSSamuel Holland 739077e5f4fSSamuel Holland tcon_top: tcon-top@5460000 { 740077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-tcon-top"; 741077e5f4fSSamuel Holland reg = <0x5460000 0x1000>; 742077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_DPSS_TOP>, 743077e5f4fSSamuel Holland <&ccu CLK_TCON_TV>, 744077e5f4fSSamuel Holland <&ccu CLK_TVE>, 745077e5f4fSSamuel Holland <&ccu CLK_TCON_LCD0>; 746077e5f4fSSamuel Holland clock-names = "bus", "tcon-tv0", "tve0", "dsi"; 747077e5f4fSSamuel Holland clock-output-names = "tcon-top-tv0", "tcon-top-dsi"; 748077e5f4fSSamuel Holland resets = <&ccu RST_BUS_DPSS_TOP>; 749077e5f4fSSamuel Holland #clock-cells = <1>; 750077e5f4fSSamuel Holland 751077e5f4fSSamuel Holland ports { 752077e5f4fSSamuel Holland #address-cells = <1>; 753077e5f4fSSamuel Holland #size-cells = <0>; 754077e5f4fSSamuel Holland 755077e5f4fSSamuel Holland tcon_top_mixer0_in: port@0 { 756077e5f4fSSamuel Holland reg = <0>; 757077e5f4fSSamuel Holland 758077e5f4fSSamuel Holland tcon_top_mixer0_in_mixer0: endpoint { 759077e5f4fSSamuel Holland remote-endpoint = <&mixer0_out_tcon_top_mixer0>; 760077e5f4fSSamuel Holland }; 761077e5f4fSSamuel Holland }; 762077e5f4fSSamuel Holland 763077e5f4fSSamuel Holland tcon_top_mixer0_out: port@1 { 764077e5f4fSSamuel Holland reg = <1>; 765077e5f4fSSamuel Holland #address-cells = <1>; 766077e5f4fSSamuel Holland #size-cells = <0>; 767077e5f4fSSamuel Holland 768077e5f4fSSamuel Holland tcon_top_mixer0_out_tcon_lcd0: endpoint@0 { 769077e5f4fSSamuel Holland reg = <0>; 770077e5f4fSSamuel Holland remote-endpoint = <&tcon_lcd0_in_tcon_top_mixer0>; 771077e5f4fSSamuel Holland }; 772077e5f4fSSamuel Holland 773077e5f4fSSamuel Holland tcon_top_mixer0_out_tcon_tv0: endpoint@2 { 774077e5f4fSSamuel Holland reg = <2>; 775077e5f4fSSamuel Holland remote-endpoint = <&tcon_tv0_in_tcon_top_mixer0>; 776077e5f4fSSamuel Holland }; 777077e5f4fSSamuel Holland }; 778077e5f4fSSamuel Holland 779077e5f4fSSamuel Holland tcon_top_mixer1_in: port@2 { 780077e5f4fSSamuel Holland reg = <2>; 781077e5f4fSSamuel Holland #address-cells = <1>; 782077e5f4fSSamuel Holland #size-cells = <0>; 783077e5f4fSSamuel Holland 784077e5f4fSSamuel Holland tcon_top_mixer1_in_mixer1: endpoint@1 { 785077e5f4fSSamuel Holland reg = <1>; 786077e5f4fSSamuel Holland remote-endpoint = <&mixer1_out_tcon_top_mixer1>; 787077e5f4fSSamuel Holland }; 788077e5f4fSSamuel Holland }; 789077e5f4fSSamuel Holland 790077e5f4fSSamuel Holland tcon_top_mixer1_out: port@3 { 791077e5f4fSSamuel Holland reg = <3>; 792077e5f4fSSamuel Holland #address-cells = <1>; 793077e5f4fSSamuel Holland #size-cells = <0>; 794077e5f4fSSamuel Holland 795077e5f4fSSamuel Holland tcon_top_mixer1_out_tcon_lcd0: endpoint@0 { 796077e5f4fSSamuel Holland reg = <0>; 797077e5f4fSSamuel Holland remote-endpoint = <&tcon_lcd0_in_tcon_top_mixer1>; 798077e5f4fSSamuel Holland }; 799077e5f4fSSamuel Holland 800077e5f4fSSamuel Holland tcon_top_mixer1_out_tcon_tv0: endpoint@2 { 801077e5f4fSSamuel Holland reg = <2>; 802077e5f4fSSamuel Holland remote-endpoint = <&tcon_tv0_in_tcon_top_mixer1>; 803077e5f4fSSamuel Holland }; 804077e5f4fSSamuel Holland }; 805077e5f4fSSamuel Holland 806077e5f4fSSamuel Holland tcon_top_hdmi_in: port@4 { 807077e5f4fSSamuel Holland reg = <4>; 808077e5f4fSSamuel Holland 809077e5f4fSSamuel Holland tcon_top_hdmi_in_tcon_tv0: endpoint { 810077e5f4fSSamuel Holland remote-endpoint = <&tcon_tv0_out_tcon_top_hdmi>; 811077e5f4fSSamuel Holland }; 812077e5f4fSSamuel Holland }; 813077e5f4fSSamuel Holland 814077e5f4fSSamuel Holland tcon_top_hdmi_out: port@5 { 815077e5f4fSSamuel Holland reg = <5>; 816077e5f4fSSamuel Holland }; 817077e5f4fSSamuel Holland }; 818077e5f4fSSamuel Holland }; 819077e5f4fSSamuel Holland 820077e5f4fSSamuel Holland tcon_lcd0: lcd-controller@5461000 { 821077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-tcon-lcd"; 822077e5f4fSSamuel Holland reg = <0x5461000 0x1000>; 823077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(90) IRQ_TYPE_LEVEL_HIGH>; 824077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_TCON_LCD0>, 825077e5f4fSSamuel Holland <&ccu CLK_TCON_LCD0>; 826077e5f4fSSamuel Holland clock-names = "ahb", "tcon-ch0"; 827077e5f4fSSamuel Holland clock-output-names = "tcon-pixel-clock"; 828077e5f4fSSamuel Holland resets = <&ccu RST_BUS_TCON_LCD0>, 829077e5f4fSSamuel Holland <&ccu RST_BUS_LVDS0>; 830077e5f4fSSamuel Holland reset-names = "lcd", "lvds"; 831077e5f4fSSamuel Holland #clock-cells = <0>; 832077e5f4fSSamuel Holland 833077e5f4fSSamuel Holland ports { 834077e5f4fSSamuel Holland #address-cells = <1>; 835077e5f4fSSamuel Holland #size-cells = <0>; 836077e5f4fSSamuel Holland 837077e5f4fSSamuel Holland tcon_lcd0_in: port@0 { 838077e5f4fSSamuel Holland reg = <0>; 839077e5f4fSSamuel Holland #address-cells = <1>; 840077e5f4fSSamuel Holland #size-cells = <0>; 841077e5f4fSSamuel Holland 842077e5f4fSSamuel Holland tcon_lcd0_in_tcon_top_mixer0: endpoint@0 { 843077e5f4fSSamuel Holland reg = <0>; 844077e5f4fSSamuel Holland remote-endpoint = <&tcon_top_mixer0_out_tcon_lcd0>; 845077e5f4fSSamuel Holland }; 846077e5f4fSSamuel Holland 847077e5f4fSSamuel Holland tcon_lcd0_in_tcon_top_mixer1: endpoint@1 { 848077e5f4fSSamuel Holland reg = <1>; 849077e5f4fSSamuel Holland remote-endpoint = <&tcon_top_mixer1_out_tcon_lcd0>; 850077e5f4fSSamuel Holland }; 851077e5f4fSSamuel Holland }; 852077e5f4fSSamuel Holland 853077e5f4fSSamuel Holland tcon_lcd0_out: port@1 { 854077e5f4fSSamuel Holland reg = <1>; 855077e5f4fSSamuel Holland #address-cells = <1>; 856077e5f4fSSamuel Holland #size-cells = <0>; 857077e5f4fSSamuel Holland 858077e5f4fSSamuel Holland tcon_lcd0_out_dsi: endpoint@1 { 859077e5f4fSSamuel Holland reg = <1>; 860077e5f4fSSamuel Holland remote-endpoint = <&dsi_in_tcon_lcd0>; 861077e5f4fSSamuel Holland }; 862077e5f4fSSamuel Holland }; 863077e5f4fSSamuel Holland }; 864077e5f4fSSamuel Holland }; 865077e5f4fSSamuel Holland 866077e5f4fSSamuel Holland tcon_tv0: lcd-controller@5470000 { 867077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-tcon-tv"; 868077e5f4fSSamuel Holland reg = <0x5470000 0x1000>; 869077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(91) IRQ_TYPE_LEVEL_HIGH>; 870077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_TCON_TV>, 871077e5f4fSSamuel Holland <&tcon_top CLK_TCON_TOP_TV0>; 872077e5f4fSSamuel Holland clock-names = "ahb", "tcon-ch1"; 873077e5f4fSSamuel Holland resets = <&ccu RST_BUS_TCON_TV>; 874077e5f4fSSamuel Holland reset-names = "lcd"; 875077e5f4fSSamuel Holland 876077e5f4fSSamuel Holland ports { 877077e5f4fSSamuel Holland #address-cells = <1>; 878077e5f4fSSamuel Holland #size-cells = <0>; 879077e5f4fSSamuel Holland 880077e5f4fSSamuel Holland tcon_tv0_in: port@0 { 881077e5f4fSSamuel Holland reg = <0>; 882077e5f4fSSamuel Holland #address-cells = <1>; 883077e5f4fSSamuel Holland #size-cells = <0>; 884077e5f4fSSamuel Holland 885077e5f4fSSamuel Holland tcon_tv0_in_tcon_top_mixer0: endpoint@0 { 886077e5f4fSSamuel Holland reg = <0>; 887077e5f4fSSamuel Holland remote-endpoint = <&tcon_top_mixer0_out_tcon_tv0>; 888077e5f4fSSamuel Holland }; 889077e5f4fSSamuel Holland 890077e5f4fSSamuel Holland tcon_tv0_in_tcon_top_mixer1: endpoint@1 { 891077e5f4fSSamuel Holland reg = <1>; 892077e5f4fSSamuel Holland remote-endpoint = <&tcon_top_mixer1_out_tcon_tv0>; 893077e5f4fSSamuel Holland }; 894077e5f4fSSamuel Holland }; 895077e5f4fSSamuel Holland 896077e5f4fSSamuel Holland tcon_tv0_out: port@1 { 897077e5f4fSSamuel Holland reg = <1>; 898077e5f4fSSamuel Holland 899077e5f4fSSamuel Holland tcon_tv0_out_tcon_top_hdmi: endpoint { 900077e5f4fSSamuel Holland remote-endpoint = <&tcon_top_hdmi_in_tcon_tv0>; 901077e5f4fSSamuel Holland }; 902077e5f4fSSamuel Holland }; 903077e5f4fSSamuel Holland }; 904077e5f4fSSamuel Holland }; 905077e5f4fSSamuel Holland 906dca36f7bSSamuel Holland ppu: power-controller@7001000 { 907dca36f7bSSamuel Holland compatible = "allwinner,sun20i-d1-ppu"; 908dca36f7bSSamuel Holland reg = <0x7001000 0x1000>; 909dca36f7bSSamuel Holland clocks = <&r_ccu CLK_BUS_R_PPU>; 910dca36f7bSSamuel Holland resets = <&r_ccu RST_BUS_R_PPU>; 911dca36f7bSSamuel Holland #power-domain-cells = <1>; 912dca36f7bSSamuel Holland }; 913dca36f7bSSamuel Holland 914077e5f4fSSamuel Holland r_ccu: clock-controller@7010000 { 915077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-r-ccu"; 916077e5f4fSSamuel Holland reg = <0x7010000 0x400>; 917077e5f4fSSamuel Holland clocks = <&dcxo>, 918077e5f4fSSamuel Holland <&rtc CLK_OSC32K>, 919077e5f4fSSamuel Holland <&rtc CLK_IOSC>, 920077e5f4fSSamuel Holland <&ccu CLK_PLL_PERIPH0_DIV3>; 921077e5f4fSSamuel Holland clock-names = "hosc", "losc", "iosc", "pll-periph"; 922077e5f4fSSamuel Holland #clock-cells = <1>; 923077e5f4fSSamuel Holland #reset-cells = <1>; 924077e5f4fSSamuel Holland }; 925077e5f4fSSamuel Holland 926077e5f4fSSamuel Holland rtc: rtc@7090000 { 927077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-rtc", 928077e5f4fSSamuel Holland "allwinner,sun50i-r329-rtc"; 929077e5f4fSSamuel Holland reg = <0x7090000 0x400>; 930077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(144) IRQ_TYPE_LEVEL_HIGH>; 931077e5f4fSSamuel Holland clocks = <&r_ccu CLK_BUS_R_RTC>, 932077e5f4fSSamuel Holland <&dcxo>, 933077e5f4fSSamuel Holland <&r_ccu CLK_R_AHB>; 934077e5f4fSSamuel Holland clock-names = "bus", "hosc", "ahb"; 935077e5f4fSSamuel Holland #clock-cells = <1>; 936077e5f4fSSamuel Holland }; 937077e5f4fSSamuel Holland }; 938077e5f4fSSamuel Holland}; 939