Skip to content

Commit 1765cf5

Browse files
committed
yosemite4n: linux-nuvoton: Add kernel driver patches
Summary: Add kernel driver patches that are still under upstream review. Test Plan: bitbake yosemite4n-image - Build Pass Signed-off-by: Marvin Lin <[email protected]>
1 parent cfc68a6 commit 1765cf5

24 files changed

+9789
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
FILESEXTRAPATHS:prepend := "${THISDIR}/6.6:"
2+
3+
LINUX_NUVOTON_PATCHES_INC ?= ""
4+
LINUX_NUVOTON_PATCHES_INC:openbmc-fb-lf = "linux-patches-6.6.inc"
5+
6+
include ${LINUX_NUVOTON_PATCHES_INC}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
From 9f903328f2169a1d058418a2e49cbe164584b9d9 Mon Sep 17 00:00:00 2001
2+
From: Tomer Maimon <[email protected]>
3+
Date: Mon, 1 Jul 2024 10:10:44 +0300
4+
Subject: [PATCH] dt-bindings: clock: npcm845: Add reference 25m clock property
5+
6+
The NPCM8XX clock driver uses a 25Mhz external clock, therefore adding
7+
clock property.
8+
9+
The new required clock property does not break the NPCM8XX clock ABI
10+
since the NPCM8XX clock driver hasn't merged yet to the Linux vanilla.
11+
12+
This change was pushed upstream and under reviewing:
13+
https://lore.kernel.org/all/[email protected]/
14+
15+
Signed-off-by: Tomer Maimon <[email protected]>
16+
---
17+
arch/arm64/boot/dts/nuvoton/nuvoton-common-npcm8xx.dtsi | 9 +++++----
18+
arch/arm64/boot/dts/nuvoton/nuvoton-npcm845-evb.dts | 7 +++++++
19+
2 files changed, 12 insertions(+), 4 deletions(-)
20+
21+
diff --git a/arch/arm64/boot/dts/nuvoton/nuvoton-common-npcm8xx.dtsi b/arch/arm64/boot/dts/nuvoton/nuvoton-common-npcm8xx.dtsi
22+
index ecd171b2feba..41d345448430 100644
23+
--- a/arch/arm64/boot/dts/nuvoton/nuvoton-common-npcm8xx.dtsi
24+
+++ b/arch/arm64/boot/dts/nuvoton/nuvoton-common-npcm8xx.dtsi
25+
@@ -52,6 +52,7 @@ rstc: reset-controller@f0801000 {
26+
reg = <0x0 0xf0801000 0x0 0x78>;
27+
#reset-cells = <2>;
28+
nuvoton,sysgcr = <&gcr>;
29+
+ clocks = <&refclk>;
30+
};
31+
32+
clk: clock-controller@f0801000 {
33+
@@ -81,7 +82,7 @@ timer0: timer@8000 {
34+
compatible = "nuvoton,npcm845-timer";
35+
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
36+
reg = <0x8000 0x1C>;
37+
- clocks = <&clk NPCM8XX_CLK_REFCLK>;
38+
+ clocks = <&refclk>;
39+
clock-names = "refclk";
40+
};
41+
42+
@@ -153,7 +154,7 @@ watchdog0: watchdog@801c {
43+
interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
44+
reg = <0x801c 0x4>;
45+
status = "disabled";
46+
- clocks = <&clk NPCM8XX_CLK_REFCLK>;
47+
+ clocks = <&refclk>;
48+
syscon = <&gcr>;
49+
};
50+
51+
@@ -162,7 +163,7 @@ watchdog1: watchdog@901c {
52+
interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
53+
reg = <0x901c 0x4>;
54+
status = "disabled";
55+
- clocks = <&clk NPCM8XX_CLK_REFCLK>;
56+
+ clocks = <&refclk>;
57+
syscon = <&gcr>;
58+
};
59+
60+
@@ -171,7 +172,7 @@ watchdog2: watchdog@a01c {
61+
interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
62+
reg = <0xa01c 0x4>;
63+
status = "disabled";
64+
- clocks = <&clk NPCM8XX_CLK_REFCLK>;
65+
+ clocks = <&refclk>;
66+
syscon = <&gcr>;
67+
};
68+
};
69+
diff --git a/arch/arm64/boot/dts/nuvoton/nuvoton-npcm845-evb.dts b/arch/arm64/boot/dts/nuvoton/nuvoton-npcm845-evb.dts
70+
index a5ab2bc0f835..83c2f4e138e5 100644
71+
--- a/arch/arm64/boot/dts/nuvoton/nuvoton-npcm845-evb.dts
72+
+++ b/arch/arm64/boot/dts/nuvoton/nuvoton-npcm845-evb.dts
73+
@@ -19,6 +19,13 @@ chosen {
74+
memory {
75+
reg = <0x0 0x0 0x0 0x40000000>;
76+
};
77+
+
78+
+ refclk: refclk-25mhz {
79+
+ compatible = "fixed-clock";
80+
+ clock-output-names = "ref";
81+
+ clock-frequency = <25000000>;
82+
+ #clock-cells = <0>;
83+
+ };
84+
};
85+
86+
&serial0 {
87+
--
88+
2.34.1
89+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
From 7ada4b7e39819f2cc765b27f3fc1ad38ece3278f Mon Sep 17 00:00:00 2001
2+
From: Tomer Maimon <[email protected]>
3+
Date: Mon, 1 Jul 2024 10:10:46 +0300
4+
Subject: [PATCH] arm64: dts: modify clock property in modules node
5+
6+
Modify clock property handler in UART, CPU, PECI modules to reset
7+
controller.
8+
9+
This change was pushed upstream and under reviewing:
10+
https://lore.kernel.org/all/[email protected]/
11+
12+
Signed-off-by: Tomer Maimon <[email protected]>
13+
---
14+
.../boot/dts/nuvoton/nuvoton-common-npcm8xx.dtsi | 16 ++++++++--------
15+
arch/arm64/boot/dts/nuvoton/nuvoton-npcm845.dtsi | 8 ++++----
16+
2 files changed, 12 insertions(+), 12 deletions(-)
17+
18+
diff --git a/arch/arm64/boot/dts/nuvoton/nuvoton-common-npcm8xx.dtsi b/arch/arm64/boot/dts/nuvoton/nuvoton-common-npcm8xx.dtsi
19+
index 41d345448430..92e3b0fe746f 100644
20+
--- a/arch/arm64/boot/dts/nuvoton/nuvoton-common-npcm8xx.dtsi
21+
+++ b/arch/arm64/boot/dts/nuvoton/nuvoton-common-npcm8xx.dtsi
22+
@@ -73,7 +73,7 @@ peci: peci-controller@100000 {
23+
compatible = "nuvoton,npcm845-peci";
24+
reg = <0x100000 0x1000>;
25+
interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
26+
- clocks = <&clk NPCM8XX_CLK_APB3>;
27+
+ clocks = <&rstc NPCM8XX_CLK_APB3>;
28+
cmd-timeout-ms = <1000>;
29+
status = "disabled";
30+
};
31+
@@ -89,7 +89,7 @@ timer0: timer@8000 {
32+
serial0: serial@0 {
33+
compatible = "nuvoton,npcm845-uart", "nuvoton,npcm750-uart";
34+
reg = <0x0 0x1000>;
35+
- clocks = <&clk NPCM8XX_CLK_UART>;
36+
+ clocks = <&rstc NPCM8XX_CLK_UART>;
37+
interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>;
38+
reg-shift = <2>;
39+
status = "disabled";
40+
@@ -98,7 +98,7 @@ serial0: serial@0 {
41+
serial1: serial@1000 {
42+
compatible = "nuvoton,npcm845-uart", "nuvoton,npcm750-uart";
43+
reg = <0x1000 0x1000>;
44+
- clocks = <&clk NPCM8XX_CLK_UART>;
45+
+ clocks = <&rstc NPCM8XX_CLK_UART>;
46+
interrupts = <GIC_SPI 193 IRQ_TYPE_LEVEL_HIGH>;
47+
reg-shift = <2>;
48+
status = "disabled";
49+
@@ -107,7 +107,7 @@ serial1: serial@1000 {
50+
serial2: serial@2000 {
51+
compatible = "nuvoton,npcm845-uart", "nuvoton,npcm750-uart";
52+
reg = <0x2000 0x1000>;
53+
- clocks = <&clk NPCM8XX_CLK_UART>;
54+
+ clocks = <&rstc NPCM8XX_CLK_UART>;
55+
interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>;
56+
reg-shift = <2>;
57+
status = "disabled";
58+
@@ -116,7 +116,7 @@ serial2: serial@2000 {
59+
serial3: serial@3000 {
60+
compatible = "nuvoton,npcm845-uart", "nuvoton,npcm750-uart";
61+
reg = <0x3000 0x1000>;
62+
- clocks = <&clk NPCM8XX_CLK_UART>;
63+
+ clocks = <&rstc NPCM8XX_CLK_UART>;
64+
interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_HIGH>;
65+
reg-shift = <2>;
66+
status = "disabled";
67+
@@ -125,7 +125,7 @@ serial3: serial@3000 {
68+
serial4: serial@4000 {
69+
compatible = "nuvoton,npcm845-uart", "nuvoton,npcm750-uart";
70+
reg = <0x4000 0x1000>;
71+
- clocks = <&clk NPCM8XX_CLK_UART>;
72+
+ clocks = <&rstc NPCM8XX_CLK_UART>;
73+
interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>;
74+
reg-shift = <2>;
75+
status = "disabled";
76+
@@ -134,7 +134,7 @@ serial4: serial@4000 {
77+
serial5: serial@5000 {
78+
compatible = "nuvoton,npcm845-uart", "nuvoton,npcm750-uart";
79+
reg = <0x5000 0x1000>;
80+
- clocks = <&clk NPCM8XX_CLK_UART>;
81+
+ clocks = <&rstc NPCM8XX_CLK_UART>;
82+
interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>;
83+
reg-shift = <2>;
84+
status = "disabled";
85+
@@ -143,7 +143,7 @@ serial5: serial@5000 {
86+
serial6: serial@6000 {
87+
compatible = "nuvoton,npcm845-uart", "nuvoton,npcm750-uart";
88+
reg = <0x6000 0x1000>;
89+
- clocks = <&clk NPCM8XX_CLK_UART>;
90+
+ clocks = <&rstc NPCM8XX_CLK_UART2>;
91+
interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>;
92+
reg-shift = <2>;
93+
status = "disabled";
94+
diff --git a/arch/arm64/boot/dts/nuvoton/nuvoton-npcm845.dtsi b/arch/arm64/boot/dts/nuvoton/nuvoton-npcm845.dtsi
95+
index 383938dcd3ce..3cbcea65eba2 100644
96+
--- a/arch/arm64/boot/dts/nuvoton/nuvoton-npcm845.dtsi
97+
+++ b/arch/arm64/boot/dts/nuvoton/nuvoton-npcm845.dtsi
98+
@@ -14,7 +14,7 @@ cpus {
99+
cpu0: cpu@0 {
100+
device_type = "cpu";
101+
compatible = "arm,cortex-a35";
102+
- clocks = <&clk NPCM8XX_CLK_CPU>;
103+
+ clocks = <&rstc NPCM8XX_CLK_CPU>;
104+
reg = <0x0 0x0>;
105+
next-level-cache = <&l2>;
106+
enable-method = "psci";
107+
@@ -23,7 +23,7 @@ cpu0: cpu@0 {
108+
cpu1: cpu@1 {
109+
device_type = "cpu";
110+
compatible = "arm,cortex-a35";
111+
- clocks = <&clk NPCM8XX_CLK_CPU>;
112+
+ clocks = <&rstc NPCM8XX_CLK_CPU>;
113+
reg = <0x0 0x1>;
114+
next-level-cache = <&l2>;
115+
enable-method = "psci";
116+
@@ -32,7 +32,7 @@ cpu1: cpu@1 {
117+
cpu2: cpu@2 {
118+
device_type = "cpu";
119+
compatible = "arm,cortex-a35";
120+
- clocks = <&clk NPCM8XX_CLK_CPU>;
121+
+ clocks = <&rstc NPCM8XX_CLK_CPU>;
122+
reg = <0x0 0x2>;
123+
next-level-cache = <&l2>;
124+
enable-method = "psci";
125+
@@ -41,7 +41,7 @@ cpu2: cpu@2 {
126+
cpu3: cpu@3 {
127+
device_type = "cpu";
128+
compatible = "arm,cortex-a35";
129+
- clocks = <&clk NPCM8XX_CLK_CPU>;
130+
+ clocks = <&rstc NPCM8XX_CLK_CPU>;
131+
reg = <0x0 0x3>;
132+
next-level-cache = <&l2>;
133+
enable-method = "psci";
134+
--
135+
2.34.1
136+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
From d197b1fdad05c195a1f40c4575d9b9b802e7ced1 Mon Sep 17 00:00:00 2001
2+
From: Tomer Maimon <[email protected]>
3+
Date: Mon, 1 Jul 2024 10:10:45 +0300
4+
Subject: [PATCH] arm64: dts: npmc8xx: move the clk handler node to the reset
5+
node
6+
7+
Add clk handler node to the reset node and removing the clock node
8+
driver since the reset driver is register the NPCM8xx clock controller
9+
aux device.
10+
11+
We will push this change upstream for reviewing soon.
12+
13+
Signed-off-by: Tomer Maimon <[email protected]>
14+
---
15+
arch/arm64/boot/dts/nuvoton/nuvoton-common-npcm8xx.dtsi | 7 +------
16+
1 file changed, 1 insertion(+), 6 deletions(-)
17+
18+
diff --git a/arch/arm64/boot/dts/nuvoton/nuvoton-common-npcm8xx.dtsi b/arch/arm64/boot/dts/nuvoton/nuvoton-common-npcm8xx.dtsi
19+
index 92e3b0fe746f..01daf0615ccc 100644
20+
--- a/arch/arm64/boot/dts/nuvoton/nuvoton-common-npcm8xx.dtsi
21+
+++ b/arch/arm64/boot/dts/nuvoton/nuvoton-common-npcm8xx.dtsi
22+
@@ -47,18 +47,13 @@ ahb {
23+
interrupt-parent = <&gic>;
24+
ranges;
25+
26+
- rstc: reset-controller@f0801000 {
27+
+ clk: rstc: reset-controller@f0801000 {
28+
compatible = "nuvoton,npcm845-reset";
29+
reg = <0x0 0xf0801000 0x0 0x78>;
30+
#reset-cells = <2>;
31+
nuvoton,sysgcr = <&gcr>;
32+
clocks = <&refclk>;
33+
- };
34+
-
35+
- clk: clock-controller@f0801000 {
36+
- compatible = "nuvoton,npcm845-clk";
37+
#clock-cells = <1>;
38+
- reg = <0x0 0xf0801000 0x0 0x1000>;
39+
};
40+
41+
apb {
42+
--
43+
2.34.1
44+

0 commit comments

Comments
 (0)