raspberry-vanilla / android_local_manifest

149 stars 58 forks source link

ChipDipDAC #140

Closed chipdipru closed 1 month ago

chipdipru commented 1 month ago

Hi @KonstaT It looks like the I2S audio card ChipDipDAC is turned off. # CONFIG_SND_BCM2708_SOC_CHIPDIP_DAC is not set Please help me turn on the ChipDipDAC as the main audio output.

KonstaT commented 1 month ago

You would need to compile the Pi 4/5 kernels (https://github.com/raspberry-vanilla/android_kernel_manifest/tree/android-15.0) with SND_BCM2708_SOC_CHIPDIP_DAC enabled (https://github.com/raspberry-vanilla/android_kernel_brcm_rpi/blob/android-15.0/arch/arm64/configs/android_rpi4_defconfig#L4513 & https://github.com/raspberry-vanilla/android_kernel_brcm_rpi/blob/android-15.0/arch/arm64/configs/android_rpi5_defconfig#L4521). Edit. And looking at the overlay (https://github.com/raspberry-vanilla/android_kernel_brcm_rpi/blob/android-15.0/arch/arm/boot/dts/overlays/chipdip-dac-overlay.dts) it also requires SND_SOC_SPDIF enabled.

I don't have the hardware to test so pull requests are welcome once you've tested this works on the kernel side.

The project's wiki provides documentation on how to change the audio output device on Raspberry Vanilla builds. https://github.com/raspberry-vanilla/android_local_manifest/wiki/Audio

It seems that the docs haven't been updated in a while and on Pi 5 the ALSA device number for the DAC is likely 2 (i.e. persist.audio.pcm.card=2). You can use e.g. cat /proc/asound/cards to verify the cards numbers.

ChipDipDAC commented 1 month ago

I enabled the kconfig options you mentioned and everything worked with the freshly built kernel, thank you for your help! Could you please include our device in your next builds?

chipdipru commented 1 month ago

I enabled the config options you mentioned and everything worked with the freshly built kernel, thank you for your help! Could you please include our device in your next builds? p.s.Sorry, I replied earlier from another account.

KonstaT commented 1 month ago

I have enabled the kernel configurations and it will included if/when there are future builds.