public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
* [PATCH v2 0/3] Audio and other peripherals on Orange Pi Zero
@ 2025-08-09 16:18 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
                   ` (2 more replies)
  0 siblings, 3 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

Signed-off-by: J. Neuschäfer <j.ne@posteo.net>
---
Changes in v2:
- Rebase on (almost) 6.17-rc1
- Disable audio pins by default
- Provide separate DT overlay for the Orange Pi Zero Interface Board
- Link to v1: https://lore.kernel.org/r/20250418-opz-audio-v1-1-4e86bb5bc734@posteo.net

---
J. Neuschäfer (3):
      ARM: dts: allwinner: orangepi-zero: Add default audio routing
      ARM: dts: allwinner: orangepi-zero2: Add default audio routing
      ARM: dts: allwinner: Add Orange Pi Zero Interface Board overlay

 arch/arm/boot/dts/allwinner/Makefile               |  7 ++++
 .../dts/allwinner/sun8i-h2-plus-orangepi-zero.dts  | 14 +++++++
 .../dts/allwinner/sun8i-h3-orangepi-zero-plus2.dts | 14 +++++++
 .../sun8i-orangepi-zero-interface-board.dtso       | 46 ++++++++++++++++++++++
 4 files changed, 81 insertions(+)
---
base-commit: 36c31984cca32c5d9720c8c1eb5bd17fa915419f
change-id: 20250417-opz-audio-890849c8bb2e

Best regards,
-- 
J. Neuschäfer <j.ne@posteo.net>




^ permalink raw reply	[flat|nested] 6+ messages in thread

* [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 = <&reg_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

* [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

* 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

end of thread, other threads:[~2025-09-11 15:11 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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-09-10 12:58   ` Chen-Yu Tsai
2025-09-11 15:11     ` J. Neuschäfer
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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox