openwrt/target/linux/d1/patches-6.1/0036-riscv-dts-allwinner-Add-Bluetooth-PCM-audio.patch

81 lines
1.7 KiB
Diff
Raw Normal View History

From bf83f1dc034111aac1f23b98d7205d08c7c83208 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Wed, 17 Aug 2022 02:33:25 -0500
Subject: [PATCH 036/117] riscv: dts: allwinner: Add Bluetooth PCM audio
Signed-off-by: Samuel Holland <samuel@sholland.org>
---
.../allwinner/sun20i-d1-clockworkpi-v3.14.dts | 47 +++++++++++++++++++
1 file changed, 47 insertions(+)
--- a/arch/riscv/boot/dts/allwinner/sun20i-d1-clockworkpi-v3.14.dts
+++ b/arch/riscv/boot/dts/allwinner/sun20i-d1-clockworkpi-v3.14.dts
@@ -22,6 +22,32 @@
stdout-path = "serial0:115200n8";
};
+ bt_sco_codec: bt-sco-codec {
+ #sound-dai-cells = <0>;
+ compatible = "linux,bt-sco";
+ };
+
+ bt-sound {
+ compatible = "simple-audio-card";
+ simple-audio-card,name = "Bluetooth";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ simple-audio-card,dai-link@0 {
+ format = "dsp_a";
+ frame-master = <&bt_sound_cpu>;
+ bitclock-master = <&bt_sound_cpu>;
+
+ bt_sound_cpu: cpu {
+ sound-dai = <&i2s1>;
+ };
+
+ codec {
+ sound-dai = <&bt_sco_codec>;
+ };
+ };
+ };
+
/*
* This regulator is PWM-controlled, but the PWM controller is not
* yet supported, so fix the regulator to its default voltage.
@@ -169,6 +195,12 @@
};
};
+&i2s1 {
+ pinctrl-0 = <&i2s1_clk_pins>, <&i2s1_din_pin>, <&i2s1_dout_pin>;
+ pinctrl-names = "default";
+ status = "okay";
+};
+
&mmc0 {
broken-cd;
bus-width = <4>;
@@ -205,6 +237,21 @@
&pio {
vcc-pg-supply = <&reg_ldoa>;
+
+ i2s1_clk_pins: i2s1-clk-pins {
+ pins = "PG12", "PG13";
+ function = "i2s1";
+ };
+
+ i2s1_din_pin: i2s1-din-pin {
+ pins = "PG14";
+ function = "i2s1_din";
+ };
+
+ i2s1_dout_pin: i2s1-dout-pin {
+ pins = "PG15";
+ function = "i2s1_dout";
+ };
};
&uart0 {