2022-01-29 15:23:08 +00:00
|
|
|
// SPDX-License-Identifier: (GPL-2.0+ OR X11)
|
|
|
|
/*
|
|
|
|
* Copyright 2018 Icenowy Zheng <icenowy@aosc.io>
|
|
|
|
* Copyright 2018 Mesih Kilinc <mesihkilinc@gmail.com>
|
|
|
|
*/
|
|
|
|
|
2022-04-26 00:15:25 +00:00
|
|
|
#include <dt-bindings/clock/suniv-ccu-f1c100s.h>
|
|
|
|
#include <dt-bindings/reset/suniv-ccu-f1c100s.h>
|
|
|
|
|
2022-01-29 15:23:08 +00:00
|
|
|
/ {
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <1>;
|
|
|
|
interrupt-parent = <&intc>;
|
|
|
|
|
|
|
|
clocks {
|
|
|
|
osc24M: clk-24M {
|
|
|
|
#clock-cells = <0>;
|
|
|
|
compatible = "fixed-clock";
|
|
|
|
clock-frequency = <24000000>;
|
|
|
|
clock-output-names = "osc24M";
|
|
|
|
};
|
|
|
|
|
|
|
|
osc32k: clk-32k {
|
|
|
|
#clock-cells = <0>;
|
|
|
|
compatible = "fixed-clock";
|
|
|
|
clock-frequency = <32768>;
|
|
|
|
clock-output-names = "osc32k";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
cpus {
|
2022-04-26 00:15:25 +00:00
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <0>;
|
|
|
|
|
|
|
|
cpu@0 {
|
2022-01-29 15:23:08 +00:00
|
|
|
compatible = "arm,arm926ej-s";
|
|
|
|
device_type = "cpu";
|
2022-04-26 00:15:25 +00:00
|
|
|
reg = <0x0>;
|
2022-01-29 15:23:08 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
soc {
|
|
|
|
compatible = "simple-bus";
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <1>;
|
|
|
|
ranges;
|
|
|
|
|
|
|
|
sram-controller@1c00000 {
|
|
|
|
compatible = "allwinner,suniv-f1c100s-system-control",
|
|
|
|
"allwinner,sun4i-a10-system-control";
|
|
|
|
reg = <0x01c00000 0x30>;
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <1>;
|
|
|
|
ranges;
|
|
|
|
|
|
|
|
sram_d: sram@10000 {
|
|
|
|
compatible = "mmio-sram";
|
|
|
|
reg = <0x00010000 0x1000>;
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <1>;
|
|
|
|
ranges = <0 0x00010000 0x1000>;
|
|
|
|
|
|
|
|
otg_sram: sram-section@0 {
|
|
|
|
compatible = "allwinner,suniv-f1c100s-sram-d",
|
|
|
|
"allwinner,sun4i-a10-sram-d";
|
|
|
|
reg = <0x0000 0x1000>;
|
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2022-04-26 00:15:25 +00:00
|
|
|
spi0: spi@1c05000 {
|
|
|
|
compatible = "allwinner,suniv-f1c100s-spi",
|
|
|
|
"allwinner,sun8i-h3-spi";
|
|
|
|
reg = <0x01c05000 0x1000>;
|
|
|
|
interrupts = <10>;
|
|
|
|
clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_BUS_SPI0>;
|
|
|
|
clock-names = "ahb", "mod";
|
|
|
|
resets = <&ccu RST_BUS_SPI0>;
|
|
|
|
status = "disabled";
|
|
|
|
num-cs = <1>;
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <0>;
|
|
|
|
};
|
|
|
|
|
|
|
|
spi1: spi@1c06000 {
|
|
|
|
compatible = "allwinner,suniv-f1c100s-spi",
|
|
|
|
"allwinner,sun8i-h3-spi";
|
|
|
|
reg = <0x01c06000 0x1000>;
|
|
|
|
interrupts = <11>;
|
|
|
|
clocks = <&ccu CLK_BUS_SPI1>, <&ccu CLK_BUS_SPI1>;
|
|
|
|
clock-names = "ahb", "mod";
|
|
|
|
resets = <&ccu RST_BUS_SPI1>;
|
|
|
|
status = "disabled";
|
|
|
|
num-cs = <1>;
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <0>;
|
|
|
|
};
|
|
|
|
|
|
|
|
mmc0: mmc@1c0f000 {
|
|
|
|
compatible = "allwinner,suniv-f1c100s-mmc",
|
|
|
|
"allwinner,sun7i-a20-mmc";
|
|
|
|
reg = <0x01c0f000 0x1000>;
|
|
|
|
clocks = <&ccu CLK_BUS_MMC0>,
|
|
|
|
<&ccu CLK_MMC0>,
|
|
|
|
<&ccu CLK_MMC0_OUTPUT>,
|
|
|
|
<&ccu CLK_MMC0_SAMPLE>;
|
|
|
|
clock-names = "ahb", "mmc", "output", "sample";
|
|
|
|
resets = <&ccu RST_BUS_MMC0>;
|
|
|
|
reset-names = "ahb";
|
|
|
|
interrupts = <23>;
|
|
|
|
pinctrl-names = "default";
|
|
|
|
pinctrl-0 = <&mmc0_pins>;
|
|
|
|
status = "disabled";
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <0>;
|
|
|
|
};
|
|
|
|
|
|
|
|
mmc1: mmc@1c10000 {
|
|
|
|
compatible = "allwinner,suniv-f1c100s-mmc",
|
|
|
|
"allwinner,sun7i-a20-mmc";
|
|
|
|
reg = <0x01c10000 0x1000>;
|
|
|
|
clocks = <&ccu CLK_BUS_MMC1>,
|
|
|
|
<&ccu CLK_MMC1>,
|
|
|
|
<&ccu CLK_MMC1_OUTPUT>,
|
|
|
|
<&ccu CLK_MMC1_SAMPLE>;
|
|
|
|
clock-names = "ahb", "mmc", "output", "sample";
|
|
|
|
resets = <&ccu RST_BUS_MMC1>;
|
|
|
|
reset-names = "ahb";
|
|
|
|
interrupts = <24>;
|
|
|
|
status = "disabled";
|
|
|
|
#address-cells = <1>;
|
|
|
|
#size-cells = <0>;
|
|
|
|
};
|
|
|
|
|
2022-01-29 15:23:08 +00:00
|
|
|
ccu: clock@1c20000 {
|
|
|
|
compatible = "allwinner,suniv-f1c100s-ccu";
|
|
|
|
reg = <0x01c20000 0x400>;
|
|
|
|
clocks = <&osc24M>, <&osc32k>;
|
|
|
|
clock-names = "hosc", "losc";
|
|
|
|
#clock-cells = <1>;
|
|
|
|
#reset-cells = <1>;
|
|
|
|
};
|
|
|
|
|
|
|
|
intc: interrupt-controller@1c20400 {
|
|
|
|
compatible = "allwinner,suniv-f1c100s-ic";
|
|
|
|
reg = <0x01c20400 0x400>;
|
|
|
|
interrupt-controller;
|
|
|
|
#interrupt-cells = <1>;
|
|
|
|
};
|
|
|
|
|
|
|
|
pio: pinctrl@1c20800 {
|
|
|
|
compatible = "allwinner,suniv-f1c100s-pinctrl";
|
|
|
|
reg = <0x01c20800 0x400>;
|
|
|
|
interrupts = <38>, <39>, <40>;
|
2022-04-26 00:15:25 +00:00
|
|
|
clocks = <&ccu CLK_BUS_PIO>, <&osc24M>, <&osc32k>;
|
2022-01-29 15:23:08 +00:00
|
|
|
clock-names = "apb", "hosc", "losc";
|
|
|
|
gpio-controller;
|
|
|
|
interrupt-controller;
|
|
|
|
#interrupt-cells = <3>;
|
|
|
|
#gpio-cells = <3>;
|
|
|
|
|
2022-04-26 00:15:25 +00:00
|
|
|
mmc0_pins: mmc0-pins {
|
|
|
|
pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5";
|
|
|
|
function = "mmc0";
|
|
|
|
drive-strength = <30>;
|
|
|
|
};
|
|
|
|
|
|
|
|
spi0_pc_pins: spi0-pc-pins {
|
|
|
|
pins = "PC0", "PC1", "PC2", "PC3";
|
|
|
|
function = "spi0";
|
|
|
|
};
|
|
|
|
|
2022-01-29 15:23:08 +00:00
|
|
|
uart0_pe_pins: uart0-pe-pins {
|
|
|
|
pins = "PE0", "PE1";
|
|
|
|
function = "uart0";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
timer@1c20c00 {
|
|
|
|
compatible = "allwinner,suniv-f1c100s-timer";
|
|
|
|
reg = <0x01c20c00 0x90>;
|
2022-04-26 00:15:25 +00:00
|
|
|
interrupts = <13>, <14>, <15>;
|
2022-01-29 15:23:08 +00:00
|
|
|
clocks = <&osc24M>;
|
|
|
|
};
|
|
|
|
|
|
|
|
wdt: watchdog@1c20ca0 {
|
|
|
|
compatible = "allwinner,suniv-f1c100s-wdt",
|
2022-04-26 00:15:25 +00:00
|
|
|
"allwinner,sun6i-a31-wdt";
|
2022-01-29 15:23:08 +00:00
|
|
|
reg = <0x01c20ca0 0x20>;
|
2022-04-26 00:15:25 +00:00
|
|
|
interrupts = <16>;
|
|
|
|
clocks = <&osc32k>;
|
2022-01-29 15:23:08 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
uart0: serial@1c25000 {
|
|
|
|
compatible = "snps,dw-apb-uart";
|
|
|
|
reg = <0x01c25000 0x400>;
|
|
|
|
interrupts = <1>;
|
|
|
|
reg-shift = <2>;
|
|
|
|
reg-io-width = <4>;
|
2022-04-26 00:15:25 +00:00
|
|
|
clocks = <&ccu CLK_BUS_UART0>;
|
|
|
|
resets = <&ccu RST_BUS_UART0>;
|
2022-01-29 15:23:08 +00:00
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
|
|
|
|
uart1: serial@1c25400 {
|
|
|
|
compatible = "snps,dw-apb-uart";
|
|
|
|
reg = <0x01c25400 0x400>;
|
|
|
|
interrupts = <2>;
|
|
|
|
reg-shift = <2>;
|
|
|
|
reg-io-width = <4>;
|
2022-04-26 00:15:25 +00:00
|
|
|
clocks = <&ccu CLK_BUS_UART1>;
|
|
|
|
resets = <&ccu RST_BUS_UART1>;
|
2022-01-29 15:23:08 +00:00
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
|
|
|
|
uart2: serial@1c25800 {
|
|
|
|
compatible = "snps,dw-apb-uart";
|
|
|
|
reg = <0x01c25800 0x400>;
|
|
|
|
interrupts = <3>;
|
|
|
|
reg-shift = <2>;
|
|
|
|
reg-io-width = <4>;
|
2022-04-26 00:15:25 +00:00
|
|
|
clocks = <&ccu CLK_BUS_UART2>;
|
|
|
|
resets = <&ccu RST_BUS_UART2>;
|
2022-01-29 15:23:08 +00:00
|
|
|
status = "disabled";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|