mbox series

[V4,0/6] ASoC: codecs: Add Awinic AW883XX audio amplifier driver

Message ID 20221115022423.6437-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 Nov. 15, 2022, 2:24 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.

v3 -> v4: Specification awinic,aw883xx.yaml pin naming
          Add a description of the awinic,aw883xx.yaml file properties
          Change the name of the node in the awinic,aw883xx.yaml file
          Change the warning: this 'if' clause does not guard 
                 on line 1095 of aw883xx.c
          Change the error: initialization of 'void (*)(struct i2c_client *)'
                 from incompatible pointer type 'int (*)(struct i2c_client *)'
                 on line 1796 of aw883xx.c
          Change the warning: 'aw_pid_2049_reg_access' defined but not used 
                 on line 37 of aw883xx_init.c
          Change the warning: no previous prototype for 'aw883xx_dev_get_int_status'
                 on line 634 of aw883xx_device.c
          Change the warning: no previous prototype for 'aw_dev_get_ra'
                 on line 1000 of aw883xx_device.c
          Change the warning: no previous prototype for 'aw_dev_dsp_fw_update'
                 on line 1062 of aw883xx_device.c


Weidong Wang (6):
  ASoC: codecs: Add i2c and codec registration for aw883xx and their
    associated operation functions
  ASoC: codecs: Added configuration file parsing for aw883xx
  ASoC: codecs: Add aw883xx chip control logic, such as power-on and
    power-off
  ASoC: codecs: Realize aw883xx register configuration and register
    address file
  ASoC: dt-bindings: Add schema for "awinic,aw883xx"
  ASoC:codecs:aw883xx corresponds to the modified Makefile and Kconfig

 .../bindings/sound/awinic,aw883xx.yaml        |   62 +
 sound/soc/codecs/Kconfig                      |   10 +
 sound/soc/codecs/Makefile                     |    7 +
 sound/soc/codecs/aw883xx/aw883xx.c            | 1803 +++++++++++++
 sound/soc/codecs/aw883xx/aw883xx.h            |  155 ++
 sound/soc/codecs/aw883xx/aw883xx_bin_parse.c  | 1294 ++++++++++
 sound/soc/codecs/aw883xx/aw883xx_bin_parse.h  |  145 ++
 sound/soc/codecs/aw883xx/aw883xx_data_type.h  |  148 ++
 sound/soc/codecs/aw883xx/aw883xx_device.c     | 1618 ++++++++++++
 sound/soc/codecs/aw883xx/aw883xx_device.h     |  544 ++++
 sound/soc/codecs/aw883xx/aw883xx_init.c       |  635 +++++
 .../soc/codecs/aw883xx/aw883xx_pid_2049_reg.h | 2300 +++++++++++++++++
 12 files changed, 8721 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_init.c
 create mode 100644 sound/soc/codecs/aw883xx/aw883xx_pid_2049_reg.h


base-commit: 094226ad94f471a9f19e8f8e7140a09c2625abaa