• Sylwester Nawrocki's avatar
    ASoC: max98504: Add max98504 speaker amplifier driver · 4c5d1469
    Sylwester Nawrocki authored
    This patch adds driver for the MAX98504 speaker amplifier.  The MAX98504
    is a high efficiency mono class D amplifier that features an integrated
    boost converter with voltage and current sensing ADCs for Dynamic Speaker
    Management.
    This driver does not include support for the I2S DAI, as we wouldn't be
    able  to test such code in a hardware configuration where the amplifier
    has only wired the analogue input.
    Signed-off-by: default avatarInha Song <ideal.song@samsung.com>
    [k.kozlowski: rebased on 4.1]
    Signed-off-by: default avatarKrzysztof Kozlowski <k.kozlowski@samsung.com>
    [s.nawrocki: removed unused macro definitions, rewrote regulator supply
     related parts, rewrote regmap configuration code, added support for speaker
     enable and global chip enable through DAPM, rewritten as component driver,
     added PDM DAI definition and TDM callbacks for PDM channels configuration]
    Signed-off-by: default avatarSylwester Nawrocki <s.nawrocki@samsung.com>
    --
    Changes since v2:
     - added parsing of the VBAT brownout DT properties,
     - removed MAX98504_REG_SPEAKER_SOURCE_SELECT register initialization,
     - removed unused macro definitions.
    
    Changes since v1:
     - none.
    
    Changes since initial version:
     - added regulator supply handling,
     - added DAPM widges for speaker source selection,
     - added PDM DAI definition and TDM callbacks for setting up active
       PDM Tx channels and I/V sense ADC data mapping,
     - removed all optional DT properties, added regulator supply properties
       in the DT binding.
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    4c5d1469
max98504.c 9.88 KB