From 912e42724341397041726ed8480c237d706ab2d6 Mon Sep 17 00:00:00 2001 From: Pat Nakajima Date: Sun, 19 Apr 2026 15:16:03 -0700 Subject: [PATCH] fix script --- setup-audio.sh | 68 +++++++++++++++++++++++++++++--------------------- 1 file changed, 40 insertions(+), 28 deletions(-) diff --git a/setup-audio.sh b/setup-audio.sh index 4fdf068..c097ccc 100755 --- a/setup-audio.sh +++ b/setup-audio.sh @@ -22,12 +22,21 @@ if [ -z "$TARGET_HOME" ] || [ ! -d "$TARGET_HOME" ]; then fi CONFIG="/boot/firmware/config.txt" +if [ ! -f "$CONFIG" ]; then + echo "Could not find $CONFIG" >&2 + exit 1 +fi + OVERLAYS="/boot/firmware/overlays" +mkdir -p "$OVERLAYS" + RESTORE_HELPER="/usr/local/sbin/barepi-audio-restore" RESTORE_SERVICE="/etc/systemd/system/barepi-audio-restore.service" echo "=== barepi audio setup ===" echo "User: $TARGET_USER Home: $TARGET_HOME" +echo "Config: $CONFIG" +echo "Overlays: $OVERLAYS" echo "" # 1. Install packages @@ -134,41 +143,44 @@ cat > "$DTS" << 'DTS_EOF' }; fragment@3 { - target-path = "/"; + target = <&sound>; __overlay__ { - sound { - compatible = "simple-audio-card"; - simple-audio-card,name = "barepi-audio"; - simple-audio-card,format = "i2s"; - status = "okay"; + compatible = "simple-audio-card"; + i2s-controller = <&i2s_clk_producer>; + #address-cells = <1>; + #size-cells = <0>; + simple-audio-card,name = "barepi-audio"; + simple-audio-card,format = "i2s"; + status = "okay"; - dailink0: simple-audio-card,dai-link@0 { - format = "i2s"; - bitclock-master = <&cpu0>; - frame-master = <&cpu0>; + simple-audio-card,dai-link@0 { + reg = <0>; + format = "i2s"; + bitclock-master = <&dailink0_master>; + frame-master = <&dailink0_master>; - cpu0: cpu { - sound-dai = <&i2s_clk_producer>; - }; - - codec0: codec { - sound-dai = <&dac_codec>; - system-clock-frequency = <1536000>; - }; + dailink0_master: cpu { + sound-dai = <&i2s_clk_producer>; }; - dailink1: simple-audio-card,dai-link@1 { - format = "i2s"; - bitclock-master = <&cpu1>; - frame-master = <&cpu1>; + codec { + sound-dai = <&dac_codec>; + system-clock-frequency = <1536000>; + }; + }; - cpu1: cpu { - sound-dai = <&i2s_clk_producer>; - }; + simple-audio-card,dai-link@1 { + reg = <1>; + format = "i2s"; + bitclock-master = <&dailink1_master>; + frame-master = <&dailink1_master>; - codec1: codec { - sound-dai = <&mic_codec>; - }; + dailink1_master: cpu { + sound-dai = <&i2s_clk_producer>; + }; + + codec { + sound-dai = <&mic_codec>; }; }; };