14ba16d17SMesih Kilinc// SPDX-License-Identifier: (GPL-2.0+ OR X11) 24ba16d17SMesih Kilinc/* 34ba16d17SMesih Kilinc * Copyright 2018 Icenowy Zheng <icenowy@aosc.io> 44ba16d17SMesih Kilinc * Copyright 2018 Mesih Kilinc <mesihkilinc@gmail.com> 54ba16d17SMesih Kilinc */ 64ba16d17SMesih Kilinc 71aba2af5SJesse Taube#include <dt-bindings/clock/suniv-ccu-f1c100s.h> 81aba2af5SJesse Taube#include <dt-bindings/reset/suniv-ccu-f1c100s.h> 97336701fSMesih Kilinc#include <dt-bindings/dma/sun4i-a10.h> 101aba2af5SJesse Taube 114ba16d17SMesih Kilinc/ { 124ba16d17SMesih Kilinc #address-cells = <1>; 134ba16d17SMesih Kilinc #size-cells = <1>; 144ba16d17SMesih Kilinc interrupt-parent = <&intc>; 154ba16d17SMesih Kilinc 164ba16d17SMesih Kilinc clocks { 174ba16d17SMesih Kilinc osc24M: clk-24M { 184ba16d17SMesih Kilinc #clock-cells = <0>; 194ba16d17SMesih Kilinc compatible = "fixed-clock"; 204ba16d17SMesih Kilinc clock-frequency = <24000000>; 214ba16d17SMesih Kilinc clock-output-names = "osc24M"; 224ba16d17SMesih Kilinc }; 234ba16d17SMesih Kilinc 244ba16d17SMesih Kilinc osc32k: clk-32k { 254ba16d17SMesih Kilinc #clock-cells = <0>; 264ba16d17SMesih Kilinc compatible = "fixed-clock"; 274ba16d17SMesih Kilinc clock-frequency = <32768>; 284ba16d17SMesih Kilinc clock-output-names = "osc32k"; 294ba16d17SMesih Kilinc }; 304ba16d17SMesih Kilinc }; 314ba16d17SMesih Kilinc 324ba16d17SMesih Kilinc cpus { 33a6d9efb6SAndre Przywara #address-cells = <1>; 34a6d9efb6SAndre Przywara #size-cells = <0>; 35a6d9efb6SAndre Przywara 36a6d9efb6SAndre Przywara cpu@0 { 374ba16d17SMesih Kilinc compatible = "arm,arm926ej-s"; 384ba16d17SMesih Kilinc device_type = "cpu"; 39a6d9efb6SAndre Przywara reg = <0x0>; 404ba16d17SMesih Kilinc }; 414ba16d17SMesih Kilinc }; 424ba16d17SMesih Kilinc 434ba16d17SMesih Kilinc soc { 444ba16d17SMesih Kilinc compatible = "simple-bus"; 454ba16d17SMesih Kilinc #address-cells = <1>; 464ba16d17SMesih Kilinc #size-cells = <1>; 474ba16d17SMesih Kilinc ranges; 484ba16d17SMesih Kilinc 494ba16d17SMesih Kilinc sram-controller@1c00000 { 504ba16d17SMesih Kilinc compatible = "allwinner,suniv-f1c100s-system-control", 514ba16d17SMesih Kilinc "allwinner,sun4i-a10-system-control"; 524ba16d17SMesih Kilinc reg = <0x01c00000 0x30>; 534ba16d17SMesih Kilinc #address-cells = <1>; 544ba16d17SMesih Kilinc #size-cells = <1>; 554ba16d17SMesih Kilinc ranges; 564ba16d17SMesih Kilinc 574ba16d17SMesih Kilinc sram_d: sram@10000 { 584ba16d17SMesih Kilinc compatible = "mmio-sram"; 594ba16d17SMesih Kilinc reg = <0x00010000 0x1000>; 604ba16d17SMesih Kilinc #address-cells = <1>; 614ba16d17SMesih Kilinc #size-cells = <1>; 624ba16d17SMesih Kilinc ranges = <0 0x00010000 0x1000>; 634ba16d17SMesih Kilinc 644ba16d17SMesih Kilinc otg_sram: sram-section@0 { 654ba16d17SMesih Kilinc compatible = "allwinner,suniv-f1c100s-sram-d", 664ba16d17SMesih Kilinc "allwinner,sun4i-a10-sram-d"; 674ba16d17SMesih Kilinc reg = <0x0000 0x1000>; 684ba16d17SMesih Kilinc status = "disabled"; 694ba16d17SMesih Kilinc }; 704ba16d17SMesih Kilinc }; 714ba16d17SMesih Kilinc }; 724ba16d17SMesih Kilinc 73335f5750SAndre Przywara spi0: spi@1c05000 { 74335f5750SAndre Przywara compatible = "allwinner,suniv-f1c100s-spi", 75335f5750SAndre Przywara "allwinner,sun8i-h3-spi"; 76335f5750SAndre Przywara reg = <0x01c05000 0x1000>; 77335f5750SAndre Przywara interrupts = <10>; 78335f5750SAndre Przywara clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_BUS_SPI0>; 79335f5750SAndre Przywara clock-names = "ahb", "mod"; 80335f5750SAndre Przywara resets = <&ccu RST_BUS_SPI0>; 81335f5750SAndre Przywara status = "disabled"; 82335f5750SAndre Przywara num-cs = <1>; 83335f5750SAndre Przywara #address-cells = <1>; 84335f5750SAndre Przywara #size-cells = <0>; 85335f5750SAndre Przywara }; 86335f5750SAndre Przywara 87335f5750SAndre Przywara spi1: spi@1c06000 { 88335f5750SAndre Przywara compatible = "allwinner,suniv-f1c100s-spi", 89335f5750SAndre Przywara "allwinner,sun8i-h3-spi"; 90335f5750SAndre Przywara reg = <0x01c06000 0x1000>; 91335f5750SAndre Przywara interrupts = <11>; 92335f5750SAndre Przywara clocks = <&ccu CLK_BUS_SPI1>, <&ccu CLK_BUS_SPI1>; 93335f5750SAndre Przywara clock-names = "ahb", "mod"; 94335f5750SAndre Przywara resets = <&ccu RST_BUS_SPI1>; 95335f5750SAndre Przywara status = "disabled"; 96335f5750SAndre Przywara num-cs = <1>; 97335f5750SAndre Przywara #address-cells = <1>; 98335f5750SAndre Przywara #size-cells = <0>; 99335f5750SAndre Przywara }; 100335f5750SAndre Przywara 101a672a3f2SJesse Taube mmc0: mmc@1c0f000 { 102a672a3f2SJesse Taube compatible = "allwinner,suniv-f1c100s-mmc", 103a672a3f2SJesse Taube "allwinner,sun7i-a20-mmc"; 104a672a3f2SJesse Taube reg = <0x01c0f000 0x1000>; 105a672a3f2SJesse Taube clocks = <&ccu CLK_BUS_MMC0>, 106a672a3f2SJesse Taube <&ccu CLK_MMC0>, 107a672a3f2SJesse Taube <&ccu CLK_MMC0_OUTPUT>, 108a672a3f2SJesse Taube <&ccu CLK_MMC0_SAMPLE>; 109a672a3f2SJesse Taube clock-names = "ahb", "mmc", "output", "sample"; 110a672a3f2SJesse Taube resets = <&ccu RST_BUS_MMC0>; 111a672a3f2SJesse Taube reset-names = "ahb"; 112a672a3f2SJesse Taube interrupts = <23>; 113a672a3f2SJesse Taube pinctrl-names = "default"; 114a672a3f2SJesse Taube pinctrl-0 = <&mmc0_pins>; 115a672a3f2SJesse Taube status = "disabled"; 116a672a3f2SJesse Taube #address-cells = <1>; 117a672a3f2SJesse Taube #size-cells = <0>; 118a672a3f2SJesse Taube }; 119a672a3f2SJesse Taube 120a672a3f2SJesse Taube mmc1: mmc@1c10000 { 121a672a3f2SJesse Taube compatible = "allwinner,suniv-f1c100s-mmc", 122a672a3f2SJesse Taube "allwinner,sun7i-a20-mmc"; 123a672a3f2SJesse Taube reg = <0x01c10000 0x1000>; 124a672a3f2SJesse Taube clocks = <&ccu CLK_BUS_MMC1>, 125a672a3f2SJesse Taube <&ccu CLK_MMC1>, 126a672a3f2SJesse Taube <&ccu CLK_MMC1_OUTPUT>, 127a672a3f2SJesse Taube <&ccu CLK_MMC1_SAMPLE>; 128a672a3f2SJesse Taube clock-names = "ahb", "mmc", "output", "sample"; 129a672a3f2SJesse Taube resets = <&ccu RST_BUS_MMC1>; 130a672a3f2SJesse Taube reset-names = "ahb"; 131a672a3f2SJesse Taube interrupts = <24>; 132a672a3f2SJesse Taube status = "disabled"; 133a672a3f2SJesse Taube #address-cells = <1>; 134a672a3f2SJesse Taube #size-cells = <0>; 135a672a3f2SJesse Taube }; 136a672a3f2SJesse Taube 137f23ba46eSIcenowy Zheng usb_otg: usb@1c13000 { 138f23ba46eSIcenowy Zheng compatible = "allwinner,suniv-f1c100s-musb"; 139f23ba46eSIcenowy Zheng reg = <0x01c13000 0x0400>; 140f23ba46eSIcenowy Zheng clocks = <&ccu CLK_BUS_OTG>; 141f23ba46eSIcenowy Zheng resets = <&ccu RST_BUS_OTG>; 142f23ba46eSIcenowy Zheng interrupts = <26>; 143f23ba46eSIcenowy Zheng interrupt-names = "mc"; 144f23ba46eSIcenowy Zheng phys = <&usbphy 0>; 145f23ba46eSIcenowy Zheng phy-names = "usb"; 146f23ba46eSIcenowy Zheng extcon = <&usbphy 0>; 147f23ba46eSIcenowy Zheng allwinner,sram = <&otg_sram 1>; 148f23ba46eSIcenowy Zheng status = "disabled"; 149f23ba46eSIcenowy Zheng }; 150f23ba46eSIcenowy Zheng 151f23ba46eSIcenowy Zheng usbphy: phy@1c13400 { 152f23ba46eSIcenowy Zheng compatible = "allwinner,suniv-f1c100s-usb-phy"; 153f23ba46eSIcenowy Zheng reg = <0x01c13400 0x10>; 154f23ba46eSIcenowy Zheng reg-names = "phy_ctrl"; 155f23ba46eSIcenowy Zheng clocks = <&ccu CLK_USB_PHY0>; 156f23ba46eSIcenowy Zheng clock-names = "usb0_phy"; 157f23ba46eSIcenowy Zheng resets = <&ccu RST_USB_PHY0>; 158f23ba46eSIcenowy Zheng reset-names = "usb0_reset"; 159f23ba46eSIcenowy Zheng #phy-cells = <1>; 160f23ba46eSIcenowy Zheng status = "disabled"; 161f23ba46eSIcenowy Zheng }; 162f23ba46eSIcenowy Zheng 1637336701fSMesih Kilinc dma: dma-controller@1c02000 { 1647336701fSMesih Kilinc compatible = "allwinner,suniv-f1c100s-dma"; 1657336701fSMesih Kilinc reg = <0x01c02000 0x1000>; 1667336701fSMesih Kilinc interrupts = <18>; 1677336701fSMesih Kilinc clocks = <&ccu CLK_BUS_DMA>; 1687336701fSMesih Kilinc resets = <&ccu RST_BUS_DMA>; 1697336701fSMesih Kilinc #dma-cells = <2>; 1707336701fSMesih Kilinc }; 1717336701fSMesih Kilinc 1724ba16d17SMesih Kilinc ccu: clock@1c20000 { 1734ba16d17SMesih Kilinc compatible = "allwinner,suniv-f1c100s-ccu"; 1744ba16d17SMesih Kilinc reg = <0x01c20000 0x400>; 1754ba16d17SMesih Kilinc clocks = <&osc24M>, <&osc32k>; 1764ba16d17SMesih Kilinc clock-names = "hosc", "losc"; 1774ba16d17SMesih Kilinc #clock-cells = <1>; 1784ba16d17SMesih Kilinc #reset-cells = <1>; 1794ba16d17SMesih Kilinc }; 1804ba16d17SMesih Kilinc 1814ba16d17SMesih Kilinc intc: interrupt-controller@1c20400 { 1824ba16d17SMesih Kilinc compatible = "allwinner,suniv-f1c100s-ic"; 1834ba16d17SMesih Kilinc reg = <0x01c20400 0x400>; 1844ba16d17SMesih Kilinc interrupt-controller; 1854ba16d17SMesih Kilinc #interrupt-cells = <1>; 1864ba16d17SMesih Kilinc }; 1874ba16d17SMesih Kilinc 1884ba16d17SMesih Kilinc pio: pinctrl@1c20800 { 1894ba16d17SMesih Kilinc compatible = "allwinner,suniv-f1c100s-pinctrl"; 1904ba16d17SMesih Kilinc reg = <0x01c20800 0x400>; 1914ba16d17SMesih Kilinc interrupts = <38>, <39>, <40>; 1921aba2af5SJesse Taube clocks = <&ccu CLK_BUS_PIO>, <&osc24M>, <&osc32k>; 1934ba16d17SMesih Kilinc clock-names = "apb", "hosc", "losc"; 1944ba16d17SMesih Kilinc gpio-controller; 1954ba16d17SMesih Kilinc interrupt-controller; 1964ba16d17SMesih Kilinc #interrupt-cells = <3>; 1974ba16d17SMesih Kilinc #gpio-cells = <3>; 1984ba16d17SMesih Kilinc 199a672a3f2SJesse Taube mmc0_pins: mmc0-pins { 200a672a3f2SJesse Taube pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5"; 201a672a3f2SJesse Taube function = "mmc0"; 202a672a3f2SJesse Taube drive-strength = <30>; 203a672a3f2SJesse Taube }; 204a672a3f2SJesse Taube 20516245374SAndre Przywara /omit-if-no-ref/ 20616245374SAndre Przywara i2c0_pd_pins: i2c0-pd-pins { 20716245374SAndre Przywara pins = "PD0", "PD12"; 20816245374SAndre Przywara function = "i2c0"; 20916245374SAndre Przywara }; 21016245374SAndre Przywara 211335f5750SAndre Przywara spi0_pc_pins: spi0-pc-pins { 212335f5750SAndre Przywara pins = "PC0", "PC1", "PC2", "PC3"; 213335f5750SAndre Przywara function = "spi0"; 214335f5750SAndre Przywara }; 215335f5750SAndre Przywara 2164ba16d17SMesih Kilinc uart0_pe_pins: uart0-pe-pins { 2174ba16d17SMesih Kilinc pins = "PE0", "PE1"; 2184ba16d17SMesih Kilinc function = "uart0"; 2194ba16d17SMesih Kilinc }; 220cc185861SAndre Przywara 221cc185861SAndre Przywara /omit-if-no-ref/ 222cc185861SAndre Przywara uart1_pa_pins: uart1-pa-pins { 223cc185861SAndre Przywara pins = "PA2", "PA3"; 224cc185861SAndre Przywara function = "uart1"; 225cc185861SAndre Przywara }; 2264ba16d17SMesih Kilinc }; 2274ba16d17SMesih Kilinc 22816245374SAndre Przywara i2c0: i2c@1c27000 { 22916245374SAndre Przywara compatible = "allwinner,suniv-f1c100s-i2c", 23016245374SAndre Przywara "allwinner,sun6i-a31-i2c"; 23116245374SAndre Przywara reg = <0x01c27000 0x400>; 23216245374SAndre Przywara interrupts = <7>; 23316245374SAndre Przywara clocks = <&ccu CLK_BUS_I2C0>; 23416245374SAndre Przywara resets = <&ccu RST_BUS_I2C0>; 23516245374SAndre Przywara #address-cells = <1>; 23616245374SAndre Przywara #size-cells = <0>; 23716245374SAndre Przywara status = "disabled"; 23816245374SAndre Przywara }; 23916245374SAndre Przywara 24016245374SAndre Przywara i2c1: i2c@1c27400 { 24116245374SAndre Przywara compatible = "allwinner,suniv-f1c100s-i2c", 24216245374SAndre Przywara "allwinner,sun6i-a31-i2c"; 24316245374SAndre Przywara reg = <0x01c27400 0x400>; 24416245374SAndre Przywara interrupts = <8>; 24516245374SAndre Przywara clocks = <&ccu CLK_BUS_I2C1>; 24616245374SAndre Przywara resets = <&ccu RST_BUS_I2C1>; 24716245374SAndre Przywara #address-cells = <1>; 24816245374SAndre Przywara #size-cells = <0>; 24916245374SAndre Przywara status = "disabled"; 25016245374SAndre Przywara }; 25116245374SAndre Przywara 25216245374SAndre Przywara i2c2: i2c@1c27800 { 25316245374SAndre Przywara compatible = "allwinner,suniv-f1c100s-i2c", 25416245374SAndre Przywara "allwinner,sun6i-a31-i2c"; 25516245374SAndre Przywara reg = <0x01c27800 0x400>; 25616245374SAndre Przywara interrupts = <9>; 25716245374SAndre Przywara clocks = <&ccu CLK_BUS_I2C2>; 25816245374SAndre Przywara resets = <&ccu RST_BUS_I2C2>; 25916245374SAndre Przywara #address-cells = <1>; 26016245374SAndre Przywara #size-cells = <0>; 26116245374SAndre Przywara status = "disabled"; 26216245374SAndre Przywara }; 26316245374SAndre Przywara 2644ba16d17SMesih Kilinc timer@1c20c00 { 2654ba16d17SMesih Kilinc compatible = "allwinner,suniv-f1c100s-timer"; 2664ba16d17SMesih Kilinc reg = <0x01c20c00 0x90>; 267a26123f3SAndre Przywara interrupts = <13>, <14>, <15>; 2684ba16d17SMesih Kilinc clocks = <&osc24M>; 2694ba16d17SMesih Kilinc }; 2704ba16d17SMesih Kilinc 2714ba16d17SMesih Kilinc wdt: watchdog@1c20ca0 { 2724ba16d17SMesih Kilinc compatible = "allwinner,suniv-f1c100s-wdt", 27301a850eeSAndre Przywara "allwinner,sun6i-a31-wdt"; 2744ba16d17SMesih Kilinc reg = <0x01c20ca0 0x20>; 27501a850eeSAndre Przywara interrupts = <16>; 27601a850eeSAndre Przywara clocks = <&osc32k>; 2774ba16d17SMesih Kilinc }; 2784ba16d17SMesih Kilinc 27977eac2b9SAndre Przywara pwm: pwm@1c21000 { 28077eac2b9SAndre Przywara compatible = "allwinner,suniv-f1c100s-pwm", 28177eac2b9SAndre Przywara "allwinner,sun7i-a20-pwm"; 28277eac2b9SAndre Przywara reg = <0x01c21000 0x400>; 28377eac2b9SAndre Przywara clocks = <&osc24M>; 28477eac2b9SAndre Przywara #pwm-cells = <3>; 28577eac2b9SAndre Przywara status = "disabled"; 28677eac2b9SAndre Przywara }; 28777eac2b9SAndre Przywara 288e1d7dc52SAndre Przywara ir: ir@1c22c00 { 289e1d7dc52SAndre Przywara compatible = "allwinner,suniv-f1c100s-ir", 290e1d7dc52SAndre Przywara "allwinner,sun6i-a31-ir"; 291e1d7dc52SAndre Przywara reg = <0x01c22c00 0x400>; 292e1d7dc52SAndre Przywara clocks = <&ccu CLK_BUS_IR>, <&ccu CLK_IR>; 293e1d7dc52SAndre Przywara clock-names = "apb", "ir"; 294e1d7dc52SAndre Przywara resets = <&ccu RST_BUS_IR>; 295e1d7dc52SAndre Przywara interrupts = <6>; 296e1d7dc52SAndre Przywara status = "disabled"; 297e1d7dc52SAndre Przywara }; 298e1d7dc52SAndre Przywara 299dee02035SAndre Przywara lradc: lradc@1c23400 { 300dee02035SAndre Przywara compatible = "allwinner,suniv-f1c100s-lradc", 301dee02035SAndre Przywara "allwinner,sun8i-a83t-r-lradc"; 302dee02035SAndre Przywara reg = <0x01c23400 0x400>; 303dee02035SAndre Przywara interrupts = <22>; 304dee02035SAndre Przywara status = "disabled"; 305dee02035SAndre Przywara }; 306dee02035SAndre Przywara 3074ba16d17SMesih Kilinc uart0: serial@1c25000 { 3084ba16d17SMesih Kilinc compatible = "snps,dw-apb-uart"; 3094ba16d17SMesih Kilinc reg = <0x01c25000 0x400>; 3104ba16d17SMesih Kilinc interrupts = <1>; 3114ba16d17SMesih Kilinc reg-shift = <2>; 3124ba16d17SMesih Kilinc reg-io-width = <4>; 3131aba2af5SJesse Taube clocks = <&ccu CLK_BUS_UART0>; 3141aba2af5SJesse Taube resets = <&ccu RST_BUS_UART0>; 3154ba16d17SMesih Kilinc status = "disabled"; 3164ba16d17SMesih Kilinc }; 3174ba16d17SMesih Kilinc 3184ba16d17SMesih Kilinc uart1: serial@1c25400 { 3194ba16d17SMesih Kilinc compatible = "snps,dw-apb-uart"; 3204ba16d17SMesih Kilinc reg = <0x01c25400 0x400>; 3214ba16d17SMesih Kilinc interrupts = <2>; 3224ba16d17SMesih Kilinc reg-shift = <2>; 3234ba16d17SMesih Kilinc reg-io-width = <4>; 3241aba2af5SJesse Taube clocks = <&ccu CLK_BUS_UART1>; 3251aba2af5SJesse Taube resets = <&ccu RST_BUS_UART1>; 3264ba16d17SMesih Kilinc status = "disabled"; 3274ba16d17SMesih Kilinc }; 3284ba16d17SMesih Kilinc 3294ba16d17SMesih Kilinc uart2: serial@1c25800 { 3304ba16d17SMesih Kilinc compatible = "snps,dw-apb-uart"; 3314ba16d17SMesih Kilinc reg = <0x01c25800 0x400>; 3324ba16d17SMesih Kilinc interrupts = <3>; 3334ba16d17SMesih Kilinc reg-shift = <2>; 3344ba16d17SMesih Kilinc reg-io-width = <4>; 3351aba2af5SJesse Taube clocks = <&ccu CLK_BUS_UART2>; 3361aba2af5SJesse Taube resets = <&ccu RST_BUS_UART2>; 3374ba16d17SMesih Kilinc status = "disabled"; 3384ba16d17SMesih Kilinc }; 339*95b570f7SMesih Kilinc 340*95b570f7SMesih Kilinc codec: codec@1c23c00 { 341*95b570f7SMesih Kilinc #sound-dai-cells = <0>; 342*95b570f7SMesih Kilinc compatible = "allwinner,suniv-f1c100s-codec"; 343*95b570f7SMesih Kilinc reg = <0x01c23c00 0x400>; 344*95b570f7SMesih Kilinc interrupts = <21>; 345*95b570f7SMesih Kilinc clocks = <&ccu CLK_BUS_CODEC>, <&ccu CLK_CODEC>; 346*95b570f7SMesih Kilinc clock-names = "apb", "codec"; 347*95b570f7SMesih Kilinc dmas = <&dma SUN4I_DMA_NORMAL 12>, 348*95b570f7SMesih Kilinc <&dma SUN4I_DMA_NORMAL 12>; 349*95b570f7SMesih Kilinc dma-names = "rx", "tx"; 350*95b570f7SMesih Kilinc resets = <&ccu RST_BUS_CODEC>; 351*95b570f7SMesih Kilinc status = "disabled"; 352*95b570f7SMesih Kilinc }; 3534ba16d17SMesih Kilinc }; 3544ba16d17SMesih Kilinc}; 355