openwrt/target/linux/bcm27xx/patches-5.10/950-0593-overlays-Add-ugree...

102 lines
3.0 KiB
Diff

From d7a810374597774f0e01eedfc30074772f4e9f85 Mon Sep 17 00:00:00 2001
From: Christoph <c.orth@ugreen.eu>
Date: Wed, 28 Apr 2021 20:30:44 +0200
Subject: [PATCH] overlays: Add ugreen-dabboard overlay
This is a simple overlay based on the simple-audio-card and the dmic
codec. It has the speciality that it is configured to use the codec
as a master I2S device. It works for example with the Si468x DAB
receiver on the uGreen DABBoard.
See: https://github.com/raspberrypi/linux/issues/4304
Signed-off-by: Christoph Orth <c.orth@ugreen.eu>
---
arch/arm/boot/dts/overlays/Makefile | 1 +
arch/arm/boot/dts/overlays/README | 10 ++++
.../dts/overlays/ugreen-dabboard-overlay.dts | 49 +++++++++++++++++++
3 files changed, 60 insertions(+)
create mode 100644 arch/arm/boot/dts/overlays/ugreen-dabboard-overlay.dts
--- a/arch/arm/boot/dts/overlays/Makefile
+++ b/arch/arm/boot/dts/overlays/Makefile
@@ -209,6 +209,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
uart4.dtbo \
uart5.dtbo \
udrc.dtbo \
+ ugreen-dabboard.dtbo \
upstream.dtbo \
upstream-pi4.dtbo \
vc4-fkms-v3d.dtbo \
--- a/arch/arm/boot/dts/overlays/README
+++ b/arch/arm/boot/dts/overlays/README
@@ -3130,6 +3130,16 @@ Load: dtoverlay=udrc,<param>=<val>
Params: alsaname Name of the ALSA audio device (default "udrc")
+Name: ugreen-dabboard
+Info: Configures the ugreen-dabboard I2S overlay
+ This is a simple overlay based on the simple-audio-card and the dmic
+ codec. It has the speciality that it is configured to use the codec
+ as a master I2S device. It works for example with the Si468x DAB
+ receiver on the uGreen DABBoard.
+Load: dtoverlay=ugreen-dabboard,<param>=<val>
+Params: card-name Override the default, "dabboard", card name.
+
+
Name: upstream
Info: Allow usage of downstream .dtb with upstream kernel. Comprises the
vc4-kms-v3d and dwc2 overlays.
--- /dev/null
+++ b/arch/arm/boot/dts/overlays/ugreen-dabboard-overlay.dts
@@ -0,0 +1,49 @@
+// Definitions for the ugreen dabboard I2S
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "brcm,bcm2835";
+
+ fragment@0 {
+ target = <&i2s>;
+ __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@1 {
+ target-path = "/";
+ __overlay__ {
+ dmic_codec: dmic-codec {
+ #sound-dai-cells = <0>;
+ compatible = "dmic-codec";
+ status = "okay";
+ };
+ };
+ };
+
+ fragment@2 {
+ target = <&sound>;
+ sound_overlay: __overlay__ {
+ compatible = "simple-audio-card";
+ simple-audio-card,format = "i2s";
+ simple-audio-card,name = "dabboard";
+ simple-audio-card,bitclock-master = <&dailink0_slave>;
+ simple-audio-card,frame-master = <&dailink0_slave>;
+ simple-audio-card,widgets = "Microphone", "Microphone Jack";
+ status = "okay";
+ simple-audio-card,cpu {
+ sound-dai = <&i2s>;
+ };
+ dailink0_slave: simple-audio-card,codec {
+ #sound-dai-cells = <0>;
+ sound-dai = <&dmic_codec>;
+ };
+ };
+ };
+
+ __overrides__ {
+ card-name = <&sound_overlay>,"simple-audio-card,name";
+ };
+};