Integrate linux-seco-imx/seco_lf-5.10.y_e83_add_tas2505
Commit: clea-os/bsp/nxp/linux-seco-imx@e4af060d
ASoC: tlv320aic32x4: make array clocks static, makes object smaller
Don't populate the array clocks on the stack but instead it static. Makes the object code smaller by 316 bytes.
Before: text data bss dec hex filename 63668 28264 0 91932 1671c ./sound/soc/codecs/tlv320aic32x4.o
After: text data bss dec hex filename 62616 29000 0 91616 165e0 ./sound/soc/codecs/tlv320aic32x4.o
(gcc version 10.2.0)
Signed-off-by: Colin Ian King colin.king@canonical.com Link: https://lore.kernel.org/r/20210801064807.138641-1-colin.king@canonical.com Signed-off-by: Mark Brown broonie@kernel.org
--
Commit: clea-os/bsp/nxp/linux-seco-imx@7c73d783
ASoC: tlv320aic32x4: Fix TAS2505/TAS2521 processing block selection
The TAS2505/TAS2521 does support only three processing block options, unlike TLV320AIC32x4 which supports 25. This is documented in TI slau472 2.5.1.2 Processing Blocks and Page 0 / Register 60: DAC Instruction Set - 0x00 / 0x3C.
Limit the Processing Blocks maximum value to 3 on TAS2505/TAS2521 and select processing block PRB_P1 always, because for the configuration of teh codec implemented in this driver, this is the best quality option.
Fixes: b4525b6196cd7 ("ASoC: tlv320aic32x4: add support for TAS2505") Signed-off-by: Marek Vasut marex@denx.de Cc: Claudius Heine ch@denx.de Cc: Mark Brown broonie@kernel.org Link: https://lore.kernel.org/r/20210720200348.182139-1-marex@denx.de Signed-off-by: Mark Brown broonie@kernel.org
--
Commit: clea-os/bsp/nxp/linux-seco-imx@65aeb060
ASoC: tlv320aic32x4: Fix TAS2505/TAS2521 channel count
The TAS2505/TAS2521 does support up to two channels, LEFT and RIGHT, which are being alternated on the audio data bus by Word Clock, WCLK. This is documented in TI slau472 2.7.1 Digital Audio Interface. Note that both the LEFT and RIGHT channels are only used for audio INPUT, while only the LEFT channel is used for audio OUTPUT.
Fixes: b4525b6196cd7 ("ASoC: tlv320aic32x4: add support for TAS2505") Signed-off-by: Marek Vasut marex@denx.de Cc: Claudius Heine ch@denx.de Cc: Mark Brown broonie@kernel.org Link: https://lore.kernel.org/r/20210708091229.56443-1-marex@denx.de Signed-off-by: Mark Brown broonie@kernel.org
--
Commit: clea-os/bsp/nxp/linux-seco-imx@b8e1cedc
ASoC: tlv320aic32x4: Fix TAS2505 volume controls
None of the TAS2505 outputs are stereo, do not pretend they are by implementing them using SOCDOUBLE macros referencing the same register twice, use SOCSINGLE instead. Fix volume ranges and mute control for the codec according to datasheet.
Fixes: b4525b6196cd7 ("ASoC: tlv320aic32x4: add support for TAS2505") Signed-off-by: Marek Vasut marex@denx.de Cc: Claudius Heine ch@denx.de Cc: Mark Brown broonie@kernel.org Link: https://lore.kernel.org/r/20210708091255.56502-1-marex@denx.de Signed-off-by: Mark Brown broonie@kernel.org
--
Commit: clea-os/bsp/nxp/linux-seco-imx@c02ef992
ASoC: tlv320aic32x4: add support for TAS2505
This adds support for TAS2505 and TAS2521 to the tlv320aic32x4 driver.
The TAS2505 seems to be a stripped down version of the TLV320AIC32X4 so it makes sense to handle them in the same driver.
Signed-off-by: Claudius Heine ch@denx.de Link: https://lore.kernel.org/r/20210617085230.1851503-3-ch@denx.de Signed-off-by: Mark Brown broonie@kernel.org
--
Commit: clea-os/bsp/nxp/linux-seco-imx@21fb43dc
ASoC: tlv320aic32x4: add type to device private data struct
While this driver can already handle different device variants, the variant information cannot be used in the driver code and therefor cannot have different code paths depending on the device variant.
This change adds a type
value into the aic32x4_priv
structure, that
contains a device variant identifier, which was set when the driver was
bound to the device.
Signed-off-by: Claudius Heine ch@denx.de Link: https://lore.kernel.org/r/20210617085230.1851503-2-ch@denx.de Signed-off-by: Mark Brown broonie@kernel.org