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

Unverified Commit 668f21b1 authored by Mark Brown's avatar Mark Brown
Browse files

Merge remote-tracking branches 'asoc/topic/samsung', 'asoc/topic/sgtl5000',...

Merge remote-tracking branches 'asoc/topic/samsung', 'asoc/topic/sgtl5000', 'asoc/topic/stm32', 'asoc/topic/sunxi' and 'asoc/topic/tas571x' into asoc-next
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@ VDDIO 1.8V 2.5V 3.3V

Example:

codec: sgtl5000@0a {
codec: sgtl5000@a {
	compatible = "fsl,sgtl5000";
	reg = <0x0a>;
	clocks = <&clks 150>;
+11 −3
Original line number Diff line number Diff line
@@ -10,13 +10,21 @@ Required properties:
  - reg: Base address and size of SAI common register set.
  - clocks: Must contain phandle and clock specifier pairs for each entry
	in clock-names.
  - clock-names: Must contain "x8k" and "x11k"
  - clock-names: Must contain "pclk" "x8k" and "x11k"
	"pclk": Clock which feeds the peripheral bus interface.
	        Mandatory for "st,stm32h7-sai" compatible.
	        Not used for "st,stm32f4-sai" compatible.
	"x8k": SAI parent clock for sampling rates multiple of 8kHz.
	"x11k": SAI parent clock for sampling rates multiple of 11.025kHz.
  - interrupts: cpu DAI interrupt line shared by SAI sub-blocks

Optional properties:
  - resets: Reference to a reset controller asserting the SAI
  - st,sync: specify synchronization mode.
	By default SAI sub-block is in asynchronous mode.
	This property sets SAI sub-block as slave of another SAI sub-block.
	Must contain the phandle and index of the sai sub-block providing
	the synchronization.

SAI subnodes:
Two subnodes corresponding to SAI sub-block instances A et B can be defined.
@@ -52,8 +60,8 @@ sai1: sai1@40015800 {
	#size-cells = <1>;
	ranges = <0 0x40015800 0x400>;
	reg = <0x40015800 0x4>;
	clocks = <&rcc PLL1_Q>, <&rcc PLL2_P>;
	clock-names = "x8k", "x11k";
	clocks = <&rcc SAI1_CK>, <&rcc PLL1_Q>, <&rcc PLL2_P>;
	clock-names = "pclk", "x8k", "x11k";
	interrupts = <87>;

	sai1a: audio-controller@40015804 {
+2 −1
Original line number Diff line number Diff line
@@ -697,7 +697,8 @@ static int tas571x_i2c_probe(struct i2c_client *client,
		return PTR_ERR(priv->mclk);
	}

	BUG_ON(priv->chip->num_supply_names > TAS571X_MAX_SUPPLIES);
	if (WARN_ON(priv->chip->num_supply_names > TAS571X_MAX_SUPPLIES))
		return -EINVAL;
	for (i = 0; i < priv->chip->num_supply_names; i++)
		priv->supplies[i].supply = priv->chip->supply_names[i];

+4 −0
Original line number Diff line number Diff line
@@ -1099,6 +1099,7 @@ static struct i2s_dai *i2s_alloc_dai(struct platform_device *pdev,
	i2s->pdev = pdev;
	i2s->pri_dai = NULL;
	i2s->sec_dai = NULL;
	i2s->i2s_dai_drv.id = 1;
	i2s->i2s_dai_drv.symmetric_rates = 1;
	i2s->i2s_dai_drv.probe = samsung_i2s_dai_probe;
	i2s->i2s_dai_drv.remove = samsung_i2s_dai_remove;
@@ -1111,10 +1112,13 @@ static struct i2s_dai *i2s_alloc_dai(struct platform_device *pdev,
	i2s->i2s_dai_drv.playback.formats = SAMSUNG_I2S_FMTS;

	if (!sec) {
		i2s->i2s_dai_drv.name = SAMSUNG_I2S_DAI;
		i2s->i2s_dai_drv.capture.channels_min = 1;
		i2s->i2s_dai_drv.capture.channels_max = 2;
		i2s->i2s_dai_drv.capture.rates = i2s_dai_data->pcm_rates;
		i2s->i2s_dai_drv.capture.formats = SAMSUNG_I2S_FMTS;
	} else {
		i2s->i2s_dai_drv.name = SAMSUNG_I2S_DAI_SEC;
	}
	return i2s;
}
+3 −0
Original line number Diff line number Diff line
@@ -13,6 +13,9 @@
#ifndef __SND_SOC_SAMSUNG_I2S_H
#define __SND_SOC_SAMSUNG_I2S_H

#define SAMSUNG_I2S_DAI        "samsung-i2s"
#define SAMSUNG_I2S_DAI_SEC    "samsung-i2s-sec"

#define SAMSUNG_I2S_DIV_BCLK	1

#define SAMSUNG_I2S_RCLKSRC_0	0
Loading