From 7445aa7a49fe69292a2eeda2ba5cf62b3d960e0e Mon Sep 17 00:00:00 2001 From: juanesf Date: Sat, 22 May 2021 11:18:24 -0400 Subject: [PATCH] Bpi-M2-Ultra swap audio patch (#2836) * Remove unnecessary patch - this patch works when compiling and installing manually. - the dtb with the changes is taken from the kernel and not from u-boot, therefore this patch does not work. * Add enable-audio-codec-bpim2ultra-kernel.patch - Add patch to enable audio codec in bpi-m2-ultra with h3 compatible - Built and tested on Armbian Buster with Kernel 5.11.x (edge) --- ...enable-audio-codec-bpim2ultra-kernel.patch | 50 ++++++++++++++ .../enable-audio-codec-bpim2ultra.patch | 68 ------------------- 2 files changed, 50 insertions(+), 68 deletions(-) create mode 100644 patch/u-boot/u-boot-sunxi/enable-audio-codec-bpim2ultra-kernel.patch delete mode 100644 patch/u-boot/u-boot-sunxi/enable-audio-codec-bpim2ultra.patch diff --git a/patch/u-boot/u-boot-sunxi/enable-audio-codec-bpim2ultra-kernel.patch b/patch/u-boot/u-boot-sunxi/enable-audio-codec-bpim2ultra-kernel.patch new file mode 100644 index 0000000000..c4ca221535 --- /dev/null +++ b/patch/u-boot/u-boot-sunxi/enable-audio-codec-bpim2ultra-kernel.patch @@ -0,0 +1,50 @@ +diff --git a/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts b/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts +index a6a1087a0c9b..3ad67d12cb9f 100644 +--- a/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts ++++ b/arch/arm/boot/dts/sun8i-r40-bananapi-m2-ultra.dts +@@ -113,6 +113,16 @@ &ahci { + status = "okay"; + }; + ++&codec { ++ allwinner,audio-routing = ++ "Headphone", "HP", ++ "Headphone", "HPCOM", ++ "MIC1", "Mic", ++ "Mic", "MBIAS"; ++ allwinner,codec-analog-controls = <&codec_analog>; ++ status = "okay"; ++}; ++ + &de { + status = "okay"; + }; +diff --git a/arch/arm/boot/dts/sun8i-r40.dtsi b/arch/arm/boot/dts/sun8i-r40.dtsi +index 7907569e7b5c..63d531617f59 100644 +--- a/arch/arm/boot/dts/sun8i-r40.dtsi ++++ b/arch/arm/boot/dts/sun8i-r40.dtsi +@@ -672,6 +672,24 @@ ths: thermal-sensor@1c24c00 { + #thermal-sensor-cells = <1>; + }; + ++ codec: codec@1c22c00 { ++ #sound-dai-cells = <1>; ++ compatible = "allwinner,sun8i-h3-codec"; ++ reg = <0x01c22c00 0x300>; ++ interrupts = ; ++ clocks = <&ccu CLK_BUS_CODEC>, <&ccu CLK_CODEC>; ++ clock-names = "apb", "codec"; ++ resets = <&ccu RST_BUS_CODEC>; ++ dmas = <&dma 19>, <&dma 19>; ++ dma-names = "rx", "tx"; ++ status = "disabled"; ++ }; ++ ++ codec_analog: codec-analog@1c22f00 { ++ compatible = "allwinner,sun8i-a23-codec-analog"; ++ reg = <0x01c22f00 0x4>; ++ }; ++ + uart0: serial@1c28000 { + compatible = "snps,dw-apb-uart"; + reg = <0x01c28000 0x400>; diff --git a/patch/u-boot/u-boot-sunxi/enable-audio-codec-bpim2ultra.patch b/patch/u-boot/u-boot-sunxi/enable-audio-codec-bpim2ultra.patch deleted file mode 100644 index b410f73778..0000000000 --- a/patch/u-boot/u-boot-sunxi/enable-audio-codec-bpim2ultra.patch +++ /dev/null @@ -1,68 +0,0 @@ -diff --git a/arch/arm/dts/sun8i-r40-bananapi-m2-ultra.dts b/arch/arm/dts/sun8i-r40-bananapi-m2-ultra.dts -index c488aaacbd..e51ed3b64e 100644 ---- a/arch/arm/dts/sun8i-r40-bananapi-m2-ultra.dts -+++ b/arch/arm/dts/sun8i-r40-bananapi-m2-ultra.dts -@@ -112,6 +112,15 @@ - phy-supply = <®_eldo3>; - status = "okay"; - }; -+&codec { -+ allwinner,audio-routing = -+ "Headphone", "HP", -+ "Headphone", "HPCOM", -+ "MIC1", "Mic", -+ "Mic", "MBIAS"; -+ allwinner,codec-analog-controls = <&codec_analog>; -+ status = "okay"; -+}; - - &de { - status = "okay"; -diff --git a/arch/arm/dts/sun8i-r40.dtsi b/arch/arm/dts/sun8i-r40.dtsi -index 06b685869f..27840c210a 100644 ---- a/arch/arm/dts/sun8i-r40.dtsi -+++ b/arch/arm/dts/sun8i-r40.dtsi -@@ -180,6 +180,18 @@ - interrupts = ; - }; - -+ dma: dma-controller@1c02000 { -+ compatible = "allwinner,sun8i-r40-dma", -+ "allwinner,sun50i-a64-dma"; -+ reg = <0x01c02000 0x1000>; -+ interrupts = ; -+ clocks = <&ccu CLK_BUS_DMA>; -+ dma-channels = <16>; -+ dma-requests = <31>; -+ resets = <&ccu RST_BUS_DMA>; -+ #dma-cells = <1>; -+ }; -+ - mmc0: mmc@1c0f000 { - compatible = "allwinner,sun8i-r40-mmc", - "allwinner,sun50i-a64-mmc"; -@@ -411,6 +423,24 @@ - reg = <0x01c20c90 0x10>; - }; - -+ codec: codec@1c22c00 { -+ #sound-dai-cells = <0>; -+ compatible = "allwinner,sun8i-h3-codec"; -+ reg = <0x01c22c00 0x300>; -+ interrupts = ; -+ clocks = <&ccu CLK_BUS_CODEC>, <&ccu CLK_CODEC>; -+ clock-names = "apb", "codec"; -+ resets = <&ccu RST_BUS_CODEC>; -+ dmas = <&dma 19>, <&dma 19>; -+ dma-names = "rx", "tx"; -+ status = "disabled"; -+ }; -+ -+ codec_analog: codec-analog@1c22f00 { -+ compatible = "allwinner,sun8i-a23-codec-analog"; -+ reg = <0x01c22f00 0x4>; -+ }; -+ - uart0: serial@1c28000 { - compatible = "snps,dw-apb-uart"; - reg = <0x01c28000 0x400>;