Added support for HiFiBerry DAC+
authorDaniel Matuschek <info@crazy-audio.com>
Mon, 4 Aug 2014 08:06:56 +0000 (10:06 +0200)
committerRaspbian kernel package updater <root@raspbian.org>
Sun, 8 Oct 2017 00:59:53 +0000 (00:59 +0000)
commitc7e94f582cd00f28558285a4fc4329b4d002ae6c
tree264d86ee143d5a957a1c491170b967e4267fb15a
parentb4ed1faccaa95a15fb90a87ee587e18cc545f0c3
Added support for HiFiBerry DAC+

The driver is based on the HiFiBerry DAC driver. However HiFiBerry DAC+ uses
a different codec chip (PCM5122), therefore a new driver is necessary.

Add support for the HiFiBerry DAC+ Pro.

The HiFiBerry DAC+ and DAC+ Pro products both use the existing bcm sound driver with the DAC+ Pro having a special clock device driver representing the two high precision oscillators.

An addition bug fix is included for the PCM512x codec where by the physical size of the sample frame is used in the calculation of the LRCK divisor as it was found to be wrong when using 24-bit depth sample contained in a little endian 4-byte sample frame.

Limit PCM512x "Digital" gain to 0dB by default with HiFiBerry DAC+

24db_digital_gain DT param can be used to specify that PCM512x
codec "Digital" volume control should not be limited to 0dB gain,
and if specified will allow the full 24dB gain.

Add dt param to force HiFiBerry DAC+ Pro into slave mode

"dtoverlay=hifiberry-dacplus,slave"

Add 'slave' param to use HiFiBerry DAC+ Pro in slave mode,
with Pi as master for bit and frame clock.

Signed-off-by: DigitalDreamtime <clive.messer@digitaldreamtime.co.uk>
drivers/clk/Makefile
drivers/clk/clk-hifiberry-dacpro.c [new file with mode: 0644]
sound/soc/bcm/Kconfig
sound/soc/bcm/Makefile
sound/soc/bcm/hifiberry_dacplus.c [new file with mode: 0644]
sound/soc/codecs/pcm512x.c