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

Commit b03a1c70 authored by Mark Brown's avatar Mark Brown
Browse files

Merge remote-tracking branches 'asoc/topic/ad1980', 'asoc/topic/adsp',...

Merge remote-tracking branches 'asoc/topic/ad1980', 'asoc/topic/adsp', 'asoc/topic/ak4104', 'asoc/topic/ak4642', 'asoc/topic/alc5623', 'asoc/topic/arizona', 'asoc/topic/atmel' and 'asoc/topic/cache' into asoc-next
Loading
+3 −0
Original line number Diff line number Diff line
@@ -8,6 +8,8 @@ Required properties:

  - reg : The chip select number on the SPI bus

  - vdd-supply : A regulator node, providing 2.7V - 3.6V

Optional properties:

  - reset-gpio : a GPIO spec for the reset pin. If specified, it will be
@@ -19,4 +21,5 @@ spdif: ak4104@0 {
	compatible = "asahi-kasei,ak4104";
	reg = <0>;
	spi-max-frequency = <5000000>;
	vdd-supply = <&vdd_3v3_reg>;
};
+25 −0
Original line number Diff line number Diff line
ALC5621/ALC5622/ALC5623 audio Codec

Required properties:

 - compatible:	"realtek,alc5623"
 - reg:		the I2C address of the device.

Optional properties:

 - add-ctrl:	  Default register value for Reg-40h, Additional Control
		  Register. If absent or has the value of 0, the
		  register is untouched.

 - jack-det-ctrl: Default register value for Reg-5Ah, Jack Detect
		  Control Register. If absent or has value 0, the
		  register is untouched.

Example:

	alc5621: alc5621@1a {
		compatible = "alc5621";
		reg = <0x1a>;
		add-ctrl = <0x3700>;
		jack-det-ctrl = <0x4810>;
	};
+1 −1
Original line number Diff line number Diff line
@@ -35,7 +35,7 @@ config SND_AT91_SOC_SAM9G20_WM8731

config SND_ATMEL_SOC_WM8904
	tristate "Atmel ASoC driver for boards using WM8904 codec"
	depends on ARCH_AT91 && ATMEL_SSC && SND_ATMEL_SOC
	depends on ARCH_AT91 && ATMEL_SSC && SND_ATMEL_SOC && I2C
	select SND_ATMEL_SOC_SSC
	select SND_ATMEL_SOC_DMA
	select SND_SOC_WM8904
+1 −1
Original line number Diff line number Diff line
@@ -270,7 +270,7 @@ config SND_SOC_AK5386
	tristate "AKM AK5638 CODEC"

config SND_SOC_ALC5623
       tristate
       tristate "Realtek ALC5623 CODEC"

config SND_SOC_ALC5632
	tristate
+19 −20
Original line number Diff line number Diff line
@@ -189,9 +189,9 @@ static struct snd_soc_dai_driver ad1980_dai = {

static int ad1980_reset(struct snd_soc_codec *codec, int try_warm)
{
	u16 retry_cnt = 0;
	unsigned int retry_cnt = 0;

retry:
	do {
		if (try_warm && soc_ac97_ops->warm_reset) {
			soc_ac97_ops->warm_reset(codec->ac97);
			if (ac97_read(codec, AC97_RESET) == 0x0090)
@@ -199,18 +199,17 @@ static int ad1980_reset(struct snd_soc_codec *codec, int try_warm)
		}

		soc_ac97_ops->reset(codec->ac97);
	/* Set bit 16slot in register 74h, then every slot will has only 16
	 * bits. This command is sent out in 20bit mode, in which case the
	 * first nibble of data is eaten by the addr. (Tag is always 16 bit)*/
		/*
		 * Set bit 16slot in register 74h, then every slot will has only
		 * 16 bits. This command is sent out in 20bit mode, in which
		 * case the first nibble of data is eaten by the addr. (Tag is
		 * always 16 bit)
		 */
		ac97_write(codec, AC97_AD_SERIAL_CFG, 0x9900);

	if (ac97_read(codec, AC97_RESET)  != 0x0090)
		goto err;
		if (ac97_read(codec, AC97_RESET)  == 0x0090)
			return 0;

err:
	while (retry_cnt++ < 10)
		goto retry;
	} while (retry_cnt++ < 10);

	printk(KERN_ERR "AD1980 AC97 reset failed\n");
	return -EIO;
Loading