Allwinner A10 DTS fix for ARM PMU IRQ and EMAC DMA (#7567)

* Correcting the Perf unit's interrupt source number to 66 as stated in the Allwinner A10User manual to resolve conflict with Uart 2 which actually uses interrupt source number 3

* rename to all lower case and add in sun4i-emac dma support. Note that support only exist in the driver for the rx channel

* Ensure that sun4i patches actually implemented

Signed-off-by: Ryan L <ryestar101@gmail.com>

* Apply performance monitoring unit IRQ number patch to uboot

* Add patch for resolving the perf unit irq number to the edge kernel

Signed-off-by: Ryan L <ryestar101@gmail.com>

* Add sun4i emac ethernet DMA support to the edge kernel

Signed-off-by: Ryan L <ryestar101@gmail.com>

* Append missing .patch so that our patch is found and works properly

Signed-off-by: Ryan L <ryestar101@gmail.com>

* Apply EMAC DMA support and PMU fix to edge kernel

---------

Signed-off-by: Ryan L <ryestar101@gmail.com>
This commit is contained in:
Ryzer58 2024-12-13 08:45:28 +00:00 committed by GitHub
parent 48c600f988
commit a71b8675ae
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
10 changed files with 218 additions and 0 deletions

View File

@ -0,0 +1,30 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Ryzer58 <ryestar101@gmail.com>
Date: Mon, 30 Sep 2024 22:26:31 +0100
Subject: Enable DMA support for the Allwinner A10 EMAC, which already exist in the sun4i-emac driver
Signed-off-by: Ryzer58 <ryestar101@gmail.com>
---
arch/arm/boot/dts/allwinner/sun4i-a10.dtsi | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm/boot/dts/allwinner/sun4i-a10.dtsi b/arch/arm/boot/dts/allwinner/sun4i-a10.dtsi
index 51a6464aab9a..b8bf8f929a25 100644
--- a/arch/arm/boot/dts/allwinner/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/allwinner/sun4i-a10.dtsi
@@ -313,10 +313,12 @@ emac: ethernet@1c0b000 {
compatible = "allwinner,sun4i-a10-emac";
reg = <0x01c0b000 0x1000>;
interrupts = <55>;
clocks = <&ccu CLK_AHB_EMAC>;
allwinner,sram = <&emac_sram 1>;
+ dmas = <&dma SUN4I_DMA_DEDICATED 7>;
+ dma-names = "rx";
pinctrl-names = "default";
pinctrl-0 = <&emac_pins>;
status = "disabled";
};
--
Created with Armbian build tools https://github.com/armbian/build

View File

@ -0,0 +1,31 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Ryzer58 <ryestar101@gmail.com>
Date: Mon, 30 Sep 2024 21:56:15 +0100
Subject: Correct perf interrupt source number as referenced in the Allwinner A10 User manual
to resolve conflict with UART2.
Signed-off-by: Ryzer58 <ryestar101@gmail.com>
---
arch/arm/boot/dts/allwinner/sun4i-a10.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/allwinner/sun4i-a10.dtsi b/arch/arm/boot/dts/allwinner/sun4i-a10.dtsi
index 51a6464aab9a..cabf619c2e21 100644
--- a/arch/arm/boot/dts/allwinner/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/allwinner/sun4i-a10.dtsi
@@ -183,11 +183,11 @@ de: display-engine {
status = "disabled";
};
pmu {
compatible = "arm,cortex-a8-pmu";
- interrupts = <3>;
+ interrupts = <66>;
};
reserved-memory {
#address-cells = <1>;
#size-cells = <1>;
--
Created with Armbian build tools https://github.com/armbian/build

View File

@ -369,6 +369,8 @@
patches.armbian/Compile-the-pwm-overlay.patch
patches.armbian/cb1-overlay.patch
patches.armbian/cb1-overlay-light-fix.patch
patches.armbian/arm-dts-sun4i-a10-pmu-irq-fix.patch
patches.armbian/arm-dts-sun4i-a10-emac-dma-enable.patch
patches.armbian/arm-dts-sunxi-h3-h5.dtsi-add-i2s0-i2s1-pins.patch
patches.armbian/arm-dts-sun5i-a13-olinuxino-micro-add-panel-lcd-olinuxino-4.3.patch
patches.armbian/arm-dts-sun5i-a13-olinuxino-Add-panel-lcd-olinuxino-4.3-needed-.patch

View File

@ -0,0 +1,29 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Ryzer58 <ryestar101@gmail.com>
Date: Sat, 30 Nov 2024 22:29:50 +0000
Subject: Enable DMA support for the Allwinner A10 EMAC, which already exist in the sun4i-emac driver
Signed-off-by: Ryzer58 <ryestar101@gmail.com>
---
arch/arm/boot/dts/allwinner/sun4i-a10.dtsi | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm/boot/dts/allwinner/sun4i-a10.dtsi b/arch/arm/boot/dts/allwinner/sun4i-a10.dtsi
index cabf619c2e21..08a8433b595e 100644
--- a/arch/arm/boot/dts/allwinner/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/allwinner/sun4i-a10.dtsi
@@ -313,10 +313,12 @@ emac: ethernet@1c0b000 {
compatible = "allwinner,sun4i-a10-emac";
reg = <0x01c0b000 0x1000>;
interrupts = <55>;
clocks = <&ccu CLK_AHB_EMAC>;
allwinner,sram = <&emac_sram 1>;
+ dmas = <&dma SUN4I_DMA_DEDICATED 7>;
+ dma-names = "rx";
pinctrl-names = "default";
pinctrl-0 = <&emac_pins>;
status = "disabled";
};
--
Created with Armbian build tools https://github.com/armbian/build

View File

@ -0,0 +1,31 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Ryzer58 <ryestar101@gmail.com>
Date: Sat, 30 Nov 2024 20:40:29 +0000
Subject: Correct perf interrupt source number as referenced in the Allwinner A10 User manual
to resolve conflict with UART2.
Signed-off-by: Ryzer58 <ryestar101@gmail.com>
---
arch/arm/boot/dts/allwinner/sun4i-a10.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/allwinner/sun4i-a10.dtsi b/arch/arm/boot/dts/allwinner/sun4i-a10.dtsi
index 51a6464aab9a..cabf619c2e21 100644
--- a/arch/arm/boot/dts/allwinner/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/allwinner/sun4i-a10.dtsi
@@ -183,11 +183,11 @@ de: display-engine {
status = "disabled";
};
pmu {
compatible = "arm,cortex-a8-pmu";
- interrupts = <3>;
+ interrupts = <66>;
};
reserved-memory {
#address-cells = <1>;
#size-cells = <1>;
--
Created with Armbian build tools https://github.com/armbian/build

View File

@ -355,6 +355,8 @@
patches.armbian/Move-sun50i-h6-pwm-settings-to-its-own-overlay.patch
patches.armbian/Compile-the-pwm-overlay.patch
patches.armbian/cb1-overlay.patch
patches.armbian/arm-dts-sun4i-a10-pmu-irq-fix.patch
patches.armbian/arm-dts-sun4i-a10-emac-dma-enable.patch
patches.armbian/arm-dts-sunxi-h3-h5.dtsi-add-i2s0-i2s1-pins.patch
patches.armbian/arm-dts-sun5i-a13-olinuxino-micro-add-panel-lcd-olinuxino-4.3.patch
patches.armbian/arm-dts-sun5i-a13-olinuxino-Add-panel-lcd-olinuxino-4.3-needed-.patch

View File

@ -0,0 +1,30 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Ryzer58 <ryestar101@gmail.com>
Date: Sun, 4 Aug 2024 23:45:50 +0100
Subject: Enable DMA support for the Allwinner A10 EMAC, which already exist in the sun4i-emac driver
Signed-off-by: Ryzer58 <ryestar101@gmail.com>
---
arch/arm/boot/dts/allwinner/sun4i-a10.dtsi | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm/boot/dts/allwinner/sun4i-a10.dtsi b/arch/arm/boot/dts/allwinner/sun4i-a10.dtsi
index cabf619c2e21..08a8433b595e 100644
--- a/arch/arm/boot/dts/allwinner/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/allwinner/sun4i-a10.dtsi
@@ -313,10 +313,12 @@ emac: ethernet@1c0b000 {
compatible = "allwinner,sun4i-a10-emac";
reg = <0x01c0b000 0x1000>;
interrupts = <55>;
clocks = <&ccu CLK_AHB_EMAC>;
allwinner,sram = <&emac_sram 1>;
+ dmas = <&dma SUN4I_DMA_DEDICATED 7>;
+ dma-names = "rx";
pinctrl-names = "default";
pinctrl-0 = <&emac_pins>;
status = "disabled";
};
--
Created with Armbian build tools https://github.com/armbian/build

View File

@ -0,0 +1,31 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Ryzer58 <ryestar101@gmail.com>
Date: Thu, 25 Apr 2024 22:18:22 +0100
Subject: Correct perf interrupt source number as referenced in the Allwinner A10 User manual
to resolve conflict with UART2.
Signed-off-by: Ryzer58 <ryestar101@gmail.com>
---
arch/arm/boot/dts/allwinner/sun4i-a10.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/allwinner/sun4i-a10.dtsi b/arch/arm/boot/dts/allwinner/sun4i-a10.dtsi
index 51a6464aab9a..cabf619c2e21 100644
--- a/arch/arm/boot/dts/allwinner/sun4i-a10.dtsi
+++ b/arch/arm/boot/dts/allwinner/sun4i-a10.dtsi
@@ -183,11 +183,11 @@ de: display-engine {
status = "disabled";
};
pmu {
compatible = "arm,cortex-a8-pmu";
- interrupts = <3>;
+ interrupts = <66>;
};
reserved-memory {
#address-cells = <1>;
#size-cells = <1>;
--
Created with Armbian build tools https://github.com/armbian/build

View File

@ -318,6 +318,8 @@
patches.armbian/arm-dts-sun8i-r40-add-clk_out_a-fix-bananam2ultra.patch
patches.armbian/arm-dts-sun8i-h3-bananapi-m2-plus-add-wifi_pwrseq.patch
patches.armbian/arm-dts-sun7i-a20-bananapro-add-hdmi-connector-de.patch
patches.armbian/arm-dts-sun4i-a10-pmu-irq-fix.patch
patches.armbian/arm-dts-sun4i-a10-emac-dma-enable.patch
patches.armbian/Bananapro-add-AXP209-regulators.patch
patches.armbian/arm-dts-sunxi-h3-h5.dtsi-force-mmc0-bus-width.patch
patches.armbian/arm64-dts-sun50i-a64-pine64-enable-wifi-mmc1.patch

View File

@ -0,0 +1,30 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Ryzer58 <ryestar101@gmail.com>
Date: Tue, 20 Aug 2024 20:36:36 +0100
Subject: Correct perf interrupt source number as referenced in the Allwinner A10 User manual to resolve conflict with UART2.
Signed-off-by: Ryzer58 <ryestar101@gmail.com>
---
arch/arm/dts/sun4i-a10.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/dts/sun4i-a10.dtsi b/arch/arm/dts/sun4i-a10.dtsi
index 51a6464aab..cabf619c2e 100644
--- a/arch/arm/dts/sun4i-a10.dtsi
+++ b/arch/arm/dts/sun4i-a10.dtsi
@@ -183,11 +183,11 @@
status = "disabled";
};
pmu {
compatible = "arm,cortex-a8-pmu";
- interrupts = <3>;
+ interrupts = <66>;
};
reserved-memory {
#address-cells = <1>;
#size-cells = <1>;
--
Created with Armbian build tools https://github.com/armbian/build