From e8b77daee774810ea5d660ce89079d3f771d45f7 Mon Sep 17 00:00:00 2001 From: Stephen Gordon 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 --- .../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>; + }; + }; + }; +};