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/ 56077e5f4fSSamuel Holland clk_pg11_pin: clk-pg11-pin { 57077e5f4fSSamuel Holland pins = "PG11"; 58077e5f4fSSamuel Holland function = "clk"; 59077e5f4fSSamuel Holland }; 60077e5f4fSSamuel Holland 61077e5f4fSSamuel Holland /omit-if-no-ref/ 62077e5f4fSSamuel Holland dsi_4lane_pins: dsi-4lane-pins { 63077e5f4fSSamuel Holland pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", 64077e5f4fSSamuel Holland "PD6", "PD7", "PD8", "PD9"; 65077e5f4fSSamuel Holland drive-strength = <30>; 66077e5f4fSSamuel Holland function = "dsi"; 67077e5f4fSSamuel Holland }; 68077e5f4fSSamuel Holland 69077e5f4fSSamuel Holland /omit-if-no-ref/ 70077e5f4fSSamuel Holland lcd_rgb666_pins: lcd-rgb666-pins { 71077e5f4fSSamuel Holland pins = "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", 72077e5f4fSSamuel Holland "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", 73077e5f4fSSamuel Holland "PD12", "PD13", "PD14", "PD15", "PD16", "PD17", 74077e5f4fSSamuel Holland "PD18", "PD19", "PD20", "PD21"; 75077e5f4fSSamuel Holland function = "lcd0"; 76077e5f4fSSamuel Holland }; 77077e5f4fSSamuel Holland 78077e5f4fSSamuel Holland /omit-if-no-ref/ 79077e5f4fSSamuel Holland mmc0_pins: mmc0-pins { 80077e5f4fSSamuel Holland pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5"; 81077e5f4fSSamuel Holland function = "mmc0"; 82077e5f4fSSamuel Holland }; 83077e5f4fSSamuel Holland 84077e5f4fSSamuel Holland /omit-if-no-ref/ 85077e5f4fSSamuel Holland mmc1_pins: mmc1-pins { 86077e5f4fSSamuel Holland pins = "PG0", "PG1", "PG2", "PG3", "PG4", "PG5"; 87077e5f4fSSamuel Holland function = "mmc1"; 88077e5f4fSSamuel Holland }; 89077e5f4fSSamuel Holland 90077e5f4fSSamuel Holland /omit-if-no-ref/ 91077e5f4fSSamuel Holland mmc2_pins: mmc2-pins { 92077e5f4fSSamuel Holland pins = "PC2", "PC3", "PC4", "PC5", "PC6", "PC7"; 93077e5f4fSSamuel Holland function = "mmc2"; 94077e5f4fSSamuel Holland }; 95077e5f4fSSamuel Holland 96077e5f4fSSamuel Holland /omit-if-no-ref/ 97077e5f4fSSamuel Holland rgmii_pe_pins: rgmii-pe-pins { 98077e5f4fSSamuel Holland pins = "PE0", "PE1", "PE2", "PE3", "PE4", 99077e5f4fSSamuel Holland "PE5", "PE6", "PE7", "PE8", "PE9", 100077e5f4fSSamuel Holland "PE11", "PE12", "PE13", "PE14", "PE15"; 101077e5f4fSSamuel Holland function = "emac"; 102077e5f4fSSamuel Holland }; 103077e5f4fSSamuel Holland 104077e5f4fSSamuel Holland /omit-if-no-ref/ 105077e5f4fSSamuel Holland rmii_pe_pins: rmii-pe-pins { 106077e5f4fSSamuel Holland pins = "PE0", "PE1", "PE2", "PE3", "PE4", 107077e5f4fSSamuel Holland "PE5", "PE6", "PE7", "PE8", "PE9"; 108077e5f4fSSamuel Holland function = "emac"; 109077e5f4fSSamuel Holland }; 110077e5f4fSSamuel Holland 111077e5f4fSSamuel Holland /omit-if-no-ref/ 112*c1b2093dSMaksim Kiselev spi0_pins: spi0-pins { 113*c1b2093dSMaksim Kiselev pins = "PC2", "PC3", "PC4", "PC5"; 114*c1b2093dSMaksim Kiselev function = "spi0"; 115*c1b2093dSMaksim Kiselev }; 116*c1b2093dSMaksim Kiselev 117*c1b2093dSMaksim Kiselev /omit-if-no-ref/ 118077e5f4fSSamuel Holland uart1_pg6_pins: uart1-pg6-pins { 119077e5f4fSSamuel Holland pins = "PG6", "PG7"; 120077e5f4fSSamuel Holland function = "uart1"; 121077e5f4fSSamuel Holland }; 122077e5f4fSSamuel Holland 123077e5f4fSSamuel Holland /omit-if-no-ref/ 124077e5f4fSSamuel Holland uart1_pg8_rts_cts_pins: uart1-pg8-rts-cts-pins { 125077e5f4fSSamuel Holland pins = "PG8", "PG9"; 126077e5f4fSSamuel Holland function = "uart1"; 127077e5f4fSSamuel Holland }; 128077e5f4fSSamuel Holland 129077e5f4fSSamuel Holland /omit-if-no-ref/ 130077e5f4fSSamuel Holland uart3_pb_pins: uart3-pb-pins { 131077e5f4fSSamuel Holland pins = "PB6", "PB7"; 132077e5f4fSSamuel Holland function = "uart3"; 133077e5f4fSSamuel Holland }; 134077e5f4fSSamuel Holland }; 135077e5f4fSSamuel Holland 136077e5f4fSSamuel Holland ccu: clock-controller@2001000 { 137077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-ccu"; 138077e5f4fSSamuel Holland reg = <0x2001000 0x1000>; 139077e5f4fSSamuel Holland clocks = <&dcxo>, 140077e5f4fSSamuel Holland <&rtc CLK_OSC32K>, 141077e5f4fSSamuel Holland <&rtc CLK_IOSC>; 142077e5f4fSSamuel Holland clock-names = "hosc", "losc", "iosc"; 143077e5f4fSSamuel Holland #clock-cells = <1>; 144077e5f4fSSamuel Holland #reset-cells = <1>; 145077e5f4fSSamuel Holland }; 146077e5f4fSSamuel Holland 147077e5f4fSSamuel Holland dmic: dmic@2031000 { 148077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-dmic", 149077e5f4fSSamuel Holland "allwinner,sun50i-h6-dmic"; 150077e5f4fSSamuel Holland reg = <0x2031000 0x400>; 151077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(24) IRQ_TYPE_LEVEL_HIGH>; 152077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_DMIC>, 153077e5f4fSSamuel Holland <&ccu CLK_DMIC>; 154077e5f4fSSamuel Holland clock-names = "bus", "mod"; 155077e5f4fSSamuel Holland resets = <&ccu RST_BUS_DMIC>; 156077e5f4fSSamuel Holland dmas = <&dma 8>; 157077e5f4fSSamuel Holland dma-names = "rx"; 158077e5f4fSSamuel Holland status = "disabled"; 159077e5f4fSSamuel Holland #sound-dai-cells = <0>; 160077e5f4fSSamuel Holland }; 161077e5f4fSSamuel Holland 162077e5f4fSSamuel Holland i2s1: i2s@2033000 { 163077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-i2s", 164077e5f4fSSamuel Holland "allwinner,sun50i-r329-i2s"; 165077e5f4fSSamuel Holland reg = <0x2033000 0x1000>; 166077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(27) IRQ_TYPE_LEVEL_HIGH>; 167077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_I2S1>, 168077e5f4fSSamuel Holland <&ccu CLK_I2S1>; 169077e5f4fSSamuel Holland clock-names = "apb", "mod"; 170077e5f4fSSamuel Holland resets = <&ccu RST_BUS_I2S1>; 171077e5f4fSSamuel Holland dmas = <&dma 4>, <&dma 4>; 172077e5f4fSSamuel Holland dma-names = "rx", "tx"; 173077e5f4fSSamuel Holland status = "disabled"; 174077e5f4fSSamuel Holland #sound-dai-cells = <0>; 175077e5f4fSSamuel Holland }; 176077e5f4fSSamuel Holland 177077e5f4fSSamuel Holland i2s2: i2s@2034000 { 178077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-i2s", 179077e5f4fSSamuel Holland "allwinner,sun50i-r329-i2s"; 180077e5f4fSSamuel Holland reg = <0x2034000 0x1000>; 181077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(28) IRQ_TYPE_LEVEL_HIGH>; 182077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_I2S2>, 183077e5f4fSSamuel Holland <&ccu CLK_I2S2>; 184077e5f4fSSamuel Holland clock-names = "apb", "mod"; 185077e5f4fSSamuel Holland resets = <&ccu RST_BUS_I2S2>; 186077e5f4fSSamuel Holland dmas = <&dma 5>, <&dma 5>; 187077e5f4fSSamuel Holland dma-names = "rx", "tx"; 188077e5f4fSSamuel Holland status = "disabled"; 189077e5f4fSSamuel Holland #sound-dai-cells = <0>; 190077e5f4fSSamuel Holland }; 191077e5f4fSSamuel Holland 192077e5f4fSSamuel Holland timer: timer@2050000 { 193077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-timer", 194077e5f4fSSamuel Holland "allwinner,sun8i-a23-timer"; 195077e5f4fSSamuel Holland reg = <0x2050000 0xa0>; 196077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(59) IRQ_TYPE_LEVEL_HIGH>, 197077e5f4fSSamuel Holland <SOC_PERIPHERAL_IRQ(60) IRQ_TYPE_LEVEL_HIGH>; 198077e5f4fSSamuel Holland clocks = <&dcxo>; 199077e5f4fSSamuel Holland }; 200077e5f4fSSamuel Holland 201077e5f4fSSamuel Holland wdt: watchdog@20500a0 { 202077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-wdt-reset", 203077e5f4fSSamuel Holland "allwinner,sun20i-d1-wdt"; 204077e5f4fSSamuel Holland reg = <0x20500a0 0x20>; 205077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(63) IRQ_TYPE_LEVEL_HIGH>; 206077e5f4fSSamuel Holland clocks = <&dcxo>, <&rtc CLK_OSC32K>; 207077e5f4fSSamuel Holland clock-names = "hosc", "losc"; 208077e5f4fSSamuel Holland status = "reserved"; 209077e5f4fSSamuel Holland }; 210077e5f4fSSamuel Holland 211077e5f4fSSamuel Holland uart0: serial@2500000 { 212077e5f4fSSamuel Holland compatible = "snps,dw-apb-uart"; 213077e5f4fSSamuel Holland reg = <0x2500000 0x400>; 214077e5f4fSSamuel Holland reg-io-width = <4>; 215077e5f4fSSamuel Holland reg-shift = <2>; 216077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(2) IRQ_TYPE_LEVEL_HIGH>; 217077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_UART0>; 218077e5f4fSSamuel Holland resets = <&ccu RST_BUS_UART0>; 219077e5f4fSSamuel Holland dmas = <&dma 14>, <&dma 14>; 220a140b18fSCristian Ciocaltea dma-names = "tx", "rx"; 221077e5f4fSSamuel Holland status = "disabled"; 222077e5f4fSSamuel Holland }; 223077e5f4fSSamuel Holland 224077e5f4fSSamuel Holland uart1: serial@2500400 { 225077e5f4fSSamuel Holland compatible = "snps,dw-apb-uart"; 226077e5f4fSSamuel Holland reg = <0x2500400 0x400>; 227077e5f4fSSamuel Holland reg-io-width = <4>; 228077e5f4fSSamuel Holland reg-shift = <2>; 229077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(3) IRQ_TYPE_LEVEL_HIGH>; 230077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_UART1>; 231077e5f4fSSamuel Holland resets = <&ccu RST_BUS_UART1>; 232077e5f4fSSamuel Holland dmas = <&dma 15>, <&dma 15>; 233a140b18fSCristian Ciocaltea dma-names = "tx", "rx"; 234077e5f4fSSamuel Holland status = "disabled"; 235077e5f4fSSamuel Holland }; 236077e5f4fSSamuel Holland 237077e5f4fSSamuel Holland uart2: serial@2500800 { 238077e5f4fSSamuel Holland compatible = "snps,dw-apb-uart"; 239077e5f4fSSamuel Holland reg = <0x2500800 0x400>; 240077e5f4fSSamuel Holland reg-io-width = <4>; 241077e5f4fSSamuel Holland reg-shift = <2>; 242077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(4) IRQ_TYPE_LEVEL_HIGH>; 243077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_UART2>; 244077e5f4fSSamuel Holland resets = <&ccu RST_BUS_UART2>; 245077e5f4fSSamuel Holland dmas = <&dma 16>, <&dma 16>; 246a140b18fSCristian Ciocaltea dma-names = "tx", "rx"; 247077e5f4fSSamuel Holland status = "disabled"; 248077e5f4fSSamuel Holland }; 249077e5f4fSSamuel Holland 250077e5f4fSSamuel Holland uart3: serial@2500c00 { 251077e5f4fSSamuel Holland compatible = "snps,dw-apb-uart"; 252077e5f4fSSamuel Holland reg = <0x2500c00 0x400>; 253077e5f4fSSamuel Holland reg-io-width = <4>; 254077e5f4fSSamuel Holland reg-shift = <2>; 255077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(5) IRQ_TYPE_LEVEL_HIGH>; 256077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_UART3>; 257077e5f4fSSamuel Holland resets = <&ccu RST_BUS_UART3>; 258077e5f4fSSamuel Holland dmas = <&dma 17>, <&dma 17>; 259a140b18fSCristian Ciocaltea dma-names = "tx", "rx"; 260077e5f4fSSamuel Holland status = "disabled"; 261077e5f4fSSamuel Holland }; 262077e5f4fSSamuel Holland 263077e5f4fSSamuel Holland uart4: serial@2501000 { 264077e5f4fSSamuel Holland compatible = "snps,dw-apb-uart"; 265077e5f4fSSamuel Holland reg = <0x2501000 0x400>; 266077e5f4fSSamuel Holland reg-io-width = <4>; 267077e5f4fSSamuel Holland reg-shift = <2>; 268077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(6) IRQ_TYPE_LEVEL_HIGH>; 269077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_UART4>; 270077e5f4fSSamuel Holland resets = <&ccu RST_BUS_UART4>; 271077e5f4fSSamuel Holland dmas = <&dma 18>, <&dma 18>; 272a140b18fSCristian Ciocaltea dma-names = "tx", "rx"; 273077e5f4fSSamuel Holland status = "disabled"; 274077e5f4fSSamuel Holland }; 275077e5f4fSSamuel Holland 276077e5f4fSSamuel Holland uart5: serial@2501400 { 277077e5f4fSSamuel Holland compatible = "snps,dw-apb-uart"; 278077e5f4fSSamuel Holland reg = <0x2501400 0x400>; 279077e5f4fSSamuel Holland reg-io-width = <4>; 280077e5f4fSSamuel Holland reg-shift = <2>; 281077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(7) IRQ_TYPE_LEVEL_HIGH>; 282077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_UART5>; 283077e5f4fSSamuel Holland resets = <&ccu RST_BUS_UART5>; 284077e5f4fSSamuel Holland dmas = <&dma 19>, <&dma 19>; 285a140b18fSCristian Ciocaltea dma-names = "tx", "rx"; 286077e5f4fSSamuel Holland status = "disabled"; 287077e5f4fSSamuel Holland }; 288077e5f4fSSamuel Holland 289077e5f4fSSamuel Holland i2c0: i2c@2502000 { 290077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-i2c", 291077e5f4fSSamuel Holland "allwinner,sun8i-v536-i2c", 292077e5f4fSSamuel Holland "allwinner,sun6i-a31-i2c"; 293077e5f4fSSamuel Holland reg = <0x2502000 0x400>; 294077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(9) IRQ_TYPE_LEVEL_HIGH>; 295077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_I2C0>; 296077e5f4fSSamuel Holland resets = <&ccu RST_BUS_I2C0>; 297077e5f4fSSamuel Holland dmas = <&dma 43>, <&dma 43>; 298077e5f4fSSamuel Holland dma-names = "rx", "tx"; 299077e5f4fSSamuel Holland status = "disabled"; 300077e5f4fSSamuel Holland #address-cells = <1>; 301077e5f4fSSamuel Holland #size-cells = <0>; 302077e5f4fSSamuel Holland }; 303077e5f4fSSamuel Holland 304077e5f4fSSamuel Holland i2c1: i2c@2502400 { 305077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-i2c", 306077e5f4fSSamuel Holland "allwinner,sun8i-v536-i2c", 307077e5f4fSSamuel Holland "allwinner,sun6i-a31-i2c"; 308077e5f4fSSamuel Holland reg = <0x2502400 0x400>; 309077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(10) IRQ_TYPE_LEVEL_HIGH>; 310077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_I2C1>; 311077e5f4fSSamuel Holland resets = <&ccu RST_BUS_I2C1>; 312077e5f4fSSamuel Holland dmas = <&dma 44>, <&dma 44>; 313077e5f4fSSamuel Holland dma-names = "rx", "tx"; 314077e5f4fSSamuel Holland status = "disabled"; 315077e5f4fSSamuel Holland #address-cells = <1>; 316077e5f4fSSamuel Holland #size-cells = <0>; 317077e5f4fSSamuel Holland }; 318077e5f4fSSamuel Holland 319077e5f4fSSamuel Holland i2c2: i2c@2502800 { 320077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-i2c", 321077e5f4fSSamuel Holland "allwinner,sun8i-v536-i2c", 322077e5f4fSSamuel Holland "allwinner,sun6i-a31-i2c"; 323077e5f4fSSamuel Holland reg = <0x2502800 0x400>; 324077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(11) IRQ_TYPE_LEVEL_HIGH>; 325077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_I2C2>; 326077e5f4fSSamuel Holland resets = <&ccu RST_BUS_I2C2>; 327077e5f4fSSamuel Holland dmas = <&dma 45>, <&dma 45>; 328077e5f4fSSamuel Holland dma-names = "rx", "tx"; 329077e5f4fSSamuel Holland status = "disabled"; 330077e5f4fSSamuel Holland #address-cells = <1>; 331077e5f4fSSamuel Holland #size-cells = <0>; 332077e5f4fSSamuel Holland }; 333077e5f4fSSamuel Holland 334077e5f4fSSamuel Holland i2c3: i2c@2502c00 { 335077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-i2c", 336077e5f4fSSamuel Holland "allwinner,sun8i-v536-i2c", 337077e5f4fSSamuel Holland "allwinner,sun6i-a31-i2c"; 338077e5f4fSSamuel Holland reg = <0x2502c00 0x400>; 339077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(12) IRQ_TYPE_LEVEL_HIGH>; 340077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_I2C3>; 341077e5f4fSSamuel Holland resets = <&ccu RST_BUS_I2C3>; 342077e5f4fSSamuel Holland dmas = <&dma 46>, <&dma 46>; 343077e5f4fSSamuel Holland dma-names = "rx", "tx"; 344077e5f4fSSamuel Holland status = "disabled"; 345077e5f4fSSamuel Holland #address-cells = <1>; 346077e5f4fSSamuel Holland #size-cells = <0>; 347077e5f4fSSamuel Holland }; 348077e5f4fSSamuel Holland 349077e5f4fSSamuel Holland syscon: syscon@3000000 { 350077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-system-control"; 351077e5f4fSSamuel Holland reg = <0x3000000 0x1000>; 352077e5f4fSSamuel Holland ranges; 353077e5f4fSSamuel Holland #address-cells = <1>; 354077e5f4fSSamuel Holland #size-cells = <1>; 355077e5f4fSSamuel Holland }; 356077e5f4fSSamuel Holland 357077e5f4fSSamuel Holland dma: dma-controller@3002000 { 358077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-dma"; 359077e5f4fSSamuel Holland reg = <0x3002000 0x1000>; 360077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(50) IRQ_TYPE_LEVEL_HIGH>; 361077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_DMA>, <&ccu CLK_MBUS_DMA>; 362077e5f4fSSamuel Holland clock-names = "bus", "mbus"; 363077e5f4fSSamuel Holland resets = <&ccu RST_BUS_DMA>; 364077e5f4fSSamuel Holland dma-channels = <16>; 365077e5f4fSSamuel Holland dma-requests = <48>; 366077e5f4fSSamuel Holland #dma-cells = <1>; 367077e5f4fSSamuel Holland }; 368077e5f4fSSamuel Holland 369077e5f4fSSamuel Holland sid: efuse@3006000 { 370077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-sid"; 371077e5f4fSSamuel Holland reg = <0x3006000 0x1000>; 372077e5f4fSSamuel Holland #address-cells = <1>; 373077e5f4fSSamuel Holland #size-cells = <1>; 374077e5f4fSSamuel Holland }; 375077e5f4fSSamuel Holland 3769ebdff9aSSamuel Holland crypto: crypto@3040000 { 3779ebdff9aSSamuel Holland compatible = "allwinner,sun20i-d1-crypto"; 3789ebdff9aSSamuel Holland reg = <0x3040000 0x800>; 3799ebdff9aSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(52) IRQ_TYPE_LEVEL_HIGH>; 3809ebdff9aSSamuel Holland clocks = <&ccu CLK_BUS_CE>, 3819ebdff9aSSamuel Holland <&ccu CLK_CE>, 3829ebdff9aSSamuel Holland <&ccu CLK_MBUS_CE>, 3839ebdff9aSSamuel Holland <&rtc CLK_IOSC>; 3849ebdff9aSSamuel Holland clock-names = "bus", "mod", "ram", "trng"; 3859ebdff9aSSamuel Holland resets = <&ccu RST_BUS_CE>; 3869ebdff9aSSamuel Holland }; 3879ebdff9aSSamuel Holland 388077e5f4fSSamuel Holland mbus: dram-controller@3102000 { 389077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-mbus"; 390077e5f4fSSamuel Holland reg = <0x3102000 0x1000>, 391077e5f4fSSamuel Holland <0x3103000 0x1000>; 392077e5f4fSSamuel Holland reg-names = "mbus", "dram"; 393077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(43) IRQ_TYPE_LEVEL_HIGH>; 394077e5f4fSSamuel Holland clocks = <&ccu CLK_MBUS>, 395077e5f4fSSamuel Holland <&ccu CLK_DRAM>, 396077e5f4fSSamuel Holland <&ccu CLK_BUS_DRAM>; 397077e5f4fSSamuel Holland clock-names = "mbus", "dram", "bus"; 398077e5f4fSSamuel Holland dma-ranges = <0 0x40000000 0x80000000>; 399077e5f4fSSamuel Holland #address-cells = <1>; 400077e5f4fSSamuel Holland #size-cells = <1>; 401077e5f4fSSamuel Holland #interconnect-cells = <1>; 402077e5f4fSSamuel Holland }; 403077e5f4fSSamuel Holland 404077e5f4fSSamuel Holland mmc0: mmc@4020000 { 405077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-mmc"; 406077e5f4fSSamuel Holland reg = <0x4020000 0x1000>; 407077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(40) IRQ_TYPE_LEVEL_HIGH>; 408077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_MMC0>, <&ccu CLK_MMC0>; 409077e5f4fSSamuel Holland clock-names = "ahb", "mmc"; 410077e5f4fSSamuel Holland resets = <&ccu RST_BUS_MMC0>; 411077e5f4fSSamuel Holland reset-names = "ahb"; 412077e5f4fSSamuel Holland cap-sd-highspeed; 413077e5f4fSSamuel Holland max-frequency = <150000000>; 414077e5f4fSSamuel Holland no-mmc; 415077e5f4fSSamuel Holland status = "disabled"; 416077e5f4fSSamuel Holland #address-cells = <1>; 417077e5f4fSSamuel Holland #size-cells = <0>; 418077e5f4fSSamuel Holland }; 419077e5f4fSSamuel Holland 420077e5f4fSSamuel Holland mmc1: mmc@4021000 { 421077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-mmc"; 422077e5f4fSSamuel Holland reg = <0x4021000 0x1000>; 423077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(41) IRQ_TYPE_LEVEL_HIGH>; 424077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_MMC1>, <&ccu CLK_MMC1>; 425077e5f4fSSamuel Holland clock-names = "ahb", "mmc"; 426077e5f4fSSamuel Holland resets = <&ccu RST_BUS_MMC1>; 427077e5f4fSSamuel Holland reset-names = "ahb"; 428077e5f4fSSamuel Holland cap-sd-highspeed; 429077e5f4fSSamuel Holland max-frequency = <150000000>; 430077e5f4fSSamuel Holland no-mmc; 431077e5f4fSSamuel Holland status = "disabled"; 432077e5f4fSSamuel Holland #address-cells = <1>; 433077e5f4fSSamuel Holland #size-cells = <0>; 434077e5f4fSSamuel Holland }; 435077e5f4fSSamuel Holland 436077e5f4fSSamuel Holland mmc2: mmc@4022000 { 437077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-emmc", 438077e5f4fSSamuel Holland "allwinner,sun50i-a100-emmc"; 439077e5f4fSSamuel Holland reg = <0x4022000 0x1000>; 440077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(42) IRQ_TYPE_LEVEL_HIGH>; 441077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_MMC2>, <&ccu CLK_MMC2>; 442077e5f4fSSamuel Holland clock-names = "ahb", "mmc"; 443077e5f4fSSamuel Holland resets = <&ccu RST_BUS_MMC2>; 444077e5f4fSSamuel Holland reset-names = "ahb"; 445077e5f4fSSamuel Holland cap-mmc-highspeed; 446077e5f4fSSamuel Holland max-frequency = <150000000>; 447077e5f4fSSamuel Holland mmc-ddr-1_8v; 448077e5f4fSSamuel Holland mmc-ddr-3_3v; 449077e5f4fSSamuel Holland no-sd; 450077e5f4fSSamuel Holland no-sdio; 451077e5f4fSSamuel Holland status = "disabled"; 452077e5f4fSSamuel Holland #address-cells = <1>; 453077e5f4fSSamuel Holland #size-cells = <0>; 454077e5f4fSSamuel Holland }; 455077e5f4fSSamuel Holland 456*c1b2093dSMaksim Kiselev spi0: spi@4025000 { 457*c1b2093dSMaksim Kiselev compatible = "allwinner,sun20i-d1-spi", 458*c1b2093dSMaksim Kiselev "allwinner,sun50i-r329-spi"; 459*c1b2093dSMaksim Kiselev reg = <0x04025000 0x1000>; 460*c1b2093dSMaksim Kiselev interrupts = <SOC_PERIPHERAL_IRQ(15) IRQ_TYPE_LEVEL_HIGH>; 461*c1b2093dSMaksim Kiselev clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_SPI0>; 462*c1b2093dSMaksim Kiselev clock-names = "ahb", "mod"; 463*c1b2093dSMaksim Kiselev dmas = <&dma 22>, <&dma 22>; 464*c1b2093dSMaksim Kiselev dma-names = "rx", "tx"; 465*c1b2093dSMaksim Kiselev resets = <&ccu RST_BUS_SPI0>; 466*c1b2093dSMaksim Kiselev status = "disabled"; 467*c1b2093dSMaksim Kiselev #address-cells = <1>; 468*c1b2093dSMaksim Kiselev #size-cells = <0>; 469*c1b2093dSMaksim Kiselev }; 470*c1b2093dSMaksim Kiselev 471*c1b2093dSMaksim Kiselev spi1: spi@4026000 { 472*c1b2093dSMaksim Kiselev compatible = "allwinner,sun20i-d1-spi-dbi", 473*c1b2093dSMaksim Kiselev "allwinner,sun50i-r329-spi-dbi", 474*c1b2093dSMaksim Kiselev "allwinner,sun50i-r329-spi"; 475*c1b2093dSMaksim Kiselev reg = <0x04026000 0x1000>; 476*c1b2093dSMaksim Kiselev interrupts = <SOC_PERIPHERAL_IRQ(16) IRQ_TYPE_LEVEL_HIGH>; 477*c1b2093dSMaksim Kiselev clocks = <&ccu CLK_BUS_SPI1>, <&ccu CLK_SPI1>; 478*c1b2093dSMaksim Kiselev clock-names = "ahb", "mod"; 479*c1b2093dSMaksim Kiselev dmas = <&dma 23>, <&dma 23>; 480*c1b2093dSMaksim Kiselev dma-names = "rx", "tx"; 481*c1b2093dSMaksim Kiselev resets = <&ccu RST_BUS_SPI1>; 482*c1b2093dSMaksim Kiselev status = "disabled"; 483*c1b2093dSMaksim Kiselev #address-cells = <1>; 484*c1b2093dSMaksim Kiselev #size-cells = <0>; 485*c1b2093dSMaksim Kiselev }; 486*c1b2093dSMaksim Kiselev 487077e5f4fSSamuel Holland usb_otg: usb@4100000 { 488077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-musb", 489077e5f4fSSamuel Holland "allwinner,sun8i-a33-musb"; 490077e5f4fSSamuel Holland reg = <0x4100000 0x400>; 491077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(29) IRQ_TYPE_LEVEL_HIGH>; 492077e5f4fSSamuel Holland interrupt-names = "mc"; 493077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_OTG>; 494077e5f4fSSamuel Holland resets = <&ccu RST_BUS_OTG>; 495077e5f4fSSamuel Holland extcon = <&usbphy 0>; 496077e5f4fSSamuel Holland phys = <&usbphy 0>; 497077e5f4fSSamuel Holland phy-names = "usb"; 498077e5f4fSSamuel Holland status = "disabled"; 499077e5f4fSSamuel Holland }; 500077e5f4fSSamuel Holland 501077e5f4fSSamuel Holland usbphy: phy@4100400 { 502077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-usb-phy"; 503077e5f4fSSamuel Holland reg = <0x4100400 0x100>, 504077e5f4fSSamuel Holland <0x4101800 0x100>, 505077e5f4fSSamuel Holland <0x4200800 0x100>; 506077e5f4fSSamuel Holland reg-names = "phy_ctrl", 507077e5f4fSSamuel Holland "pmu0", 508077e5f4fSSamuel Holland "pmu1"; 509077e5f4fSSamuel Holland clocks = <&dcxo>, 510077e5f4fSSamuel Holland <&dcxo>; 511077e5f4fSSamuel Holland clock-names = "usb0_phy", 512077e5f4fSSamuel Holland "usb1_phy"; 513077e5f4fSSamuel Holland resets = <&ccu RST_USB_PHY0>, 514077e5f4fSSamuel Holland <&ccu RST_USB_PHY1>; 515077e5f4fSSamuel Holland reset-names = "usb0_reset", 516077e5f4fSSamuel Holland "usb1_reset"; 517077e5f4fSSamuel Holland status = "disabled"; 518077e5f4fSSamuel Holland #phy-cells = <1>; 519077e5f4fSSamuel Holland }; 520077e5f4fSSamuel Holland 521077e5f4fSSamuel Holland ehci0: usb@4101000 { 522077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-ehci", 523077e5f4fSSamuel Holland "generic-ehci"; 524077e5f4fSSamuel Holland reg = <0x4101000 0x100>; 525077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(30) IRQ_TYPE_LEVEL_HIGH>; 526077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_OHCI0>, 527077e5f4fSSamuel Holland <&ccu CLK_BUS_EHCI0>, 528077e5f4fSSamuel Holland <&ccu CLK_USB_OHCI0>; 529077e5f4fSSamuel Holland resets = <&ccu RST_BUS_OHCI0>, 530077e5f4fSSamuel Holland <&ccu RST_BUS_EHCI0>; 531077e5f4fSSamuel Holland phys = <&usbphy 0>; 532077e5f4fSSamuel Holland phy-names = "usb"; 533077e5f4fSSamuel Holland status = "disabled"; 534077e5f4fSSamuel Holland }; 535077e5f4fSSamuel Holland 536077e5f4fSSamuel Holland ohci0: usb@4101400 { 537077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-ohci", 538077e5f4fSSamuel Holland "generic-ohci"; 539077e5f4fSSamuel Holland reg = <0x4101400 0x100>; 540077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(31) IRQ_TYPE_LEVEL_HIGH>; 541077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_OHCI0>, 542077e5f4fSSamuel Holland <&ccu CLK_USB_OHCI0>; 543077e5f4fSSamuel Holland resets = <&ccu RST_BUS_OHCI0>; 544077e5f4fSSamuel Holland phys = <&usbphy 0>; 545077e5f4fSSamuel Holland phy-names = "usb"; 546077e5f4fSSamuel Holland status = "disabled"; 547077e5f4fSSamuel Holland }; 548077e5f4fSSamuel Holland 549077e5f4fSSamuel Holland ehci1: usb@4200000 { 550077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-ehci", 551077e5f4fSSamuel Holland "generic-ehci"; 552077e5f4fSSamuel Holland reg = <0x4200000 0x100>; 553077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(33) IRQ_TYPE_LEVEL_HIGH>; 554077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_OHCI1>, 555077e5f4fSSamuel Holland <&ccu CLK_BUS_EHCI1>, 556077e5f4fSSamuel Holland <&ccu CLK_USB_OHCI1>; 557077e5f4fSSamuel Holland resets = <&ccu RST_BUS_OHCI1>, 558077e5f4fSSamuel Holland <&ccu RST_BUS_EHCI1>; 559077e5f4fSSamuel Holland phys = <&usbphy 1>; 560077e5f4fSSamuel Holland phy-names = "usb"; 561077e5f4fSSamuel Holland status = "disabled"; 562077e5f4fSSamuel Holland }; 563077e5f4fSSamuel Holland 564077e5f4fSSamuel Holland ohci1: usb@4200400 { 565077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-ohci", 566077e5f4fSSamuel Holland "generic-ohci"; 567077e5f4fSSamuel Holland reg = <0x4200400 0x100>; 568077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(34) IRQ_TYPE_LEVEL_HIGH>; 569077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_OHCI1>, 570077e5f4fSSamuel Holland <&ccu CLK_USB_OHCI1>; 571077e5f4fSSamuel Holland resets = <&ccu RST_BUS_OHCI1>; 572077e5f4fSSamuel Holland phys = <&usbphy 1>; 573077e5f4fSSamuel Holland phy-names = "usb"; 574077e5f4fSSamuel Holland status = "disabled"; 575077e5f4fSSamuel Holland }; 576077e5f4fSSamuel Holland 577077e5f4fSSamuel Holland emac: ethernet@4500000 { 578077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-emac", 579077e5f4fSSamuel Holland "allwinner,sun50i-a64-emac"; 580077e5f4fSSamuel Holland reg = <0x4500000 0x10000>; 581077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(46) IRQ_TYPE_LEVEL_HIGH>; 582077e5f4fSSamuel Holland interrupt-names = "macirq"; 583077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_EMAC>; 584077e5f4fSSamuel Holland clock-names = "stmmaceth"; 585077e5f4fSSamuel Holland resets = <&ccu RST_BUS_EMAC>; 586077e5f4fSSamuel Holland reset-names = "stmmaceth"; 587077e5f4fSSamuel Holland syscon = <&syscon>; 588077e5f4fSSamuel Holland status = "disabled"; 589077e5f4fSSamuel Holland 590077e5f4fSSamuel Holland mdio: mdio { 591077e5f4fSSamuel Holland compatible = "snps,dwmac-mdio"; 592077e5f4fSSamuel Holland #address-cells = <1>; 593077e5f4fSSamuel Holland #size-cells = <0>; 594077e5f4fSSamuel Holland }; 595077e5f4fSSamuel Holland }; 596077e5f4fSSamuel Holland 597077e5f4fSSamuel Holland display_clocks: clock-controller@5000000 { 598077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-de2-clk", 599077e5f4fSSamuel Holland "allwinner,sun50i-h5-de2-clk"; 600077e5f4fSSamuel Holland reg = <0x5000000 0x10000>; 601077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_DE>, <&ccu CLK_DE>; 602077e5f4fSSamuel Holland clock-names = "bus", "mod"; 603077e5f4fSSamuel Holland resets = <&ccu RST_BUS_DE>; 604077e5f4fSSamuel Holland #clock-cells = <1>; 605077e5f4fSSamuel Holland #reset-cells = <1>; 606077e5f4fSSamuel Holland }; 607077e5f4fSSamuel Holland 608077e5f4fSSamuel Holland mixer0: mixer@5100000 { 609077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-de2-mixer-0"; 610077e5f4fSSamuel Holland reg = <0x5100000 0x100000>; 611077e5f4fSSamuel Holland clocks = <&display_clocks CLK_BUS_MIXER0>, 612077e5f4fSSamuel Holland <&display_clocks CLK_MIXER0>; 613077e5f4fSSamuel Holland clock-names = "bus", "mod"; 614077e5f4fSSamuel Holland resets = <&display_clocks RST_MIXER0>; 615077e5f4fSSamuel Holland 616077e5f4fSSamuel Holland ports { 617077e5f4fSSamuel Holland #address-cells = <1>; 618077e5f4fSSamuel Holland #size-cells = <0>; 619077e5f4fSSamuel Holland 620077e5f4fSSamuel Holland mixer0_out: port@1 { 621077e5f4fSSamuel Holland reg = <1>; 622077e5f4fSSamuel Holland 623077e5f4fSSamuel Holland mixer0_out_tcon_top_mixer0: endpoint { 624077e5f4fSSamuel Holland remote-endpoint = <&tcon_top_mixer0_in_mixer0>; 625077e5f4fSSamuel Holland }; 626077e5f4fSSamuel Holland }; 627077e5f4fSSamuel Holland }; 628077e5f4fSSamuel Holland }; 629077e5f4fSSamuel Holland 630077e5f4fSSamuel Holland mixer1: mixer@5200000 { 631077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-de2-mixer-1"; 632077e5f4fSSamuel Holland reg = <0x5200000 0x100000>; 633077e5f4fSSamuel Holland clocks = <&display_clocks CLK_BUS_MIXER1>, 634077e5f4fSSamuel Holland <&display_clocks CLK_MIXER1>; 635077e5f4fSSamuel Holland clock-names = "bus", "mod"; 636077e5f4fSSamuel Holland resets = <&display_clocks RST_MIXER1>; 637077e5f4fSSamuel Holland 638077e5f4fSSamuel Holland ports { 639077e5f4fSSamuel Holland #address-cells = <1>; 640077e5f4fSSamuel Holland #size-cells = <0>; 641077e5f4fSSamuel Holland 642077e5f4fSSamuel Holland mixer1_out: port@1 { 643077e5f4fSSamuel Holland reg = <1>; 644077e5f4fSSamuel Holland 645077e5f4fSSamuel Holland mixer1_out_tcon_top_mixer1: endpoint { 646077e5f4fSSamuel Holland remote-endpoint = <&tcon_top_mixer1_in_mixer1>; 647077e5f4fSSamuel Holland }; 648077e5f4fSSamuel Holland }; 649077e5f4fSSamuel Holland }; 650077e5f4fSSamuel Holland }; 651077e5f4fSSamuel Holland 652077e5f4fSSamuel Holland dsi: dsi@5450000 { 653077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-mipi-dsi", 654077e5f4fSSamuel Holland "allwinner,sun50i-a100-mipi-dsi"; 655077e5f4fSSamuel Holland reg = <0x5450000 0x1000>; 656077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(92) IRQ_TYPE_LEVEL_HIGH>; 657077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_MIPI_DSI>, 658077e5f4fSSamuel Holland <&tcon_top CLK_TCON_TOP_DSI>; 659077e5f4fSSamuel Holland clock-names = "bus", "mod"; 660077e5f4fSSamuel Holland resets = <&ccu RST_BUS_MIPI_DSI>; 661077e5f4fSSamuel Holland phys = <&dphy>; 662077e5f4fSSamuel Holland phy-names = "dphy"; 663077e5f4fSSamuel Holland status = "disabled"; 664077e5f4fSSamuel Holland 665077e5f4fSSamuel Holland port { 666077e5f4fSSamuel Holland dsi_in_tcon_lcd0: endpoint { 667077e5f4fSSamuel Holland remote-endpoint = <&tcon_lcd0_out_dsi>; 668077e5f4fSSamuel Holland }; 669077e5f4fSSamuel Holland }; 670077e5f4fSSamuel Holland }; 671077e5f4fSSamuel Holland 672077e5f4fSSamuel Holland dphy: phy@5451000 { 673077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-mipi-dphy", 674077e5f4fSSamuel Holland "allwinner,sun50i-a100-mipi-dphy"; 675077e5f4fSSamuel Holland reg = <0x5451000 0x1000>; 676077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(92) IRQ_TYPE_LEVEL_HIGH>; 677077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_MIPI_DSI>, 678077e5f4fSSamuel Holland <&ccu CLK_MIPI_DSI>; 679077e5f4fSSamuel Holland clock-names = "bus", "mod"; 680077e5f4fSSamuel Holland resets = <&ccu RST_BUS_MIPI_DSI>; 681077e5f4fSSamuel Holland #phy-cells = <0>; 682077e5f4fSSamuel Holland }; 683077e5f4fSSamuel Holland 684077e5f4fSSamuel Holland tcon_top: tcon-top@5460000 { 685077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-tcon-top"; 686077e5f4fSSamuel Holland reg = <0x5460000 0x1000>; 687077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_DPSS_TOP>, 688077e5f4fSSamuel Holland <&ccu CLK_TCON_TV>, 689077e5f4fSSamuel Holland <&ccu CLK_TVE>, 690077e5f4fSSamuel Holland <&ccu CLK_TCON_LCD0>; 691077e5f4fSSamuel Holland clock-names = "bus", "tcon-tv0", "tve0", "dsi"; 692077e5f4fSSamuel Holland clock-output-names = "tcon-top-tv0", "tcon-top-dsi"; 693077e5f4fSSamuel Holland resets = <&ccu RST_BUS_DPSS_TOP>; 694077e5f4fSSamuel Holland #clock-cells = <1>; 695077e5f4fSSamuel Holland 696077e5f4fSSamuel Holland ports { 697077e5f4fSSamuel Holland #address-cells = <1>; 698077e5f4fSSamuel Holland #size-cells = <0>; 699077e5f4fSSamuel Holland 700077e5f4fSSamuel Holland tcon_top_mixer0_in: port@0 { 701077e5f4fSSamuel Holland reg = <0>; 702077e5f4fSSamuel Holland 703077e5f4fSSamuel Holland tcon_top_mixer0_in_mixer0: endpoint { 704077e5f4fSSamuel Holland remote-endpoint = <&mixer0_out_tcon_top_mixer0>; 705077e5f4fSSamuel Holland }; 706077e5f4fSSamuel Holland }; 707077e5f4fSSamuel Holland 708077e5f4fSSamuel Holland tcon_top_mixer0_out: port@1 { 709077e5f4fSSamuel Holland reg = <1>; 710077e5f4fSSamuel Holland #address-cells = <1>; 711077e5f4fSSamuel Holland #size-cells = <0>; 712077e5f4fSSamuel Holland 713077e5f4fSSamuel Holland tcon_top_mixer0_out_tcon_lcd0: endpoint@0 { 714077e5f4fSSamuel Holland reg = <0>; 715077e5f4fSSamuel Holland remote-endpoint = <&tcon_lcd0_in_tcon_top_mixer0>; 716077e5f4fSSamuel Holland }; 717077e5f4fSSamuel Holland 718077e5f4fSSamuel Holland tcon_top_mixer0_out_tcon_tv0: endpoint@2 { 719077e5f4fSSamuel Holland reg = <2>; 720077e5f4fSSamuel Holland remote-endpoint = <&tcon_tv0_in_tcon_top_mixer0>; 721077e5f4fSSamuel Holland }; 722077e5f4fSSamuel Holland }; 723077e5f4fSSamuel Holland 724077e5f4fSSamuel Holland tcon_top_mixer1_in: port@2 { 725077e5f4fSSamuel Holland reg = <2>; 726077e5f4fSSamuel Holland #address-cells = <1>; 727077e5f4fSSamuel Holland #size-cells = <0>; 728077e5f4fSSamuel Holland 729077e5f4fSSamuel Holland tcon_top_mixer1_in_mixer1: endpoint@1 { 730077e5f4fSSamuel Holland reg = <1>; 731077e5f4fSSamuel Holland remote-endpoint = <&mixer1_out_tcon_top_mixer1>; 732077e5f4fSSamuel Holland }; 733077e5f4fSSamuel Holland }; 734077e5f4fSSamuel Holland 735077e5f4fSSamuel Holland tcon_top_mixer1_out: port@3 { 736077e5f4fSSamuel Holland reg = <3>; 737077e5f4fSSamuel Holland #address-cells = <1>; 738077e5f4fSSamuel Holland #size-cells = <0>; 739077e5f4fSSamuel Holland 740077e5f4fSSamuel Holland tcon_top_mixer1_out_tcon_lcd0: endpoint@0 { 741077e5f4fSSamuel Holland reg = <0>; 742077e5f4fSSamuel Holland remote-endpoint = <&tcon_lcd0_in_tcon_top_mixer1>; 743077e5f4fSSamuel Holland }; 744077e5f4fSSamuel Holland 745077e5f4fSSamuel Holland tcon_top_mixer1_out_tcon_tv0: endpoint@2 { 746077e5f4fSSamuel Holland reg = <2>; 747077e5f4fSSamuel Holland remote-endpoint = <&tcon_tv0_in_tcon_top_mixer1>; 748077e5f4fSSamuel Holland }; 749077e5f4fSSamuel Holland }; 750077e5f4fSSamuel Holland 751077e5f4fSSamuel Holland tcon_top_hdmi_in: port@4 { 752077e5f4fSSamuel Holland reg = <4>; 753077e5f4fSSamuel Holland 754077e5f4fSSamuel Holland tcon_top_hdmi_in_tcon_tv0: endpoint { 755077e5f4fSSamuel Holland remote-endpoint = <&tcon_tv0_out_tcon_top_hdmi>; 756077e5f4fSSamuel Holland }; 757077e5f4fSSamuel Holland }; 758077e5f4fSSamuel Holland 759077e5f4fSSamuel Holland tcon_top_hdmi_out: port@5 { 760077e5f4fSSamuel Holland reg = <5>; 761077e5f4fSSamuel Holland }; 762077e5f4fSSamuel Holland }; 763077e5f4fSSamuel Holland }; 764077e5f4fSSamuel Holland 765077e5f4fSSamuel Holland tcon_lcd0: lcd-controller@5461000 { 766077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-tcon-lcd"; 767077e5f4fSSamuel Holland reg = <0x5461000 0x1000>; 768077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(90) IRQ_TYPE_LEVEL_HIGH>; 769077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_TCON_LCD0>, 770077e5f4fSSamuel Holland <&ccu CLK_TCON_LCD0>; 771077e5f4fSSamuel Holland clock-names = "ahb", "tcon-ch0"; 772077e5f4fSSamuel Holland clock-output-names = "tcon-pixel-clock"; 773077e5f4fSSamuel Holland resets = <&ccu RST_BUS_TCON_LCD0>, 774077e5f4fSSamuel Holland <&ccu RST_BUS_LVDS0>; 775077e5f4fSSamuel Holland reset-names = "lcd", "lvds"; 776077e5f4fSSamuel Holland #clock-cells = <0>; 777077e5f4fSSamuel Holland 778077e5f4fSSamuel Holland ports { 779077e5f4fSSamuel Holland #address-cells = <1>; 780077e5f4fSSamuel Holland #size-cells = <0>; 781077e5f4fSSamuel Holland 782077e5f4fSSamuel Holland tcon_lcd0_in: port@0 { 783077e5f4fSSamuel Holland reg = <0>; 784077e5f4fSSamuel Holland #address-cells = <1>; 785077e5f4fSSamuel Holland #size-cells = <0>; 786077e5f4fSSamuel Holland 787077e5f4fSSamuel Holland tcon_lcd0_in_tcon_top_mixer0: endpoint@0 { 788077e5f4fSSamuel Holland reg = <0>; 789077e5f4fSSamuel Holland remote-endpoint = <&tcon_top_mixer0_out_tcon_lcd0>; 790077e5f4fSSamuel Holland }; 791077e5f4fSSamuel Holland 792077e5f4fSSamuel Holland tcon_lcd0_in_tcon_top_mixer1: endpoint@1 { 793077e5f4fSSamuel Holland reg = <1>; 794077e5f4fSSamuel Holland remote-endpoint = <&tcon_top_mixer1_out_tcon_lcd0>; 795077e5f4fSSamuel Holland }; 796077e5f4fSSamuel Holland }; 797077e5f4fSSamuel Holland 798077e5f4fSSamuel Holland tcon_lcd0_out: port@1 { 799077e5f4fSSamuel Holland reg = <1>; 800077e5f4fSSamuel Holland #address-cells = <1>; 801077e5f4fSSamuel Holland #size-cells = <0>; 802077e5f4fSSamuel Holland 803077e5f4fSSamuel Holland tcon_lcd0_out_dsi: endpoint@1 { 804077e5f4fSSamuel Holland reg = <1>; 805077e5f4fSSamuel Holland remote-endpoint = <&dsi_in_tcon_lcd0>; 806077e5f4fSSamuel Holland }; 807077e5f4fSSamuel Holland }; 808077e5f4fSSamuel Holland }; 809077e5f4fSSamuel Holland }; 810077e5f4fSSamuel Holland 811077e5f4fSSamuel Holland tcon_tv0: lcd-controller@5470000 { 812077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-tcon-tv"; 813077e5f4fSSamuel Holland reg = <0x5470000 0x1000>; 814077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(91) IRQ_TYPE_LEVEL_HIGH>; 815077e5f4fSSamuel Holland clocks = <&ccu CLK_BUS_TCON_TV>, 816077e5f4fSSamuel Holland <&tcon_top CLK_TCON_TOP_TV0>; 817077e5f4fSSamuel Holland clock-names = "ahb", "tcon-ch1"; 818077e5f4fSSamuel Holland resets = <&ccu RST_BUS_TCON_TV>; 819077e5f4fSSamuel Holland reset-names = "lcd"; 820077e5f4fSSamuel Holland 821077e5f4fSSamuel Holland ports { 822077e5f4fSSamuel Holland #address-cells = <1>; 823077e5f4fSSamuel Holland #size-cells = <0>; 824077e5f4fSSamuel Holland 825077e5f4fSSamuel Holland tcon_tv0_in: port@0 { 826077e5f4fSSamuel Holland reg = <0>; 827077e5f4fSSamuel Holland #address-cells = <1>; 828077e5f4fSSamuel Holland #size-cells = <0>; 829077e5f4fSSamuel Holland 830077e5f4fSSamuel Holland tcon_tv0_in_tcon_top_mixer0: endpoint@0 { 831077e5f4fSSamuel Holland reg = <0>; 832077e5f4fSSamuel Holland remote-endpoint = <&tcon_top_mixer0_out_tcon_tv0>; 833077e5f4fSSamuel Holland }; 834077e5f4fSSamuel Holland 835077e5f4fSSamuel Holland tcon_tv0_in_tcon_top_mixer1: endpoint@1 { 836077e5f4fSSamuel Holland reg = <1>; 837077e5f4fSSamuel Holland remote-endpoint = <&tcon_top_mixer1_out_tcon_tv0>; 838077e5f4fSSamuel Holland }; 839077e5f4fSSamuel Holland }; 840077e5f4fSSamuel Holland 841077e5f4fSSamuel Holland tcon_tv0_out: port@1 { 842077e5f4fSSamuel Holland reg = <1>; 843077e5f4fSSamuel Holland 844077e5f4fSSamuel Holland tcon_tv0_out_tcon_top_hdmi: endpoint { 845077e5f4fSSamuel Holland remote-endpoint = <&tcon_top_hdmi_in_tcon_tv0>; 846077e5f4fSSamuel Holland }; 847077e5f4fSSamuel Holland }; 848077e5f4fSSamuel Holland }; 849077e5f4fSSamuel Holland }; 850077e5f4fSSamuel Holland 851dca36f7bSSamuel Holland ppu: power-controller@7001000 { 852dca36f7bSSamuel Holland compatible = "allwinner,sun20i-d1-ppu"; 853dca36f7bSSamuel Holland reg = <0x7001000 0x1000>; 854dca36f7bSSamuel Holland clocks = <&r_ccu CLK_BUS_R_PPU>; 855dca36f7bSSamuel Holland resets = <&r_ccu RST_BUS_R_PPU>; 856dca36f7bSSamuel Holland #power-domain-cells = <1>; 857dca36f7bSSamuel Holland }; 858dca36f7bSSamuel Holland 859077e5f4fSSamuel Holland r_ccu: clock-controller@7010000 { 860077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-r-ccu"; 861077e5f4fSSamuel Holland reg = <0x7010000 0x400>; 862077e5f4fSSamuel Holland clocks = <&dcxo>, 863077e5f4fSSamuel Holland <&rtc CLK_OSC32K>, 864077e5f4fSSamuel Holland <&rtc CLK_IOSC>, 865077e5f4fSSamuel Holland <&ccu CLK_PLL_PERIPH0_DIV3>; 866077e5f4fSSamuel Holland clock-names = "hosc", "losc", "iosc", "pll-periph"; 867077e5f4fSSamuel Holland #clock-cells = <1>; 868077e5f4fSSamuel Holland #reset-cells = <1>; 869077e5f4fSSamuel Holland }; 870077e5f4fSSamuel Holland 871077e5f4fSSamuel Holland rtc: rtc@7090000 { 872077e5f4fSSamuel Holland compatible = "allwinner,sun20i-d1-rtc", 873077e5f4fSSamuel Holland "allwinner,sun50i-r329-rtc"; 874077e5f4fSSamuel Holland reg = <0x7090000 0x400>; 875077e5f4fSSamuel Holland interrupts = <SOC_PERIPHERAL_IRQ(144) IRQ_TYPE_LEVEL_HIGH>; 876077e5f4fSSamuel Holland clocks = <&r_ccu CLK_BUS_R_RTC>, 877077e5f4fSSamuel Holland <&dcxo>, 878077e5f4fSSamuel Holland <&r_ccu CLK_R_AHB>; 879077e5f4fSSamuel Holland clock-names = "bus", "hosc", "ahb"; 880077e5f4fSSamuel Holland #clock-cells = <1>; 881077e5f4fSSamuel Holland }; 882077e5f4fSSamuel Holland }; 883077e5f4fSSamuel Holland}; 884