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

Commit c1124c09 authored by Paul Handrigan's avatar Paul Handrigan Committed by Mark Brown
Browse files

ASoC: cs35l34: Initial commit of the cs35l34 CODEC driver.



Initial commit of the Cirrus Logic cs35l34 8V boosted class D
amplifier.

Signed-off-by: default avatarPaul Handrigan <Paul.Handrigan@cirrus.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent e58dfab6
Loading
Loading
Loading
Loading
+35 −0
Original line number Diff line number Diff line
/*
 * linux/sound/cs35l34.h -- Platform data for CS35l34
 *
 * Copyright (c) 2016 Cirrus Logic Inc.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */

#ifndef __CS35L34_H
#define __CS35L34_H

struct cs35l34_platform_data {
	/* Set AIF to half drive strength */
	bool aif_half_drv;
	/* Digital Soft Ramp Disable */
	bool digsft_disable;
	/* Amplifier Invert */
	bool amp_inv;
	/* Peak current (mA) */
	unsigned int boost_peak;
	/* Boost inductor value (nH) */
	unsigned int boost_ind;
	/* Boost Controller Voltage Setting (mV) */
	unsigned int boost_vtge;
	/* Gain Change Zero Cross */
	bool gain_zc_disable;
	/* SDIN Left/Right Selection */
	unsigned int i2s_sdinloc;
	/* TDM Rising Edge */
	bool tdm_rising_edge;
};

#endif /* __CS35L34_H */
+5 −0
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ config SND_SOC_ALL_CODECS
	select SND_SOC_CQ0093VC if MFD_DAVINCI_VOICECODEC
	select SND_SOC_CS35L32 if I2C
	select SND_SOC_CS35L33 if I2C
	select SND_SOC_CS35L34 if I2C
	select SND_SOC_CS42L51_I2C if I2C
	select SND_SOC_CS42L52 if I2C && INPUT
	select SND_SOC_CS42L56 if I2C && INPUT
@@ -399,6 +400,10 @@ config SND_SOC_CS35L33
	tristate "Cirrus Logic CS35L33 CODEC"
	depends on I2C

config SND_SOC_CS35L34
	tristate "Cirrus Logic CS35L34 CODEC"
	depends on I2C

config SND_SOC_CS42L51
	tristate

+2 −0
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ snd-soc-bt-sco-objs := bt-sco.o
snd-soc-cq93vc-objs := cq93vc.o
snd-soc-cs35l32-objs := cs35l32.o
snd-soc-cs35l33-objs := cs35l33.o
snd-soc-cs35l34-objs := cs35l34.o
snd-soc-cs42l51-objs := cs42l51.o
snd-soc-cs42l51-i2c-objs := cs42l51-i2c.o
snd-soc-cs42l52-objs := cs42l52.o
@@ -263,6 +264,7 @@ obj-$(CONFIG_SND_SOC_BT_SCO) += snd-soc-bt-sco.o
obj-$(CONFIG_SND_SOC_CQ0093VC) += snd-soc-cq93vc.o
obj-$(CONFIG_SND_SOC_CS35L32)	+= snd-soc-cs35l32.o
obj-$(CONFIG_SND_SOC_CS35L33)	+= snd-soc-cs35l33.o
obj-$(CONFIG_SND_SOC_CS35L34)	+= snd-soc-cs35l34.o
obj-$(CONFIG_SND_SOC_CS42L51)	+= snd-soc-cs42l51.o
obj-$(CONFIG_SND_SOC_CS42L51_I2C)	+= snd-soc-cs42l51-i2c.o
obj-$(CONFIG_SND_SOC_CS42L52)	+= snd-soc-cs42l52.o