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

Commit 7034ef5f authored by Mark Brown's avatar Mark Brown
Browse files

Merge remote-tracking branches 'asoc/topic/atmel-classd' and 'asoc/topic/da7213' into asoc-next

Loading
Loading
Loading
Loading
+52 −0
Original line number Diff line number Diff line
* Atmel ClassD driver under ALSA SoC architecture

Required properties:
- compatible
	Should be "atmel,sama5d2-classd".
- reg
	Should contain ClassD registers location and length.
- interrupts
	Should contain the IRQ line for the ClassD.
- dmas
	One DMA specifiers as described in atmel-dma.txt and dma.txt files.
- dma-names
	Must be "tx".
- clock-names
	Tuple listing input clock names.
	Required elements: "pclk", "gclk" and "aclk".
- clocks
	Please refer to clock-bindings.txt.

Optional properties:
- pinctrl-names, pinctrl-0
	Please refer to pinctrl-bindings.txt.
- atmel,model
	The user-visible name of this sound complex.
	The default value is "CLASSD".
- atmel,pwm-type
	PWM modulation type, "single" or "diff".
	The default value is "single".
- atmel,non-overlap-time
	Set non-overlapping time, the unit is nanosecond(ns).
	There are four values,
	<5>, <10>, <15>, <20>, the default value is <10>.
	Non-overlapping will be disabled if not specified.

Example:
classd: classd@fc048000 {
		compatible = "atmel,sama5d2-classd";
		reg = <0xfc048000 0x100>;
		interrupts = <59 IRQ_TYPE_LEVEL_HIGH 7>;
		dmas = <&dma0
			(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
			| AT91_XDMAC_DT_PERID(47))>;
		dma-names = "tx";
		clocks = <&classd_clk>, <&classd_gclk>, <&audio_pll_pmc>;
		clock-names = "pclk", "gclk", "aclk";

		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_classd_default>;
		atmel,model = "classd @ SAMA5D2-Xplained";
		atmel,pwm-type = "diff";
		atmel,non-overlap-time = <10>;
};
+41 −0
Original line number Diff line number Diff line
Dialog Semiconductor DA7213 Audio Codec bindings

======

Required properties:
- compatible : Should be "dlg,da7213"
- reg: Specifies the I2C slave address

Optional properties:
- clocks : phandle and clock specifier for codec MCLK.
- clock-names : Clock name string for 'clocks' attribute, should be "mclk".

- dlg,micbias1-lvl : Voltage (mV) for Mic Bias 1
	[<1600>, <2200>, <2500>, <3000>]
- dlg,micbias2-lvl : Voltage (mV) for Mic Bias 2
	[<1600>, <2200>, <2500>, <3000>]
- dlg,dmic-data-sel : DMIC channel select based on clock edge.
	["lrise_rfall", "lfall_rrise"]
- dlg,dmic-samplephase : When to sample audio from DMIC.
	["on_clkedge", "between_clkedge"]
- dlg,dmic-clkrate : DMIC clock frequency (Hz).
	[<1500000>, <3000000>]

======

Example:

	codec_i2c: da7213@1a {
		compatible = "dlg,da7213";
 		reg = <0x1a>;

 		clocks = <&clks 201>;
		clock-names = "mclk";

		dlg,micbias1-lvl = <2500>;
		dlg,micbias2-lvl = <2500>;

		dlg,dmic-data-sel = "lrise_rfall";
		dlg,dmic-samplephase = "between_clkedge";
		dlg,dmic-clkrate = <3000000>;
	};
+0 −3
Original line number Diff line number Diff line
@@ -44,9 +44,6 @@ struct da7213_platform_data {
	enum da7213_dmic_data_sel dmic_data_sel;
	enum da7213_dmic_samplephase dmic_samplephase;
	enum da7213_dmic_clk_rate dmic_clk_rate;

	/* MCLK squaring config */
	bool mclk_squaring;
};

#endif /* _DA7213_PDATA_H */
+9 −0
Original line number Diff line number Diff line
@@ -59,4 +59,13 @@ config SND_AT91_SOC_SAM9X5_WM8731
	help
	  Say Y if you want to add support for audio SoC on an
	  at91sam9x5 based board that is using WM8731 codec.

config SND_ATMEL_SOC_CLASSD
	tristate "Atmel ASoC driver for boards using CLASSD"
	depends on ARCH_AT91 || COMPILE_TEST
	select SND_ATMEL_SOC_DMA
	select REGMAP_MMIO
	help
	  Say Y if you want to add support for Atmel ASoC driver for boards using
	  CLASSD.
endif
+2 −0
Original line number Diff line number Diff line
@@ -11,7 +11,9 @@ obj-$(CONFIG_SND_ATMEL_SOC_SSC) += snd-soc-atmel_ssc_dai.o
snd-soc-sam9g20-wm8731-objs := sam9g20_wm8731.o
snd-atmel-soc-wm8904-objs := atmel_wm8904.o
snd-soc-sam9x5-wm8731-objs := sam9x5_wm8731.o
snd-atmel-soc-classd-objs := atmel-classd.o

obj-$(CONFIG_SND_AT91_SOC_SAM9G20_WM8731) += snd-soc-sam9g20-wm8731.o
obj-$(CONFIG_SND_ATMEL_SOC_WM8904) += snd-atmel-soc-wm8904.o
obj-$(CONFIG_SND_AT91_SOC_SAM9X5_WM8731) += snd-soc-sam9x5-wm8731.o
obj-$(CONFIG_SND_ATMEL_SOC_CLASSD) += snd-atmel-soc-classd.o
Loading