mbox series

[V9,0/5] ASoC: codecs: Add Awinic AW883XX audio amplifier driver

Message ID 20230106032835.141918-1-wangweidong.a@awinic.com (mailing list archive)
Headers show
Series ASoC: codecs: Add Awinic AW883XX audio amplifier driver | expand

Message

wangweidong.a@awinic.com Jan. 6, 2023, 3:28 a.m. UTC
From: Weidong Wang <wangweidong.a@awinic.com>

The Awinic AW883XX is an I2S/TDM input, high efficiency
digital Smart K audio amplifier with an integrated 10.25V
smart boost convert

Add a DT schema for describing Awinic AW883xx audio amplifiers. They are
controlled using I2C

v8 -> v9: Delete extra empty lines
          Use devm_kzalloc instead of kzalloc
          Structure members applied with devm_kzalloc are not initialized to NULL
          DAMP is used for power management
          In Kcontrol, out-of-range values return -EINVAL
          Delete switch Kcontrol
          Use devm_snd_soc_unregister_component instead of snd_soc_unregister_component
          Use aw88395 instead of aw883xx in awinic,aw88395.yaml file
          Add the sound-dai-cells in awinic,aw88395.yaml file
          Use unevaluatedProperties: false in awinic,aw88395.yaml file

Weidong Wang (5):
  ASoC: codecs: Add i2c and codec registration for aw883xx and their
    associated operation functions
  ASoC: codecs: Aw883xx function for ACF file parse and check
  ASoC: codecs: Aw883xx common function for ALSA Audio Driver
  ASoC: codecs: Aw883xx chip register file, data type file and Kconfig
    Makefile
  ASoC: dt-bindings: Add schema for "awinic,aw883xx"

 .../bindings/sound/awinic,aw883xx.yaml        |   53 +
 sound/soc/codecs/Kconfig                      |   10 +
 sound/soc/codecs/Makefile                     |    6 +
 sound/soc/codecs/aw883xx/aw883xx.c            |  579 ++++++
 sound/soc/codecs/aw883xx/aw883xx.h            |   58 +
 sound/soc/codecs/aw883xx/aw883xx_bin_parse.c  | 1067 ++++++++++
 sound/soc/codecs/aw883xx/aw883xx_bin_parse.h  |   92 +
 sound/soc/codecs/aw883xx/aw883xx_data_type.h  |  142 ++
 sound/soc/codecs/aw883xx/aw883xx_device.c     | 1756 +++++++++++++++++
 sound/soc/codecs/aw883xx/aw883xx_device.h     |  196 ++
 .../soc/codecs/aw883xx/aw883xx_pid_2049_reg.h |  383 ++++
 11 files changed, 4342 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/sound/awinic,aw883xx.yaml
 create mode 100644 sound/soc/codecs/aw883xx/aw883xx.c
 create mode 100644 sound/soc/codecs/aw883xx/aw883xx.h
 create mode 100644 sound/soc/codecs/aw883xx/aw883xx_bin_parse.c
 create mode 100644 sound/soc/codecs/aw883xx/aw883xx_bin_parse.h
 create mode 100644 sound/soc/codecs/aw883xx/aw883xx_data_type.h
 create mode 100644 sound/soc/codecs/aw883xx/aw883xx_device.c
 create mode 100644 sound/soc/codecs/aw883xx/aw883xx_device.h
 create mode 100644 sound/soc/codecs/aw883xx/aw883xx_pid_2049_reg.h


base-commit: 1f5abbd77e2c1787e74b7c2caffac97def78ba52