mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-09-21 12:11:49 +08:00
T-HEAD Devicetrees for v6.12
Add SPI controller node to th1520.dtsi and enable spi0 on the BeagleV Ahead and LicheePi 4A. The TH1520 AP_SYS clock driver landed in v6.11 so convert multiple peripherals like mmc and uart from fixed clocks to the clock controller. All of these patches have been successfully tested in the latest linux-next releases. Signed-off-by: Drew Fustini <drew@pdp7.com> -----BEGIN PGP SIGNATURE----- iHUEABYIAB0WIQSy8G7QpEpV9aCf6Lbb7CzD2SixDAUCZsSs8AAKCRDb7CzD2Six DAAWAQDtP1ptLdtgKZrNi6owuzDh+aJUBcLCb8XobohMhHn/CgEA+9m6uArj0BxA FG5xrk6uh+/ueFRCRbU8Bx+PAnHgOQI= =VHfU -----END PGP SIGNATURE----- gpgsig -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbW4+MACgkQYKtH/8kJ Uiezfg//QTJLzANaoQou548RBX4aqs1mV7s8YTuyPzg9WTaJ2pgRO4gJZIm9pBxe SBosoNl2mbEEcpD6+V/W7raCxquliS76HyAaFq+379RfN30bGIe1YX7fDaR9DFuW HAGVk+skgjZDZBeM2sjFF6ljK6O1ew8lyqNToTIsjwBLELCL/47NcKT/F0HDsCE9 CedTPmtMpFszLRDoenkuK5eI1OHJFWQd/1O87bdl4LhbPKBBrK/HHyY64DwUYkgn k0lJXLfvE3w1mzF5Q5TCBNy/fbHATD3Akbwnv1YOKbScB1hdzsgdoJibkA9ty2ln qeubp/H5lTss/vCiU7SQic3b9as6g5pneLM+v2RuN/BLX422HeV1N2DMxx07S4Ah +9677pL7WZ2g8DM6u34ZPlZyUoj0ThlEO27GApIYTU0wQ2Vei2/Ru6Wd+DssQoyN qr55/U/6RedD3SFNfnZwmA8UWRgHF7wyPaS0llB2ygSHYFR/Da0c+GbIsMK3xIes z0x8TKsaxOjqhBrOVi1PmBKANgnq7lkRQ0R2NTF+jCQPQSO4WLsQ0NB9pbCnvnz4 XXGG8OzsdtY13uVvF7SbNxL7HjXgmPIeTp4NdZxsIob9guobc0DMcaFYUYGWtTFU cHJ9DlSe4wwt0/9kAD8LaBgOHXLB96LYPQlD4u/dTpTyUl8sXPY= =GXvM -----END PGP SIGNATURE----- Merge tag 'thead-dt-for-v6.12' of https://github.com/pdp7/linux into soc/dt T-HEAD Devicetrees for v6.12 Add SPI controller node to th1520.dtsi and enable spi0 on the BeagleV Ahead and LicheePi 4A. The TH1520 AP_SYS clock driver landed in v6.11 so convert multiple peripherals like mmc and uart from fixed clocks to the clock controller. All of these patches have been successfully tested in the latest linux-next releases. Signed-off-by: Drew Fustini <drew@pdp7.com> * tag 'thead-dt-for-v6.12' of https://github.com/pdp7/linux: riscv: dts: thead: change TH1520 SPI node to use clock controller riscv: dts: thead: add clock to TH1520 gpio nodes riscv: dts: thead: update TH1520 dma and timer nodes to use clock controller riscv: dts: thead: change TH1520 mmc nodes to use clock controller riscv: dts: thead: change TH1520 uart nodes to use clock controller riscv: dts: thead: Add TH1520 AP_SUBSYS clock controller riscv: dts: thead: add basic spi node Link: https://lore.kernel.org/r/ZsWs8QiVruMXjzPc@x1 Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
commit
d846d5f1ba
@ -23,6 +23,7 @@
|
||||
serial3 = &uart3;
|
||||
serial4 = &uart4;
|
||||
serial5 = &uart5;
|
||||
spi0 = &spi0;
|
||||
};
|
||||
|
||||
chosen {
|
||||
@ -44,18 +45,6 @@
|
||||
clock-frequency = <32768>;
|
||||
};
|
||||
|
||||
&apb_clk {
|
||||
clock-frequency = <62500000>;
|
||||
};
|
||||
|
||||
&sdhci_clk {
|
||||
clock-frequency = <198000000>;
|
||||
};
|
||||
|
||||
&uart_sclk {
|
||||
clock-frequency = <100000000>;
|
||||
};
|
||||
|
||||
&dmac0 {
|
||||
status = "okay";
|
||||
};
|
||||
@ -79,3 +68,7 @@
|
||||
&uart0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&spi0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -25,18 +25,6 @@
|
||||
clock-frequency = <32768>;
|
||||
};
|
||||
|
||||
&apb_clk {
|
||||
clock-frequency = <62500000>;
|
||||
};
|
||||
|
||||
&sdhci_clk {
|
||||
clock-frequency = <198000000>;
|
||||
};
|
||||
|
||||
&uart_sclk {
|
||||
clock-frequency = <100000000>;
|
||||
};
|
||||
|
||||
&dmac0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -20,6 +20,7 @@
|
||||
serial3 = &uart3;
|
||||
serial4 = &uart4;
|
||||
serial5 = &uart5;
|
||||
spi0 = &spi0;
|
||||
};
|
||||
|
||||
chosen {
|
||||
@ -30,3 +31,7 @@
|
||||
&uart0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&spi0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -5,6 +5,7 @@
|
||||
*/
|
||||
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/clock/thead,th1520-clk-ap.h>
|
||||
|
||||
/ {
|
||||
compatible = "thead,th1520";
|
||||
@ -215,25 +216,6 @@
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
apb_clk: apb-clk-clock {
|
||||
compatible = "fixed-clock";
|
||||
clock-output-names = "apb_clk";
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
uart_sclk: uart-sclk-clock {
|
||||
compatible = "fixed-clock";
|
||||
clock-output-names = "uart_sclk";
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
sdhci_clk: sdhci-clock {
|
||||
compatible = "fixed-clock";
|
||||
clock-frequency = <198000000>;
|
||||
clock-output-names = "sdhci_clk";
|
||||
#clock-cells = <0>;
|
||||
};
|
||||
|
||||
soc {
|
||||
compatible = "simple-bus";
|
||||
interrupt-parent = <&plic>;
|
||||
@ -264,11 +246,22 @@
|
||||
<&cpu3_intc 3>, <&cpu3_intc 7>;
|
||||
};
|
||||
|
||||
spi0: spi@ffe700c000 {
|
||||
compatible = "thead,th1520-spi", "snps,dw-apb-ssi";
|
||||
reg = <0xff 0xe700c000 0x0 0x1000>;
|
||||
interrupts = <54 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clk CLK_SPI>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
uart0: serial@ffe7014000 {
|
||||
compatible = "snps,dw-apb-uart";
|
||||
reg = <0xff 0xe7014000 0x0 0x100>;
|
||||
interrupts = <36 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&uart_sclk>;
|
||||
clocks = <&clk CLK_UART_SCLK>, <&clk CLK_UART0_PCLK>;
|
||||
clock-names = "baudclk", "apb_pclk";
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
status = "disabled";
|
||||
@ -278,7 +271,7 @@
|
||||
compatible = "thead,th1520-dwcmshc";
|
||||
reg = <0xff 0xe7080000 0x0 0x10000>;
|
||||
interrupts = <62 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&sdhci_clk>;
|
||||
clocks = <&clk CLK_EMMC_SDIO>;
|
||||
clock-names = "core";
|
||||
status = "disabled";
|
||||
};
|
||||
@ -287,7 +280,7 @@
|
||||
compatible = "thead,th1520-dwcmshc";
|
||||
reg = <0xff 0xe7090000 0x0 0x10000>;
|
||||
interrupts = <64 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&sdhci_clk>;
|
||||
clocks = <&clk CLK_EMMC_SDIO>;
|
||||
clock-names = "core";
|
||||
status = "disabled";
|
||||
};
|
||||
@ -296,7 +289,7 @@
|
||||
compatible = "thead,th1520-dwcmshc";
|
||||
reg = <0xff 0xe70a0000 0x0 0x10000>;
|
||||
interrupts = <71 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&sdhci_clk>;
|
||||
clocks = <&clk CLK_EMMC_SDIO>;
|
||||
clock-names = "core";
|
||||
status = "disabled";
|
||||
};
|
||||
@ -305,7 +298,8 @@
|
||||
compatible = "snps,dw-apb-uart";
|
||||
reg = <0xff 0xe7f00000 0x0 0x100>;
|
||||
interrupts = <37 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&uart_sclk>;
|
||||
clocks = <&clk CLK_UART_SCLK>, <&clk CLK_UART1_PCLK>;
|
||||
clock-names = "baudclk", "apb_pclk";
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
status = "disabled";
|
||||
@ -315,7 +309,8 @@
|
||||
compatible = "snps,dw-apb-uart";
|
||||
reg = <0xff 0xe7f04000 0x0 0x100>;
|
||||
interrupts = <39 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&uart_sclk>;
|
||||
clocks = <&clk CLK_UART_SCLK>, <&clk CLK_UART3_PCLK>;
|
||||
clock-names = "baudclk", "apb_pclk";
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
status = "disabled";
|
||||
@ -326,6 +321,7 @@
|
||||
reg = <0xff 0xe7f34000 0x0 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&clk CLK_GPIO2>;
|
||||
|
||||
portc: gpio-controller@0 {
|
||||
compatible = "snps,dw-apb-gpio-port";
|
||||
@ -344,6 +340,7 @@
|
||||
reg = <0xff 0xe7f38000 0x0 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&clk CLK_GPIO3>;
|
||||
|
||||
portd: gpio-controller@0 {
|
||||
compatible = "snps,dw-apb-gpio-port";
|
||||
@ -362,6 +359,7 @@
|
||||
reg = <0xff 0xec005000 0x0 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&clk CLK_GPIO0>;
|
||||
|
||||
porta: gpio-controller@0 {
|
||||
compatible = "snps,dw-apb-gpio-port";
|
||||
@ -380,6 +378,7 @@
|
||||
reg = <0xff 0xec006000 0x0 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
clocks = <&clk CLK_GPIO1>;
|
||||
|
||||
portb: gpio-controller@0 {
|
||||
compatible = "snps,dw-apb-gpio-port";
|
||||
@ -397,17 +396,25 @@
|
||||
compatible = "snps,dw-apb-uart";
|
||||
reg = <0xff 0xec010000 0x0 0x4000>;
|
||||
interrupts = <38 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&uart_sclk>;
|
||||
clocks = <&clk CLK_UART_SCLK>, <&clk CLK_UART2_PCLK>;
|
||||
clock-names = "baudclk", "apb_pclk";
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
clk: clock-controller@ffef010000 {
|
||||
compatible = "thead,th1520-clk-ap";
|
||||
reg = <0xff 0xef010000 0x0 0x1000>;
|
||||
clocks = <&osc>;
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
dmac0: dma-controller@ffefc00000 {
|
||||
compatible = "snps,axi-dma-1.01a";
|
||||
reg = <0xff 0xefc00000 0x0 0x1000>;
|
||||
interrupts = <27 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&apb_clk>, <&apb_clk>;
|
||||
clocks = <&clk CLK_PERI_APB_PCLK>, <&clk CLK_PERI_APB_PCLK>;
|
||||
clock-names = "core-clk", "cfgr-clk";
|
||||
#dma-cells = <1>;
|
||||
dma-channels = <4>;
|
||||
@ -422,7 +429,7 @@
|
||||
timer0: timer@ffefc32000 {
|
||||
compatible = "snps,dw-apb-timer";
|
||||
reg = <0xff 0xefc32000 0x0 0x14>;
|
||||
clocks = <&apb_clk>;
|
||||
clocks = <&clk CLK_PERI_APB_PCLK>;
|
||||
clock-names = "timer";
|
||||
interrupts = <16 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
@ -431,7 +438,7 @@
|
||||
timer1: timer@ffefc32014 {
|
||||
compatible = "snps,dw-apb-timer";
|
||||
reg = <0xff 0xefc32014 0x0 0x14>;
|
||||
clocks = <&apb_clk>;
|
||||
clocks = <&clk CLK_PERI_APB_PCLK>;
|
||||
clock-names = "timer";
|
||||
interrupts = <17 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
@ -440,7 +447,7 @@
|
||||
timer2: timer@ffefc32028 {
|
||||
compatible = "snps,dw-apb-timer";
|
||||
reg = <0xff 0xefc32028 0x0 0x14>;
|
||||
clocks = <&apb_clk>;
|
||||
clocks = <&clk CLK_PERI_APB_PCLK>;
|
||||
clock-names = "timer";
|
||||
interrupts = <18 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
@ -449,7 +456,7 @@
|
||||
timer3: timer@ffefc3203c {
|
||||
compatible = "snps,dw-apb-timer";
|
||||
reg = <0xff 0xefc3203c 0x0 0x14>;
|
||||
clocks = <&apb_clk>;
|
||||
clocks = <&clk CLK_PERI_APB_PCLK>;
|
||||
clock-names = "timer";
|
||||
interrupts = <19 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
@ -459,7 +466,8 @@
|
||||
compatible = "snps,dw-apb-uart";
|
||||
reg = <0xff 0xf7f08000 0x0 0x4000>;
|
||||
interrupts = <40 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&uart_sclk>;
|
||||
clocks = <&clk CLK_UART_SCLK>, <&clk CLK_UART4_PCLK>;
|
||||
clock-names = "baudclk", "apb_pclk";
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
status = "disabled";
|
||||
@ -469,7 +477,8 @@
|
||||
compatible = "snps,dw-apb-uart";
|
||||
reg = <0xff 0xf7f0c000 0x0 0x4000>;
|
||||
interrupts = <41 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&uart_sclk>;
|
||||
clocks = <&clk CLK_UART_SCLK>, <&clk CLK_UART5_PCLK>;
|
||||
clock-names = "baudclk", "apb_pclk";
|
||||
reg-shift = <2>;
|
||||
reg-io-width = <4>;
|
||||
status = "disabled";
|
||||
@ -478,7 +487,7 @@
|
||||
timer4: timer@ffffc33000 {
|
||||
compatible = "snps,dw-apb-timer";
|
||||
reg = <0xff 0xffc33000 0x0 0x14>;
|
||||
clocks = <&apb_clk>;
|
||||
clocks = <&clk CLK_PERI_APB_PCLK>;
|
||||
clock-names = "timer";
|
||||
interrupts = <20 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
@ -487,7 +496,7 @@
|
||||
timer5: timer@ffffc33014 {
|
||||
compatible = "snps,dw-apb-timer";
|
||||
reg = <0xff 0xffc33014 0x0 0x14>;
|
||||
clocks = <&apb_clk>;
|
||||
clocks = <&clk CLK_PERI_APB_PCLK>;
|
||||
clock-names = "timer";
|
||||
interrupts = <21 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
@ -496,7 +505,7 @@
|
||||
timer6: timer@ffffc33028 {
|
||||
compatible = "snps,dw-apb-timer";
|
||||
reg = <0xff 0xffc33028 0x0 0x14>;
|
||||
clocks = <&apb_clk>;
|
||||
clocks = <&clk CLK_PERI_APB_PCLK>;
|
||||
clock-names = "timer";
|
||||
interrupts = <22 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
@ -505,7 +514,7 @@
|
||||
timer7: timer@ffffc3303c {
|
||||
compatible = "snps,dw-apb-timer";
|
||||
reg = <0xff 0xffc3303c 0x0 0x14>;
|
||||
clocks = <&apb_clk>;
|
||||
clocks = <&clk CLK_PERI_APB_PCLK>;
|
||||
clock-names = "timer";
|
||||
interrupts = <23 IRQ_TYPE_LEVEL_HIGH>;
|
||||
status = "disabled";
|
||||
|
Loading…
Reference in New Issue
Block a user