Hey Folks. I spent the last 2 weeks trying to upgrade my TAS5805m raspberry driver to support multiple DACs chained into a single audio interface. Specifically for my 2X Hat (on the pic). Seems like driver implementation is almost ready for it, but I struggled to provide a valid device tree file that would configure a single audio interface that is linked to multiple DACs. I reached out to TI support, and they provided a whole new driver implementation, that is a work-in-progress on their side.
After looking inside the code, I found it to be a bit clumsy, and many features were missing compared to the original implementation. But in other aspects, the TI code was much better integrated into the Linux kernel ASoC, and most importantly, after some changes, it worked with dual DAC implementation. At this point, I will provide this implementation as an alternative to the original driver until I figure out how to make it work in the chaining config (branch)
It works with both Louder Raspberry 1X and 2X hats, and for both, I've implemented 11 profiles for all configurations: 0.1 (subwoofer, bridged) / 2.0 (stereo) / 2.1 configs
- 0: 60Hz cutoff low-pass / 60Hz cutoff high-pass / 60Hz crossover
- 1: 70Hz cutoff low-pass / 70Hz cutoff high-pass / 70Hz crossover
- 2: 80Hz cutoff low-pass / 80Hz cutoff high-pass / 80Hz crossover
- ...
- 9: 150Hz cutoff low-pass / 150Hz cutoff high-pass / 150Hz crossover
- 10: Flat response / Flat response / No crossover
I'm testing it myself currently and it sounds great, although it is a challenge for such a small hat to dissipate all the heat from two DACs. The 2X Hat itself is available for purchase now, and it is also possible to stack two 1X Hats to get a similar result.
Next stop is to do 2.1 for the larger Media Center format, and also ship the same DAC setup into the ESP32 device.

andriy.malyshenko
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.