Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: (GPL-2.0+ OR X11)
0002 /*
0003  * Copyright 2018 Icenowy Zheng <icenowy@aosc.io>
0004  * Copyright 2018 Mesih Kilinc <mesihkilinc@gmail.com>
0005  */
0006 
0007 #include <dt-bindings/clock/suniv-ccu-f1c100s.h>
0008 #include <dt-bindings/reset/suniv-ccu-f1c100s.h>
0009 
0010 / {
0011         #address-cells = <1>;
0012         #size-cells = <1>;
0013         interrupt-parent = <&intc>;
0014 
0015         clocks {
0016                 osc24M: clk-24M {
0017                         #clock-cells = <0>;
0018                         compatible = "fixed-clock";
0019                         clock-frequency = <24000000>;
0020                         clock-output-names = "osc24M";
0021                 };
0022 
0023                 osc32k: clk-32k {
0024                         #clock-cells = <0>;
0025                         compatible = "fixed-clock";
0026                         clock-frequency = <32768>;
0027                         clock-output-names = "osc32k";
0028                 };
0029         };
0030 
0031         cpus {
0032                 #address-cells = <1>;
0033                 #size-cells = <0>;
0034 
0035                 cpu@0 {
0036                         compatible = "arm,arm926ej-s";
0037                         device_type = "cpu";
0038                         reg = <0x0>;
0039                 };
0040         };
0041 
0042         soc {
0043                 compatible = "simple-bus";
0044                 #address-cells = <1>;
0045                 #size-cells = <1>;
0046                 ranges;
0047 
0048                 sram-controller@1c00000 {
0049                         compatible = "allwinner,suniv-f1c100s-system-control",
0050                                      "allwinner,sun4i-a10-system-control";
0051                         reg = <0x01c00000 0x30>;
0052                         #address-cells = <1>;
0053                         #size-cells = <1>;
0054                         ranges;
0055 
0056                         sram_d: sram@10000 {
0057                                 compatible = "mmio-sram";
0058                                 reg = <0x00010000 0x1000>;
0059                                 #address-cells = <1>;
0060                                 #size-cells = <1>;
0061                                 ranges = <0 0x00010000 0x1000>;
0062 
0063                                 otg_sram: sram-section@0 {
0064                                         compatible = "allwinner,suniv-f1c100s-sram-d",
0065                                                      "allwinner,sun4i-a10-sram-d";
0066                                         reg = <0x0000 0x1000>;
0067                                         status = "disabled";
0068                                 };
0069                         };
0070                 };
0071 
0072                 spi0: spi@1c05000 {
0073                         compatible = "allwinner,suniv-f1c100s-spi",
0074                                      "allwinner,sun8i-h3-spi";
0075                         reg = <0x01c05000 0x1000>;
0076                         interrupts = <10>;
0077                         clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_BUS_SPI0>;
0078                         clock-names = "ahb", "mod";
0079                         resets = <&ccu RST_BUS_SPI0>;
0080                         status = "disabled";
0081                         num-cs = <1>;
0082                         #address-cells = <1>;
0083                         #size-cells = <0>;
0084                 };
0085 
0086                 spi1: spi@1c06000 {
0087                         compatible = "allwinner,suniv-f1c100s-spi",
0088                                      "allwinner,sun8i-h3-spi";
0089                         reg = <0x01c06000 0x1000>;
0090                         interrupts = <11>;
0091                         clocks = <&ccu CLK_BUS_SPI1>, <&ccu CLK_BUS_SPI1>;
0092                         clock-names = "ahb", "mod";
0093                         resets = <&ccu RST_BUS_SPI1>;
0094                         status = "disabled";
0095                         num-cs = <1>;
0096                         #address-cells = <1>;
0097                         #size-cells = <0>;
0098                 };
0099 
0100                 mmc0: mmc@1c0f000 {
0101                         compatible = "allwinner,suniv-f1c100s-mmc",
0102                                      "allwinner,sun7i-a20-mmc";
0103                         reg = <0x01c0f000 0x1000>;
0104                         clocks = <&ccu CLK_BUS_MMC0>,
0105                                  <&ccu CLK_MMC0>,
0106                                  <&ccu CLK_MMC0_OUTPUT>,
0107                                  <&ccu CLK_MMC0_SAMPLE>;
0108                         clock-names = "ahb", "mmc", "output", "sample";
0109                         resets = <&ccu RST_BUS_MMC0>;
0110                         reset-names = "ahb";
0111                         interrupts = <23>;
0112                         pinctrl-names = "default";
0113                         pinctrl-0 = <&mmc0_pins>;
0114                         status = "disabled";
0115                         #address-cells = <1>;
0116                         #size-cells = <0>;
0117                 };
0118 
0119                 mmc1: mmc@1c10000 {
0120                         compatible = "allwinner,suniv-f1c100s-mmc",
0121                                      "allwinner,sun7i-a20-mmc";
0122                         reg = <0x01c10000 0x1000>;
0123                         clocks = <&ccu CLK_BUS_MMC1>,
0124                                  <&ccu CLK_MMC1>,
0125                                  <&ccu CLK_MMC1_OUTPUT>,
0126                                  <&ccu CLK_MMC1_SAMPLE>;
0127                         clock-names = "ahb", "mmc", "output", "sample";
0128                         resets = <&ccu RST_BUS_MMC1>;
0129                         reset-names = "ahb";
0130                         interrupts = <24>;
0131                         status = "disabled";
0132                         #address-cells = <1>;
0133                         #size-cells = <0>;
0134                 };
0135 
0136                 ccu: clock@1c20000 {
0137                         compatible = "allwinner,suniv-f1c100s-ccu";
0138                         reg = <0x01c20000 0x400>;
0139                         clocks = <&osc24M>, <&osc32k>;
0140                         clock-names = "hosc", "losc";
0141                         #clock-cells = <1>;
0142                         #reset-cells = <1>;
0143                 };
0144 
0145                 intc: interrupt-controller@1c20400 {
0146                         compatible = "allwinner,suniv-f1c100s-ic";
0147                         reg = <0x01c20400 0x400>;
0148                         interrupt-controller;
0149                         #interrupt-cells = <1>;
0150                 };
0151 
0152                 pio: pinctrl@1c20800 {
0153                         compatible = "allwinner,suniv-f1c100s-pinctrl";
0154                         reg = <0x01c20800 0x400>;
0155                         interrupts = <38>, <39>, <40>;
0156                         clocks = <&ccu CLK_BUS_PIO>, <&osc24M>, <&osc32k>;
0157                         clock-names = "apb", "hosc", "losc";
0158                         gpio-controller;
0159                         interrupt-controller;
0160                         #interrupt-cells = <3>;
0161                         #gpio-cells = <3>;
0162 
0163                         mmc0_pins: mmc0-pins {
0164                                 pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5";
0165                                 function = "mmc0";
0166                                 drive-strength = <30>;
0167                         };
0168 
0169                         spi0_pc_pins: spi0-pc-pins {
0170                                 pins = "PC0", "PC1", "PC2", "PC3";
0171                                 function = "spi0";
0172                         };
0173 
0174                         uart0_pe_pins: uart0-pe-pins {
0175                                 pins = "PE0", "PE1";
0176                                 function = "uart0";
0177                         };
0178                 };
0179 
0180                 timer@1c20c00 {
0181                         compatible = "allwinner,suniv-f1c100s-timer";
0182                         reg = <0x01c20c00 0x90>;
0183                         interrupts = <13>, <14>, <15>;
0184                         clocks = <&osc24M>;
0185                 };
0186 
0187                 wdt: watchdog@1c20ca0 {
0188                         compatible = "allwinner,suniv-f1c100s-wdt",
0189                                      "allwinner,sun6i-a31-wdt";
0190                         reg = <0x01c20ca0 0x20>;
0191                         interrupts = <16>;
0192                         clocks = <&osc32k>;
0193                 };
0194 
0195                 uart0: serial@1c25000 {
0196                         compatible = "snps,dw-apb-uart";
0197                         reg = <0x01c25000 0x400>;
0198                         interrupts = <1>;
0199                         reg-shift = <2>;
0200                         reg-io-width = <4>;
0201                         clocks = <&ccu CLK_BUS_UART0>;
0202                         resets = <&ccu RST_BUS_UART0>;
0203                         status = "disabled";
0204                 };
0205 
0206                 uart1: serial@1c25400 {
0207                         compatible = "snps,dw-apb-uart";
0208                         reg = <0x01c25400 0x400>;
0209                         interrupts = <2>;
0210                         reg-shift = <2>;
0211                         reg-io-width = <4>;
0212                         clocks = <&ccu CLK_BUS_UART1>;
0213                         resets = <&ccu RST_BUS_UART1>;
0214                         status = "disabled";
0215                 };
0216 
0217                 uart2: serial@1c25800 {
0218                         compatible = "snps,dw-apb-uart";
0219                         reg = <0x01c25800 0x400>;
0220                         interrupts = <3>;
0221                         reg-shift = <2>;
0222                         reg-io-width = <4>;
0223                         clocks = <&ccu CLK_BUS_UART2>;
0224                         resets = <&ccu RST_BUS_UART2>;
0225                         status = "disabled";
0226                 };
0227         };
0228 };