difos/target/linux/bcm27xx/patches-6.12/950-0721-overlays-Add-overlay-for-ezsound-6x8-soundcard.patch
Álvaro Fernández Rojas 8f9e91ad03 bcm27xx: add 6.12 patches from RPi repo
These patches were generated from:
https://github.com/raspberrypi/linux/commits/rpi-6.12.y
With the following command:
git format-patch -N v6.12.27..HEAD
(HEAD -> 8d3206ee456a5ecdf9ddbfd8e5e231e4f0cd716e)

Exceptions:
- (def)configs patches
- github workflows patches
- applied & reverted patches
- readme patches
- wireless patches

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-05-21 11:32:18 +02:00

133 lines
3.2 KiB
Diff

From e8b77daee774810ea5d660ce89079d3f771d45f7 Mon Sep 17 00:00:00 2001
From: Stephen Gordon <gordoste@iinet.net.au>
Date: Mon, 23 Dec 2024 10:08:04 +1100
Subject: [PATCH] overlays: Add overlay for ezsound 6x8 soundcard
Add the DT overlay for the ezsound 6x8 soundcard.
Signed-off-by: Stephen Gordon <gordoste@iinet.net.au>
---
.../dts/overlays/ezsound-6x8iso-overlay.dts | 117 ++++++++++++++++++
1 file changed, 117 insertions(+)
create mode 100644 arch/arm/boot/dts/overlays/ezsound-6x8iso-overlay.dts
--- /dev/null
+++ b/arch/arm/boot/dts/overlays/ezsound-6x8iso-overlay.dts
@@ -0,0 +1,117 @@
+//Device tree overlay for ezsound 6x8 isolated card
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "brcm,bcm2712";
+
+ fragment@0 {
+ target = <&rp1_i2s0_18_21>;
+ __overlay__ {
+ pins = "gpio18", "gpio19", "gpio20", "gpio22", "gpio24",
+ "gpio26", "gpio21", "gpio23", "gpio25", "gpio27";
+ };
+ };
+
+ fragment@1 {
+ target = <&rp1_i2s1_18_21>;
+ __overlay__ {
+ pins = "gpio18", "gpio19", "gpio20", "gpio22", "gpio24",
+ "gpio26", "gpio21", "gpio23", "gpio25", "gpio27";
+ };
+ };
+
+ fragment@2 {
+ target = <&sound>;
+ __overlay__ {
+ compatible = "simple-audio-card";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ i2s-controller = <&i2s_clk_consumer>;
+ status="okay";
+
+ simple-audio-card,name = "ezsound-6x8";
+
+ dailink_out_master: simple-audio-card,dai-link@0 {
+ reg = <0>;
+ format = "i2s";
+ bitclock-master = <&pcm3168_playback>;
+ frame-master = <&pcm3168_playback>;
+ cpu {
+ sound-dai = <&i2s_clk_consumer>;
+ dai-tdm-slot-num = <2>;
+ dai-tdm-slot-width = <32>;
+ };
+ pcm3168_playback: codec {
+ system-clock-fixed;
+ mclk-fs = <256>;
+ sound-dai = <&pcm3168a 0>;
+ dai-tdm-slot-num = <2>;
+ dai-tdm-slot-width = <32>;
+ };
+ };
+ dailink_in_slave: simple-audio-card,dai-link@1 {
+ reg = <1>;
+ format = "i2s";
+ bitclock-master = <&pcm3168_capture>;
+ frame-master = <&pcm3168_capture>;
+ cpu {
+ sound-dai = <&i2s_clk_consumer>;
+ dai-tdm-slot-num = <2>;
+ dai-tdm-slot-width = <32>;
+ };
+ pcm3168_capture: codec {
+ system-clock-fixed;
+ mclk-fs = <256>;
+ sound-dai = <&pcm3168a 1>;
+ dai-tdm-slot-num = <2>;
+ dai-tdm-slot-width = <32>;
+ };
+ };
+ };
+ };
+
+ fragment@3 {
+ target-path = "/";
+ __overlay__ {
+ scki_clk: scki-clock {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <24576000>;
+ };
+ };
+ };
+
+ // Bring the I2S clock consumer block up
+ fragment@4 {
+ target = <&i2s_clk_consumer>;
+ __overlay__ {
+ #sound-dai-cells = <0>;
+ status = "okay";
+ };
+ };
+
+ fragment@5 {
+ target = <&i2c1>;
+ __overlay__ {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pcm3168a: audio-codec@45 {
+ #sound-dai-cells = <1>;
+ compatible = "ti,pcm3168a";
+ status = "okay";
+ reg = <0x45>;
+ clocks = <&scki_clk>;
+ clock-names = "scki";
+ dac-force-cons;
+ VDD1-supply = <&vdd_3v3_reg>;
+ VDD2-supply = <&vdd_3v3_reg>;
+ VCCAD1-supply = <&vdd_5v0_reg>;
+ VCCAD2-supply = <&vdd_5v0_reg>;
+ VCCDA1-supply = <&vdd_5v0_reg>;
+ VCCDA2-supply = <&vdd_5v0_reg>;
+ };
+ };
+ };
+};