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

Commit 2016d5ed authored by Mark Brown's avatar Mark Brown
Browse files

Merge remote-tracking branch 'asoc/topic/intel' into asoc-next

parents 05325120 7d3d6e06
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -161,6 +161,8 @@
 *
 * %SKL_TKL_U32_D0I3_CAPS:	Specifies the D0i3 capability for module
 *
 * %SKL_TKN_U32_DMA_BUF_SIZE:	DMA buffer size in millisec
 *
 * module_id and loadable flags dont have tokens as these values will be
 * read from the DSP FW manifest
 */
@@ -213,8 +215,10 @@ enum SKL_TKNS {
	SKL_TKN_U32_LIB_COUNT,
	SKL_TKN_STR_LIB_NAME,
	SKL_TKN_U32_PMODE,
	SKL_TKL_U32_D0I3_CAPS,
	SKL_TKN_MAX = SKL_TKL_U32_D0I3_CAPS,
	SKL_TKL_U32_D0I3_CAPS, /* Typo added at v4.10 */
	SKL_TKN_U32_D0I3_CAPS = SKL_TKL_U32_D0I3_CAPS,
	SKL_TKN_U32_DMA_BUF_SIZE,
	SKL_TKN_MAX = SKL_TKN_U32_DMA_BUF_SIZE,
};

#endif
+9 −0
Original line number Diff line number Diff line
@@ -2848,6 +2848,10 @@ static const struct dmi_system_id dmi_platform_intel_braswell[] = {
			DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad Tablet B"),
		},
	},
	{}
};

static const struct dmi_system_id dmi_platform_intel_bytcht_jdmode2[] = {
	{
		.ident = "Lenovo Thinkpad Tablet 10",
		.matches = {
@@ -2882,6 +2886,11 @@ static int rt5670_i2c_probe(struct i2c_client *i2c,
		rt5670->pdata.dmic1_data_pin = RT5670_DMIC_DATA_IN2P;
		rt5670->pdata.dev_gpio = true;
		rt5670->pdata.jd_mode = 1;
	} else if (dmi_check_system(dmi_platform_intel_bytcht_jdmode2)) {
		rt5670->pdata.dmic_en = true;
		rt5670->pdata.dmic1_data_pin = RT5670_DMIC_DATA_IN2P;
		rt5670->pdata.dev_gpio = true;
		rt5670->pdata.jd_mode = 2;
	}

	rt5670->regmap = devm_regmap_init_i2c(i2c, &rt5670_regmap);
+7 −25
Original line number Diff line number Diff line
@@ -41,15 +41,6 @@

#define RT5677_PR_BASE (RT5677_PR_RANGE_BASE + (0 * RT5677_PR_SPACING))

/* GPIO indexes defined by ACPI */
enum {
	RT5677_GPIO_PLUG_DET		= 0,
	RT5677_GPIO_MIC_PRESENT_L	= 1,
	RT5677_GPIO_HOTWORD_DET_L	= 2,
	RT5677_GPIO_DSP_INT		= 3,
	RT5677_GPIO_HP_AMP_SHDN_L	= 4,
};

static const struct regmap_range_cfg rt5677_ranges[] = {
	{
		.name = "PR",
@@ -5030,7 +5021,6 @@ static const struct regmap_config rt5677_regmap = {
static const struct i2c_device_id rt5677_i2c_id[] = {
	{ "rt5677", RT5677 },
	{ "rt5676", RT5676 },
	{ "RT5677CE:00", RT5677 },
	{ }
};
MODULE_DEVICE_TABLE(i2c, rt5677_i2c_id);
@@ -5041,28 +5031,19 @@ static const struct of_device_id rt5677_of_match[] = {
};
MODULE_DEVICE_TABLE(of, rt5677_of_match);

static const struct acpi_gpio_params plug_det_gpio = { RT5677_GPIO_PLUG_DET, 0, false };
static const struct acpi_gpio_params mic_present_gpio = { RT5677_GPIO_MIC_PRESENT_L, 0, false };
static const struct acpi_gpio_params headphone_enable_gpio = { RT5677_GPIO_HP_AMP_SHDN_L, 0, false };

static const struct acpi_gpio_mapping bdw_rt5677_gpios[] = {
	{ "plug-det-gpios", &plug_det_gpio, 1 },
	{ "mic-present-gpios", &mic_present_gpio, 1 },
	{ "headphone-enable-gpios", &headphone_enable_gpio, 1 },
	{ NULL },
#ifdef CONFIG_ACPI
static const struct acpi_device_id rt5677_acpi_match[] = {
	{ "RT5677CE", RT5677 },
	{ }
};
MODULE_DEVICE_TABLE(acpi, rt5677_acpi_match);
#endif

static void rt5677_read_acpi_properties(struct rt5677_priv *rt5677,
		struct device *dev)
{
	int ret;
	u32 val;

	ret = acpi_dev_add_driver_gpios(ACPI_COMPANION(dev),
			bdw_rt5677_gpios);
	if (ret)
		dev_warn(dev, "Failed to add driver gpios\n");

	if (!device_property_read_u32(dev, "DCLK", &val))
		rt5677->pdata.dmic2_clk_pin = val;

@@ -5301,6 +5282,7 @@ static struct i2c_driver rt5677_i2c_driver = {
	.driver = {
		.name = "rt5677",
		.of_match_table = rt5677_of_match,
		.acpi_match_table = ACPI_PTR(rt5677_acpi_match),
	},
	.probe = rt5677_i2c_probe,
	.remove   = rt5677_i2c_remove,
+42 −0
Original line number Diff line number Diff line
@@ -214,6 +214,18 @@ config SND_SOC_INTEL_BYT_CHT_DA7213_MACH
	  platforms with DA7212/7213 audio codec.
	  If unsure select "N".

config SND_SOC_INTEL_BYT_CHT_ES8316_MACH
	tristate "ASoC Audio driver for Intel Baytrail & Cherrytrail with ES8316 codec"
	depends on X86_INTEL_LPSS && I2C && ACPI
	select SND_SOC_ES8316
	select SND_SST_ATOM_HIFI2_PLATFORM
	select SND_SST_IPC_ACPI
	select SND_SOC_INTEL_SST_MATCH if ACPI
	help
	  This adds support for ASoC machine driver for Intel(R) Baytrail &
	  Cherrytrail platforms with ES8316 audio codec.
	  If unsure select "N".

config SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH
	tristate "ASoC Audio driver for Intel Baytrail & Cherrytrail platform with no codec (MinnowBoard MAX, Up)"
	depends on X86_INTEL_LPSS && I2C && ACPI
@@ -226,6 +238,36 @@ config SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH
	  connector
	  If unsure select "N".

config SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH
	tristate "ASoC Audio driver for KBL with RT5663 and MAX98927 in I2S Mode"
	depends on X86_INTEL_LPSS && I2C
	select SND_SOC_INTEL_SST
	select SND_SOC_INTEL_SKYLAKE
	select SND_SOC_RT5663
	select SND_SOC_MAX98927
	select SND_SOC_DMIC
	select SND_SOC_HDAC_HDMI
	help
	  This adds support for ASoC Onboard Codec I2S machine driver. This will
	  create an alsa sound card for RT5663 + MAX98927.
	  Say Y if you have such a device.
	  If unsure select "N".

config SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH
        tristate "ASoC Audio driver for KBL with RT5663, RT5514 and MAX98927 in I2S Mode"
        depends on X86_INTEL_LPSS && I2C
        select SND_SOC_INTEL_SST
        select SND_SOC_INTEL_SKYLAKE
        select SND_SOC_RT5663
        select SND_SOC_RT5514
        select SND_SOC_MAX98927
        select SND_SOC_HDAC_HDMI
        help
          This adds support for ASoC Onboard Codec I2S machine driver. This will
          create an alsa sound card for RT5663 + RT5514 + MAX98927.
          Say Y if you have such a device.
          If unsure select "N".

config SND_SOC_INTEL_SKYLAKE
	tristate
	select SND_HDA_EXT_CORE
+1 −1
Original line number Diff line number Diff line
@@ -690,7 +690,7 @@ static int sst_pcm_new(struct snd_soc_pcm_runtime *rtd)
			snd_dma_continuous_data(GFP_DMA),
			SST_MIN_BUFFER, SST_MAX_BUFFER);
		if (retval) {
			dev_err(rtd->dev, "dma buffer allocationf fail\n");
			dev_err(rtd->dev, "dma buffer allocation failure\n");
			return retval;
		}
	}
Loading