Custom DAC PCM1795 need help with hardware volume

We have developed a custom I2s hat for volumio (RPI4). It uses the BB PCM1795 DAC. It operates in master mode (DAC supplies the master clock). We have the DAC working and it sounds good.

We chose this DAC for two reasons…

  1. The differential current outputs.
  2. The hardware attenuation and mute controls.

The DAC uses the I2C bus to configure and control. We have created a custom entry in ‘dacs.json’ and a custom script to configure defaults. We do have Volumio properly configuring the DAC and the audio stream is working. However… We wish to add hardware volume and mute control.

It appears that in order to do this we will be required to write a kernel driver…
Questions?

  1. Is the previous statement correct?
  2. Can someone provide us with link(s) to a similar source code bundle that we can modify to make our DAC use internal volume and mute options?
  3. If this post is in the wrong place can someone direct us to a more appropriate place!

Final details (for anyone who is interested)…
The board additionally has a PCM1804 ADC.
The board has differential inputs and outputs.
The first rev had an additional SPDIF input but we abandoned that interface in the current rev.
We are also developing an ultra low noise linear power supply but are in the early stages.
The board does have a (hat) EEPROM for self configuration when we work these issues out.
We have no commercial plans for this product but are willing to share our design files with anyone who wishes to collaborate.

1 Like