Audio-Injector / stereo-and-zero

Zero and original stereo sound cards
71 stars 14 forks source link

Reusing audioinjector device tree overlay for custom hardware #49

Open jbaker0428 opened 4 years ago

jbaker0428 commented 4 years ago

I'm currently migrating a project from a Pi Zero with an AudioInjector Zero to a custom carrier board for a Pi Compute Module. I'm reusing the WM8731 codec IC and hoping to not have to do any new driver configuration. There doesn't seem to be a schematic posted so I'm running a little bit blind, but I'm only using the mic input so it's not too big of a deal. My bigger concern is hardware changes that might break the dtoverlay driver configuration.

abirkmanis commented 4 years ago

Disclaimer: I am just another user. AudioInjector Zero seems to hard-code WM8731 in I2C mode. The chip itself supports both modes (calling them 2-wire and 3-wire).

flatmax commented 3 years ago

This sort of information is best found in the device tree overlay for the sound card. This is the section which defines I2C behaviour : https://github.com/raspberrypi/linux/blob/rpi-5.4.y/arch/arm/boot/dts/overlays/audioinjector-wm8731-audio-overlay.dts#L16-L29

That ALSA machine driver also has information you need. For example, this is where the 12MHz clock is setup : https://github.com/raspberrypi/linux/blob/rpi-5.4.y/sound/soc/bcm/audioinjector-pi-soundcard.c#L82-L85

If you want to, then you can desolder and replace the crystal for one you want to use and change the code there. It should just work !