ASoC: sigmadsp: Fix endianness conversion issue

The 'addr' field of the sigma_action struct is stored as big endian in the
firmware file.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
ASoC: sigmadsp: Split regmap and I2C support into separate modules

When the SigmaDSP module is built-in, but the I2C core is build as a module
we'll get a undefined reference:

	sound/built-in.o: In function `sigma_action_write_i2c':
		:(.text+0x5d8d4): undefined reference to `i2c_master_send'

This can happen if a audio driver that is using the regmap SigmaDSP interface is
built into the kernel, but core I2C support is build as a module. To fix this
split the SigmaDSP module into three modules, one module providing the core
infrastructure and two small modules implementing the regmap and I2C interfaces.
This allows e.g. the core infrastructure and regmap support to be built into the
kernel while I2C support can still be build as a module.

Fixes: dab464b60 ("ASoC: Add ADAU1361/ADAU1761 audio CODEC support")
Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
ASoC: sigmadsp: Add support for v2 firmware

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
ASoC: Add TDM-C bus support

This patch adds support for the TDM-C control bus. It is used by some Analog
Devices audio chips. TDM-C allows to transport audio and control data over the
same wires. It is in essence just normal I2S TDM where in addition to the audio
data it is possible to also store control data in a slot.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
ASoC: Add SSM4567 support

This patch adds support for the ssm4567. The ssm4567 is a mono class D audio
amplifier with an I2S interface for audio in. The control bus can either be I2C
or TDM-C. The chip additionally supports monitoring voltage and current of the
speaker as well as battery voltage which can be send back via the serial port to
the host processor or a DSP for processing.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
ASoC: Add SSM4329 support

This patch adds support the Analog Devices SSM4329 audio amplifier. The device
is a mono class D speaker amplifier with a built-in SigmaDSP. It can either be
controlled via I2C or SPI and it has two serial ports. One of the ports can
optionally be used as a TDM-C bus master, to e.g. have a SSM4567 as a companion
chip.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>