Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c7d37bad authored by Nick Li's avatar Nick Li Committed by Xiao Li
Browse files

ASoC: aw8896: add aw8896 SmartPA driver



This is the initial driver for SmartPA aw8896.
This driver registers an i2c client to access codec register.
The driver acts as the codec driver in ASoC model, it registers
dai driver and widigets to control the behavior the codec and
provides some other methods like firmware loading.

Change-Id: Ifb9578702110bd2ad466556e86bf7eb1eb1ad10e
Signed-off-by: default avatarNick Li <liweilei@awinic.com.cn>
Git-commit: 2f0896eb28cdeb2d87e9e4749998c4beb4b26d63
Git-repo: https://github.com/awinic-driver/aw8896.git


[lixiao@codeaurora.org: trivial changes as per kernel coding style]
Signed-off-by: default avatarXiao Li <lixiao@codeaurora.org>
parent c3cec2a2
Loading
Loading
Loading
Loading
+21 −0
Original line number Original line Diff line number Diff line
AW8896 SmartpA

Required properties:

  - compatible : "awinic,aw8896_smartpa"

  - reg : I2C address of the device

  - reset-gpio: gpio used for HW reset

Optional properties:

  - irq-gpio: gpio used for irq indicator

Examples:

	i2c_smartpa@34 {
		compatible = "awinic,i2c_smartpa";
		reg = <0x34>;
		reset-gpio = <&tlmm 68 0>;
	};
+1 −0
Original line number Original line Diff line number Diff line
@@ -321,3 +321,4 @@ zte ZTE Corp.
zyxel	ZyXEL Communications Corp.
zyxel	ZyXEL Communications Corp.
inven   InvenSense, Inc.
inven   InvenSense, Inc.
cy      Parade.
cy      Parade.
awinic  Shanghai Awinic Technology Co., Ltd.
+7 −0
Original line number Original line Diff line number Diff line
@@ -203,6 +203,7 @@ config SND_SOC_ALL_CODECS
	select SND_SOC_WM9705 if SND_SOC_AC97_BUS
	select SND_SOC_WM9705 if SND_SOC_AC97_BUS
	select SND_SOC_WM9712 if SND_SOC_AC97_BUS
	select SND_SOC_WM9712 if SND_SOC_AC97_BUS
	select SND_SOC_WM9713 if SND_SOC_AC97_BUS
	select SND_SOC_WM9713 if SND_SOC_AC97_BUS
	select SND_SOC_AW8896 if I2C
        help
        help
          Normally ASoC codec drivers are only built if a machine driver which
          Normally ASoC codec drivers are only built if a machine driver which
          uses them is also built since they are only usable with a machine
          uses them is also built since they are only usable with a machine
@@ -1089,4 +1090,10 @@ config SND_SOC_TPA6130A2
	tristate "Texas Instruments TPA6130A2 headphone amplifier"
	tristate "Texas Instruments TPA6130A2 headphone amplifier"
	depends on I2C
	depends on I2C


config SND_SOC_AW8896
	tristate "SoC Audio for awinic aw8896 series"
	depends on I2C
	help
	  Enables support for aw8896 series Smart PA.

endmenu
endmenu
+2 −0
Original line number Original line Diff line number Diff line
@@ -220,6 +220,7 @@ snd-soc-max9877-objs := max9877.o
snd-soc-max98504-objs := max98504.o
snd-soc-max98504-objs := max98504.o
snd-soc-tpa6130a2-objs := tpa6130a2.o
snd-soc-tpa6130a2-objs := tpa6130a2.o
snd-soc-tas2552-objs := tas2552.o
snd-soc-tas2552-objs := tas2552.o
snd-soc-aw8896-objs := aw8896.o


obj-$(CONFIG_SND_SOC_88PM860X)	+= snd-soc-88pm860x.o
obj-$(CONFIG_SND_SOC_88PM860X)	+= snd-soc-88pm860x.o
obj-$(CONFIG_SND_SOC_AB8500_CODEC)	+= snd-soc-ab8500-codec.o
obj-$(CONFIG_SND_SOC_AB8500_CODEC)	+= snd-soc-ab8500-codec.o
@@ -440,3 +441,4 @@ obj-$(CONFIG_SND_SOC_WM_HUBS) += snd-soc-wm-hubs.o
obj-$(CONFIG_SND_SOC_MAX9877)	+= snd-soc-max9877.o
obj-$(CONFIG_SND_SOC_MAX9877)	+= snd-soc-max9877.o
obj-$(CONFIG_SND_SOC_MAX98504)	+= snd-soc-max98504.o
obj-$(CONFIG_SND_SOC_MAX98504)	+= snd-soc-max98504.o
obj-$(CONFIG_SND_SOC_TPA6130A2)	+= snd-soc-tpa6130a2.o
obj-$(CONFIG_SND_SOC_TPA6130A2)	+= snd-soc-tpa6130a2.o
obj-$(CONFIG_SND_SOC_AW8896)	+= snd-soc-aw8896.o
+1549 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading