add devicetree overlay for the pcm1862

This commit is contained in:
2025-11-05 14:56:07 +01:00
parent 72587c20cc
commit c0ce8eeebe
3 changed files with 72 additions and 0 deletions

2
.gitignore vendored
View File

@@ -44,3 +44,5 @@ src/auracast/server/certs/per_device/
src/auracast/.env
src/auracast/server/certs/ca/ca_cert.srl
src/auracast/server/credentials.json
pcm1862-i2s.dtbo
test.wav

19
src/misc/build_pcm1862_dts.sh Executable file
View File

@@ -0,0 +1,19 @@
#!/usr/bin/env bash
set -euo pipefail
DTS=./src/misc/pcm1862-i2s.dts
DTBO=pcm1862-i2s.dtbo
OUT=/boot/firmware/overlays
# build
dtc -@ -I dts -O dtb -o "$DTBO" "$DTS"
# install
sudo install -m 0644 "$DTBO" "$OUT/$DTBO"
# NOTE: also add
# dtparam=i2c_arm=on
# dtoverlay=pcm1862-i2s
# to /boot/firmware/config.txt
echo "Built and installed $DTBO to $OUT."
echo "Now either reboot to load the installed overlay"

51
src/misc/pcm1862-i2s.dts Normal file
View File

@@ -0,0 +1,51 @@
/dts-v1/;
/plugin/;
/ {
compatible = "brcm,bcm2835";
/* Enable the I²S controller */
fragment@0 {
target = <&i2s>;
__overlay__ { status = "okay"; };
};
/* PCM1862 on I2C1 at 0x4a */
fragment@1 {
target = <&i2c1>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
pcm1862: adc@4a {
compatible = "ti,pcm1862";
reg = <0x4a>;
#sound-dai-cells = <0>;
};
};
};
/* Link bcm2835-i2s <-> pcm1862 with simple-audio-card */
fragment@2 {
target-path = "/";
__overlay__ {
pcm1862_sound: pcm1862-sound {
compatible = "simple-audio-card";
simple-audio-card,name = "pcm1862 on i2s";
simple-audio-card,format = "i2s";
/* Pi is master for BCLK/LRCLK */
simple-audio-card,bitclock-master = <&dai_cpu>;
simple-audio-card,frame-master = <&dai_cpu>;
dai_cpu: simple-audio-card,cpu {
sound-dai = <&i2s>;
dai-tdm-slot-num = <2>;
dai-tdm-slot-width = <32>;
};
simple-audio-card,codec {
sound-dai = <&pcm1862>;
};
};
};
};
};