openwrt/target/linux/d1/patches-6.1/0036-riscv-dts-allwinner-Add-Bluetooth-PCM-audio.patch
Zoltan HERPAI 99545b4bb1 d1: add new target
This target adds support for the Allwinner D1 RISC-V based SoCs.

 - RISC-V single-core T-Head C906 (RV64GCV)
 - Tensilica HiFi4 DSP
 - DDR2/DDR3 support
 - 10/100/1000M ethernet
 - usual peripherals like USB2, SPI, I2C, PWM, etc.

Four boards are supported:
 - Dongshan Nezha STU
    - 512Mb RAM
    - ethernet

 - LicheePi RV Dock
    - 512Mb RAM
    - wireless-only (RTL8723DS)

 - MangoPi MQ-Pro
    - 512Mb RAM
    - there are pads available for an SPI flash
    - wireless-only (RTL8723DS)

 - Nezha D1
    - 512Mb/1Gb/2Gb RAM
    - 256Mb NAND flash
    - ethernet, wireless

Installation:
Standard SD-card installation via dd-ing the generated image to
an SD-card of at least 256Mb.

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2024-02-29 16:50:22 +01:00

81 lines
1.7 KiB
Diff

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 {