* [PATCH v2 1/3] ARM: dts: allwinner: orangepi-zero: Add default audio routing
2025-08-09 16:18 [PATCH v2 0/3] Audio and other peripherals on Orange Pi Zero J. Neuschäfer via B4 Relay
@ 2025-08-09 16:18 ` J. Neuschäfer via B4 Relay
2025-08-09 16:18 ` [PATCH v2 2/3] ARM: dts: allwinner: orangepi-zero2: " J. Neuschäfer via B4 Relay
2025-08-09 16:18 ` [PATCH v2 3/3] ARM: dts: allwinner: Add Orange Pi Zero Interface Board overlay J. Neuschäfer via B4 Relay
2 siblings, 0 replies; 6+ messages in thread
From: J. Neuschäfer via B4 Relay @ 2025-08-09 16:18 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland
Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
J. Neuschäfer
From: "J. Neuschäfer" <j.ne@posteo.net>
Line out playback and microphone capture work, after enabling the
corresponding ALSA controls. Tested with the Orange Pi Zero interface
board.
Signed-off-by: J. Neuschäfer <j.ne@posteo.net>
---
v2:
- Add an explanatory comment
---
.../arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts
index 1b001f2ad0efd2e77218742efe6d8edfdd18a816..b23cec5b89ebf61701e1d917929589eb6e884afd 100644
--- a/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts
+++ b/arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts
@@ -112,6 +112,20 @@ wifi_pwrseq: pwrseq {
};
};
+/*
+ * Audio input/output is exposed on the 13-pin header and can't be used for
+ * anything else. However, adapter boards may use different audio routing.
+ * - https://linux-sunxi.org/Xunlong_Orange_Pi_Zero#Expansion_Port
+ * - Allwinner H3 Datasheet, section 3.1. Pin Characteristics
+ */
+&codec {
+ allwinner,audio-routing =
+ "Line Out", "LINEOUT",
+ "MIC1", "Mic",
+ "Mic", "MBIAS";
+ status = "disabled";
+};
+
&cpu0 {
cpu-supply = <®_vdd_cpux>;
};
--
2.48.0.rc1.219.gb6b6757d772
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH v2 2/3] ARM: dts: allwinner: orangepi-zero2: Add default audio routing
2025-08-09 16:18 [PATCH v2 0/3] Audio and other peripherals on Orange Pi Zero J. Neuschäfer via B4 Relay
2025-08-09 16:18 ` [PATCH v2 1/3] ARM: dts: allwinner: orangepi-zero: Add default audio routing J. Neuschäfer via B4 Relay
@ 2025-08-09 16:18 ` J. Neuschäfer via B4 Relay
2025-09-10 12:58 ` Chen-Yu Tsai
2025-08-09 16:18 ` [PATCH v2 3/3] ARM: dts: allwinner: Add Orange Pi Zero Interface Board overlay J. Neuschäfer via B4 Relay
2 siblings, 1 reply; 6+ messages in thread
From: J. Neuschäfer via B4 Relay @ 2025-08-09 16:18 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland
Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
J. Neuschäfer
From: "J. Neuschäfer" <j.ne@posteo.net>
The Orange Pi Zero Plus 2 has the same pinout[1] as the Orange Pi
Zero[2] (with the possible exception of line-out left/right being
swapped), and the Orange Pi Zero Interface Board is sold[3] as
compatible with both of them. We can thus use the same audio routing.
[1]: http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-Zero-Plus-2.html
[2]: https://linux-sunxi.org/Xunlong_Orange_Pi_Zero#Expansion_Port
[3]: https://orangepi.com/index.php?route=product/product&product_id=871
Signed-off-by: J. Neuschäfer <j.ne@posteo.net>
---
v2:
- new patch
---
.../boot/dts/allwinner/sun8i-h3-orangepi-zero-plus2.dts | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/arch/arm/boot/dts/allwinner/sun8i-h3-orangepi-zero-plus2.dts b/arch/arm/boot/dts/allwinner/sun8i-h3-orangepi-zero-plus2.dts
index 7a6444a10e2534458b7380882ea4fd42bd54fea8..97a3565ac7a819be6b18d324fa6f65d0d1d2b2ad 100644
--- a/arch/arm/boot/dts/allwinner/sun8i-h3-orangepi-zero-plus2.dts
+++ b/arch/arm/boot/dts/allwinner/sun8i-h3-orangepi-zero-plus2.dts
@@ -99,6 +99,20 @@ wifi_pwrseq: pwrseq {
};
};
+/*
+ * Audio input/output is exposed on the 13-pin header and can't be used for
+ * anything else. However, adapter boards may use different audio routing.
+ * - http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-Zero-Plus-2.html
+ * - Allwinner H3 Datasheet, section 3.1. Pin Characteristics
+ */
+&codec {
+ allwinner,audio-routing =
+ "Line Out", "LINEOUT",
+ "MIC1", "Mic",
+ "Mic", "MBIAS";
+ status = "disabled";
+};
+
&de {
status = "okay";
};
--
2.48.0.rc1.219.gb6b6757d772
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [PATCH v2 2/3] ARM: dts: allwinner: orangepi-zero2: Add default audio routing
2025-08-09 16:18 ` [PATCH v2 2/3] ARM: dts: allwinner: orangepi-zero2: " J. Neuschäfer via B4 Relay
@ 2025-09-10 12:58 ` Chen-Yu Tsai
2025-09-11 15:11 ` J. Neuschäfer
0 siblings, 1 reply; 6+ messages in thread
From: Chen-Yu Tsai @ 2025-09-10 12:58 UTC (permalink / raw)
To: j.ne
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Jernej Skrabec,
Samuel Holland, devicetree, linux-arm-kernel, linux-sunxi,
linux-kernel
On Sun, Aug 10, 2025 at 12:18 AM J. Neuschäfer via B4 Relay
<devnull+j.ne.posteo.net@kernel.org> wrote:
>
> From: "J. Neuschäfer" <j.ne@posteo.net>
The subject is misleading. The Orange Pi Zero2 is a different board with
the H616 SoC.
ChenYu
> The Orange Pi Zero Plus 2 has the same pinout[1] as the Orange Pi
> Zero[2] (with the possible exception of line-out left/right being
> swapped), and the Orange Pi Zero Interface Board is sold[3] as
> compatible with both of them. We can thus use the same audio routing.
>
> [1]: http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-Zero-Plus-2.html
> [2]: https://linux-sunxi.org/Xunlong_Orange_Pi_Zero#Expansion_Port
> [3]: https://orangepi.com/index.php?route=product/product&product_id=871
>
> Signed-off-by: J. Neuschäfer <j.ne@posteo.net>
> ---
>
> v2:
> - new patch
> ---
> .../boot/dts/allwinner/sun8i-h3-orangepi-zero-plus2.dts | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/arch/arm/boot/dts/allwinner/sun8i-h3-orangepi-zero-plus2.dts b/arch/arm/boot/dts/allwinner/sun8i-h3-orangepi-zero-plus2.dts
> index 7a6444a10e2534458b7380882ea4fd42bd54fea8..97a3565ac7a819be6b18d324fa6f65d0d1d2b2ad 100644
> --- a/arch/arm/boot/dts/allwinner/sun8i-h3-orangepi-zero-plus2.dts
> +++ b/arch/arm/boot/dts/allwinner/sun8i-h3-orangepi-zero-plus2.dts
> @@ -99,6 +99,20 @@ wifi_pwrseq: pwrseq {
> };
> };
>
> +/*
> + * Audio input/output is exposed on the 13-pin header and can't be used for
> + * anything else. However, adapter boards may use different audio routing.
> + * - http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-Zero-Plus-2.html
> + * - Allwinner H3 Datasheet, section 3.1. Pin Characteristics
> + */
> +&codec {
> + allwinner,audio-routing =
> + "Line Out", "LINEOUT",
> + "MIC1", "Mic",
> + "Mic", "MBIAS";
> + status = "disabled";
> +};
> +
> &de {
> status = "okay";
> };
>
> --
> 2.48.0.rc1.219.gb6b6757d772
>
>
>
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH v2 2/3] ARM: dts: allwinner: orangepi-zero2: Add default audio routing
2025-09-10 12:58 ` Chen-Yu Tsai
@ 2025-09-11 15:11 ` J. Neuschäfer
0 siblings, 0 replies; 6+ messages in thread
From: J. Neuschäfer @ 2025-09-11 15:11 UTC (permalink / raw)
To: Chen-Yu Tsai
Cc: j.ne, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Jernej Skrabec, Samuel Holland, devicetree, linux-arm-kernel,
linux-sunxi, linux-kernel
On Wed, Sep 10, 2025 at 08:58:49PM +0800, Chen-Yu Tsai wrote:
> On Sun, Aug 10, 2025 at 12:18 AM J. Neuschäfer via B4 Relay
> <devnull+j.ne.posteo.net@kernel.org> wrote:
> >
> > From: "J. Neuschäfer" <j.ne@posteo.net>
>
>
> The subject is misleading. The Orange Pi Zero2 is a different board with
> the H616 SoC.
Oh, indeed. I got confused. Thank you for catching this error!
J. Neuschäfer
>
> ChenYu
>
> > The Orange Pi Zero Plus 2 has the same pinout[1] as the Orange Pi
> > Zero[2] (with the possible exception of line-out left/right being
> > swapped), and the Orange Pi Zero Interface Board is sold[3] as
> > compatible with both of them. We can thus use the same audio routing.
> >
> > [1]: http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-Zero-Plus-2.html
> > [2]: https://linux-sunxi.org/Xunlong_Orange_Pi_Zero#Expansion_Port
> > [3]: https://orangepi.com/index.php?route=product/product&product_id=871
> >
> > Signed-off-by: J. Neuschäfer <j.ne@posteo.net>
> > ---
> >
> > v2:
> > - new patch
> > ---
> > .../boot/dts/allwinner/sun8i-h3-orangepi-zero-plus2.dts | 14 ++++++++++++++
> > 1 file changed, 14 insertions(+)
> >
> > diff --git a/arch/arm/boot/dts/allwinner/sun8i-h3-orangepi-zero-plus2.dts b/arch/arm/boot/dts/allwinner/sun8i-h3-orangepi-zero-plus2.dts
> > index 7a6444a10e2534458b7380882ea4fd42bd54fea8..97a3565ac7a819be6b18d324fa6f65d0d1d2b2ad 100644
> > --- a/arch/arm/boot/dts/allwinner/sun8i-h3-orangepi-zero-plus2.dts
> > +++ b/arch/arm/boot/dts/allwinner/sun8i-h3-orangepi-zero-plus2.dts
> > @@ -99,6 +99,20 @@ wifi_pwrseq: pwrseq {
> > };
> > };
> >
> > +/*
> > + * Audio input/output is exposed on the 13-pin header and can't be used for
> > + * anything else. However, adapter boards may use different audio routing.
> > + * - http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-Zero-Plus-2.html
> > + * - Allwinner H3 Datasheet, section 3.1. Pin Characteristics
> > + */
> > +&codec {
> > + allwinner,audio-routing =
> > + "Line Out", "LINEOUT",
> > + "MIC1", "Mic",
> > + "Mic", "MBIAS";
> > + status = "disabled";
> > +};
> > +
> > &de {
> > status = "okay";
> > };
> >
> > --
> > 2.48.0.rc1.219.gb6b6757d772
> >
> >
> >
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v2 3/3] ARM: dts: allwinner: Add Orange Pi Zero Interface Board overlay
2025-08-09 16:18 [PATCH v2 0/3] Audio and other peripherals on Orange Pi Zero J. Neuschäfer via B4 Relay
2025-08-09 16:18 ` [PATCH v2 1/3] ARM: dts: allwinner: orangepi-zero: Add default audio routing J. Neuschäfer via B4 Relay
2025-08-09 16:18 ` [PATCH v2 2/3] ARM: dts: allwinner: orangepi-zero2: " J. Neuschäfer via B4 Relay
@ 2025-08-09 16:18 ` J. Neuschäfer via B4 Relay
2 siblings, 0 replies; 6+ messages in thread
From: J. Neuschäfer via B4 Relay @ 2025-08-09 16:18 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland
Cc: devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
J. Neuschäfer
From: "J. Neuschäfer" <j.ne@posteo.net>
The Orange Pi Zero interface board is a (mostly) passive adapter from the
13-pin header of the Orange Pi Zero and Orange Pi Zero Plus2 to standard
connectors (2x USB A, 1x Audio/Video output, 1x built-in microphone, 1x
infrared input). Headphones, microphone, infrared (CIR) input, and USB
have been tested with the Orange Pi Zero.
CVBS output is currently not supported.
https://orangepi.com/index.php?route=product/product&product_id=871
Signed-off-by: J. Neuschäfer <j.ne@posteo.net>
---
v2:
- new patch
---
arch/arm/boot/dts/allwinner/Makefile | 7 ++++
.../sun8i-orangepi-zero-interface-board.dtso | 46 ++++++++++++++++++++++
2 files changed, 53 insertions(+)
diff --git a/arch/arm/boot/dts/allwinner/Makefile b/arch/arm/boot/dts/allwinner/Makefile
index d799ad153b37b917d1e1c091fb051140398a574b..97d0a205493f40ba5969b5c8f4708a817ae725c5 100644
--- a/arch/arm/boot/dts/allwinner/Makefile
+++ b/arch/arm/boot/dts/allwinner/Makefile
@@ -182,6 +182,7 @@ dtb-$(CONFIG_MACH_SUN7I) += \
sun7i-a20-wits-pro-a20-dkt.dtb
# Enables support for device-tree overlays for all pis
+DTC_FLAGS_sun8i-h2-plus-orangepi-zero := -@
DTC_FLAGS_sun8i-h3-orangepi-lite := -@
DTC_FLAGS_sun8i-h3-bananapi-m2-plus := -@
DTC_FLAGS_sun8i-h3-nanopi-m1-plus := -@
@@ -225,6 +226,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \
sun8i-h2-plus-libretech-all-h3-cc.dtb \
sun8i-h2-plus-orangepi-r1.dtb \
sun8i-h2-plus-orangepi-zero.dtb \
+ sun8i-h2-plus-orangepi-zero-interface-board.dtb \
sun8i-h3-bananapi-m2-plus.dtb \
sun8i-h3-bananapi-m2-plus-v1.2.dtb \
sun8i-h3-beelink-x2.dtb \
@@ -244,6 +246,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \
sun8i-h3-orangepi-plus.dtb \
sun8i-h3-orangepi-plus2e.dtb \
sun8i-h3-orangepi-zero-plus2.dtb \
+ sun8i-h3-orangepi-zero-plus2-interface-board.dtb \
sun8i-h3-rervision-dvk.dtb \
sun8i-h3-zeropi.dtb \
sun8i-h3-emlid-neutis-n5h3-devboard.dtb \
@@ -264,6 +267,10 @@ dtb-$(CONFIG_MACH_SUN8I) += \
sun8i-v3s-licheepi-zero-dock.dtb \
sun8i-v3s-netcube-kumquat.dtb \
sun8i-v40-bananapi-m2-berry.dtb
+sun8i-h2-plus-orangepi-zero-interface-board-dtbs += \
+ sun8i-h2-plus-orangepi-zero.dtb sun8i-orangepi-zero-interface-board.dtbo
+sun8i-h3-orangepi-zero-plus2-interface-board-dtbs += \
+ sun8i-h3-orangepi-zero-plus2.dtb sun8i-orangepi-zero-interface-board.dtbo
dtb-$(CONFIG_MACH_SUN9I) += \
sun9i-a80-optimus.dtb \
sun9i-a80-cubieboard4.dtb
diff --git a/arch/arm/boot/dts/allwinner/sun8i-orangepi-zero-interface-board.dtso b/arch/arm/boot/dts/allwinner/sun8i-orangepi-zero-interface-board.dtso
new file mode 100644
index 0000000000000000000000000000000000000000..e137eefee34163752372d442c22179b1fa41615a
--- /dev/null
+++ b/arch/arm/boot/dts/allwinner/sun8i-orangepi-zero-interface-board.dtso
@@ -0,0 +1,46 @@
+// SPDX-License-Identifier: (GPL-2.0-or-later OR X11)
+/*
+ * Copyright (C) 2025 J. Neuschäfer <j.ne@posteo.net>
+ *
+ * Devicetree overlay for the Orange Pi Zero Interface board (OP0014).
+ *
+ * https://orangepi.com/index.php?route=product/product&product_id=871
+ *
+ * This overlay applies to the following base files:
+ *
+ * - arch/arm/boot/dts/allwinner/sun8i-h2-plus-orangepi-zero.dts
+ * - arch/arm/boot/dts/allwinner/sun8i-h3-orangepi-zero-plus2.dts
+ */
+
+/dts-v1/;
+/plugin/;
+
+&codec {
+ status = "okay";
+};
+
+&de {
+ status = "okay";
+};
+
+&ehci2 {
+ status = "okay";
+};
+
+&ehci3 {
+ status = "okay";
+};
+
+&ir {
+ pinctrl-names = "default";
+ pinctrl-0 = <&r_ir_rx_pin>;
+ status = "okay";
+};
+
+&ohci2 {
+ status = "okay";
+};
+
+&ohci3 {
+ status = "okay";
+};
--
2.48.0.rc1.219.gb6b6757d772
^ permalink raw reply related [flat|nested] 6+ messages in thread