From: Weidong Wang <wangweidong.a@xxxxxxxxxx> 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 -- 2.38.1