* [PATCH 0/4] *** SUBJECT HERE ***
@ 2013-11-19 16:03 Charles Keepax
2013-11-19 16:03 ` [PATCH 1/4] mfd: wm5110: Make DSP memories readable Charles Keepax
` (3 more replies)
0 siblings, 4 replies; 16+ messages in thread
From: Charles Keepax @ 2013-11-19 16:03 UTC (permalink / raw)
To: broonie, lee.jones; +Cc: lgirdwood, sameo, patches, alsa-devel, linux-kernel
Hi,
Small patch series adding some missing functionality on
the WM5110. Given most of the changes are in ASoC I have
generated the patches against Mark's tree but let me know
if we want to push them through MFD instead and I can
regenerate, but I suspect they will cause less conflicts
going through ASoC.
Thanks,
Charles
Charles Keepax (3):
mfd: wm5110: Make DSP memories readable
ASoC: wm5110: Add basic support for ISRCs
ASoC: wm5110: Expose input high pass filter controls
Mark Brown (1):
ASoC: wm5110: Hook up ADSP2 cores
drivers/mfd/wm5110-tables.c | 73 +++++++-
include/linux/mfd/arizona/registers.h | 37 ++++
sound/soc/codecs/Kconfig | 2 +
sound/soc/codecs/arizona.c | 10 +
sound/soc/codecs/arizona.h | 1 +
sound/soc/codecs/wm5110.c | 316 ++++++++++++++++++++++++++++++++-
6 files changed, 433 insertions(+), 6 deletions(-)
--
1.7.2.5
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 1/4] mfd: wm5110: Make DSP memories readable
2013-11-19 16:03 [PATCH 0/4] *** SUBJECT HERE *** Charles Keepax
@ 2013-11-19 16:03 ` Charles Keepax
2013-11-19 16:03 ` [PATCH 2/4] ASoC: wm5110: Hook up ADSP2 cores Charles Keepax
` (2 subsequent siblings)
3 siblings, 0 replies; 16+ messages in thread
From: Charles Keepax @ 2013-11-19 16:03 UTC (permalink / raw)
To: broonie, lee.jones; +Cc: lgirdwood, sameo, patches, alsa-devel, linux-kernel
Expose the memory regions used by the DSP cores on WM5110 as readable
and volatile.
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
---
drivers/mfd/wm5110-tables.c | 69 ++++++++++++++++++++++++++++++++++++++++--
1 files changed, 65 insertions(+), 4 deletions(-)
diff --git a/drivers/mfd/wm5110-tables.c b/drivers/mfd/wm5110-tables.c
index 3113e39..4430404 100644
--- a/drivers/mfd/wm5110-tables.c
+++ b/drivers/mfd/wm5110-tables.c
@@ -14,6 +14,7 @@
#include <linux/mfd/arizona/core.h>
#include <linux/mfd/arizona/registers.h>
+#include <linux/device.h>
#include "arizona.h"
@@ -1336,6 +1337,64 @@ static const struct reg_default wm5110_reg_default[] = {
{ 0x00001404, 0x0000 }, /* R5124 - DSP4 Status 1 */
};
+static bool wm5110_is_rev_b_adsp_memory(unsigned int reg)
+{
+ if ((reg >= 0x100000 && reg < 0x103000) ||
+ (reg >= 0x180000 && reg < 0x181000) ||
+ (reg >= 0x190000 && reg < 0x192000) ||
+ (reg >= 0x1a8000 && reg < 0x1a9000) ||
+ (reg >= 0x200000 && reg < 0x209000) ||
+ (reg >= 0x280000 && reg < 0x281000) ||
+ (reg >= 0x290000 && reg < 0x29a000) ||
+ (reg >= 0x2a8000 && reg < 0x2aa000) ||
+ (reg >= 0x300000 && reg < 0x30f000) ||
+ (reg >= 0x380000 && reg < 0x382000) ||
+ (reg >= 0x390000 && reg < 0x39e000) ||
+ (reg >= 0x3a8000 && reg < 0x3b6000) ||
+ (reg >= 0x400000 && reg < 0x403000) ||
+ (reg >= 0x480000 && reg < 0x481000) ||
+ (reg >= 0x490000 && reg < 0x492000) ||
+ (reg >= 0x4a8000 && reg < 0x4a9000))
+ return true;
+ else
+ return false;
+}
+
+static bool wm5110_is_rev_d_adsp_memory(unsigned int reg)
+{
+ if ((reg >= 0x100000 && reg < 0x106000) ||
+ (reg >= 0x180000 && reg < 0x182000) ||
+ (reg >= 0x190000 && reg < 0x198000) ||
+ (reg >= 0x1a8000 && reg < 0x1aa000) ||
+ (reg >= 0x200000 && reg < 0x20f000) ||
+ (reg >= 0x280000 && reg < 0x282000) ||
+ (reg >= 0x290000 && reg < 0x29c000) ||
+ (reg >= 0x2a6000 && reg < 0x2b4000) ||
+ (reg >= 0x300000 && reg < 0x30f000) ||
+ (reg >= 0x380000 && reg < 0x382000) ||
+ (reg >= 0x390000 && reg < 0x3a2000) ||
+ (reg >= 0x3a6000 && reg < 0x3b4000) ||
+ (reg >= 0x400000 && reg < 0x406000) ||
+ (reg >= 0x480000 && reg < 0x482000) ||
+ (reg >= 0x490000 && reg < 0x498000) ||
+ (reg >= 0x4a8000 && reg < 0x4aa000))
+ return true;
+ else
+ return false;
+}
+
+static bool wm5110_is_adsp_memory(struct device *dev, unsigned int reg)
+{
+ struct arizona *arizona = dev_get_drvdata(dev);
+
+ switch (arizona->rev) {
+ case 0 ... 2:
+ return wm5110_is_rev_b_adsp_memory(reg);
+ default:
+ return wm5110_is_rev_d_adsp_memory(reg);
+ }
+}
+
static bool wm5110_readable_register(struct device *dev, unsigned int reg)
{
switch (reg) {
@@ -2308,7 +2367,7 @@ static bool wm5110_readable_register(struct device *dev, unsigned int reg)
case ARIZONA_DSP4_STATUS_3:
return true;
default:
- return false;
+ return wm5110_is_adsp_memory(dev, reg);
}
}
@@ -2368,16 +2427,18 @@ static bool wm5110_volatile_register(struct device *dev, unsigned int reg)
case ARIZONA_DSP4_STATUS_3:
return true;
default:
- return false;
+ return wm5110_is_adsp_memory(dev, reg);
}
}
+#define WM5110_MAX_REGISTER 0x4a9fff
+
const struct regmap_config wm5110_spi_regmap = {
.reg_bits = 32,
.pad_bits = 16,
.val_bits = 16,
- .max_register = ARIZONA_DSP1_STATUS_2,
+ .max_register = WM5110_MAX_REGISTER,
.readable_reg = wm5110_readable_register,
.volatile_reg = wm5110_volatile_register,
@@ -2391,7 +2452,7 @@ const struct regmap_config wm5110_i2c_regmap = {
.reg_bits = 32,
.val_bits = 16,
- .max_register = ARIZONA_DSP1_STATUS_2,
+ .max_register = WM5110_MAX_REGISTER,
.readable_reg = wm5110_readable_register,
.volatile_reg = wm5110_volatile_register,
--
1.7.2.5
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 2/4] ASoC: wm5110: Hook up ADSP2 cores
2013-11-19 16:03 [PATCH 0/4] *** SUBJECT HERE *** Charles Keepax
2013-11-19 16:03 ` [PATCH 1/4] mfd: wm5110: Make DSP memories readable Charles Keepax
@ 2013-11-19 16:03 ` Charles Keepax
2013-11-19 16:03 ` [PATCH 3/4] ASoC: wm5110: Add basic support for ISRCs Charles Keepax
2013-11-19 16:03 ` [PATCH 4/4] ASoC: wm5110: Expose input high pass filter controls Charles Keepax
3 siblings, 0 replies; 16+ messages in thread
From: Charles Keepax @ 2013-11-19 16:03 UTC (permalink / raw)
To: broonie, lee.jones; +Cc: lgirdwood, sameo, patches, alsa-devel, linux-kernel
From: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
---
sound/soc/codecs/Kconfig | 2 +
sound/soc/codecs/wm5110.c | 119 ++++++++++++++++++++++++++++++++++++++++++++-
2 files changed, 119 insertions(+), 2 deletions(-)
diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
index b33b45d..983d087a 100644
--- a/sound/soc/codecs/Kconfig
+++ b/sound/soc/codecs/Kconfig
@@ -163,8 +163,10 @@ config SND_SOC_WM_HUBS
config SND_SOC_WM_ADSP
tristate
default y if SND_SOC_WM5102=y
+ default y if SND_SOC_WM5110=y
default y if SND_SOC_WM2200=y
default m if SND_SOC_WM5102=m
+ default m if SND_SOC_WM5110=m
default m if SND_SOC_WM2200=m
config SND_SOC_AB8500_CODEC
diff --git a/sound/soc/codecs/wm5110.c b/sound/soc/codecs/wm5110.c
index c3c7396..d5ecdd2 100644
--- a/sound/soc/codecs/wm5110.c
+++ b/sound/soc/codecs/wm5110.c
@@ -30,13 +30,51 @@
#include <linux/mfd/arizona/registers.h>
#include "arizona.h"
+#include "wm_adsp.h"
#include "wm5110.h"
+#define WM5110_NUM_ADSP 4
+
struct wm5110_priv {
struct arizona_priv core;
struct arizona_fll fll[2];
};
+static const struct wm_adsp_region wm5110_dsp1_regions[] = {
+ { .type = WMFW_ADSP2_PM, .base = 0x100000 },
+ { .type = WMFW_ADSP2_ZM, .base = 0x180000 },
+ { .type = WMFW_ADSP2_XM, .base = 0x190000 },
+ { .type = WMFW_ADSP2_YM, .base = 0x1a8000 },
+};
+
+static const struct wm_adsp_region wm5110_dsp2_regions[] = {
+ { .type = WMFW_ADSP2_PM, .base = 0x200000 },
+ { .type = WMFW_ADSP2_ZM, .base = 0x280000 },
+ { .type = WMFW_ADSP2_XM, .base = 0x290000 },
+ { .type = WMFW_ADSP2_YM, .base = 0x2a8000 },
+};
+
+static const struct wm_adsp_region wm5110_dsp3_regions[] = {
+ { .type = WMFW_ADSP2_PM, .base = 0x300000 },
+ { .type = WMFW_ADSP2_ZM, .base = 0x380000 },
+ { .type = WMFW_ADSP2_XM, .base = 0x390000 },
+ { .type = WMFW_ADSP2_YM, .base = 0x3a8000 },
+};
+
+static const struct wm_adsp_region wm5110_dsp4_regions[] = {
+ { .type = WMFW_ADSP2_PM, .base = 0x400000 },
+ { .type = WMFW_ADSP2_ZM, .base = 0x480000 },
+ { .type = WMFW_ADSP2_XM, .base = 0x490000 },
+ { .type = WMFW_ADSP2_YM, .base = 0x4a8000 },
+};
+
+static const struct wm_adsp_region *wm5110_dsp_regions[] = {
+ wm5110_dsp1_regions,
+ wm5110_dsp2_regions,
+ wm5110_dsp3_regions,
+ wm5110_dsp4_regions,
+};
+
static const struct reg_default wm5110_sysclk_revd_patch[] = {
{ 0x3093, 0x1001 },
{ 0x30E3, 0x1301 },
@@ -372,6 +410,22 @@ ARIZONA_MIXER_ENUMS(LHPF2, ARIZONA_HPLP2MIX_INPUT_1_SOURCE);
ARIZONA_MIXER_ENUMS(LHPF3, ARIZONA_HPLP3MIX_INPUT_1_SOURCE);
ARIZONA_MIXER_ENUMS(LHPF4, ARIZONA_HPLP4MIX_INPUT_1_SOURCE);
+ARIZONA_MIXER_ENUMS(DSP1L, ARIZONA_DSP1LMIX_INPUT_1_SOURCE);
+ARIZONA_MIXER_ENUMS(DSP1R, ARIZONA_DSP1RMIX_INPUT_1_SOURCE);
+ARIZONA_DSP_AUX_ENUMS(DSP1, ARIZONA_DSP1AUX1MIX_INPUT_1_SOURCE);
+
+ARIZONA_MIXER_ENUMS(DSP2L, ARIZONA_DSP2LMIX_INPUT_1_SOURCE);
+ARIZONA_MIXER_ENUMS(DSP2R, ARIZONA_DSP2RMIX_INPUT_1_SOURCE);
+ARIZONA_DSP_AUX_ENUMS(DSP2, ARIZONA_DSP2AUX1MIX_INPUT_1_SOURCE);
+
+ARIZONA_MIXER_ENUMS(DSP3L, ARIZONA_DSP3LMIX_INPUT_1_SOURCE);
+ARIZONA_MIXER_ENUMS(DSP3R, ARIZONA_DSP3RMIX_INPUT_1_SOURCE);
+ARIZONA_DSP_AUX_ENUMS(DSP3, ARIZONA_DSP3AUX1MIX_INPUT_1_SOURCE);
+
+ARIZONA_MIXER_ENUMS(DSP4L, ARIZONA_DSP4LMIX_INPUT_1_SOURCE);
+ARIZONA_MIXER_ENUMS(DSP4R, ARIZONA_DSP4RMIX_INPUT_1_SOURCE);
+ARIZONA_DSP_AUX_ENUMS(DSP4, ARIZONA_DSP4AUX1MIX_INPUT_1_SOURCE);
+
ARIZONA_MIXER_ENUMS(Mic, ARIZONA_MICMIX_INPUT_1_SOURCE);
ARIZONA_MIXER_ENUMS(Noise, ARIZONA_NOISEMIX_INPUT_1_SOURCE);
@@ -560,6 +614,11 @@ SND_SOC_DAPM_PGA("ASRC2L", ARIZONA_ASRC_ENABLE, ARIZONA_ASRC2L_ENA_SHIFT, 0,
SND_SOC_DAPM_PGA("ASRC2R", ARIZONA_ASRC_ENABLE, ARIZONA_ASRC2R_ENA_SHIFT, 0,
NULL, 0),
+WM_ADSP2("DSP1", 0),
+WM_ADSP2("DSP2", 1),
+WM_ADSP2("DSP3", 2),
+WM_ADSP2("DSP4", 3),
+
SND_SOC_DAPM_VALUE_MUX("AEC Loopback", ARIZONA_DAC_AEC_CONTROL_1,
ARIZONA_AEC_LOOPBACK_ENA_SHIFT, 0,
&wm5110_aec_loopback_mux),
@@ -762,6 +821,11 @@ ARIZONA_MUX_WIDGETS(ASRC1R, "ASRC1R"),
ARIZONA_MUX_WIDGETS(ASRC2L, "ASRC2L"),
ARIZONA_MUX_WIDGETS(ASRC2R, "ASRC2R"),
+ARIZONA_DSP_WIDGETS(DSP1, "DSP1"),
+ARIZONA_DSP_WIDGETS(DSP2, "DSP2"),
+ARIZONA_DSP_WIDGETS(DSP3, "DSP3"),
+ARIZONA_DSP_WIDGETS(DSP4, "DSP4"),
+
SND_SOC_DAPM_OUTPUT("HPOUT1L"),
SND_SOC_DAPM_OUTPUT("HPOUT1R"),
SND_SOC_DAPM_OUTPUT("HPOUT2L"),
@@ -830,7 +894,31 @@ SND_SOC_DAPM_OUTPUT("MICSUPP"),
{ name, "ASRC1L", "ASRC1L" }, \
{ name, "ASRC1R", "ASRC1R" }, \
{ name, "ASRC2L", "ASRC2L" }, \
- { name, "ASRC2R", "ASRC2R" }
+ { name, "ASRC2R", "ASRC2R" }, \
+ { name, "DSP1.1", "DSP1" }, \
+ { name, "DSP1.2", "DSP1" }, \
+ { name, "DSP1.3", "DSP1" }, \
+ { name, "DSP1.4", "DSP1" }, \
+ { name, "DSP1.5", "DSP1" }, \
+ { name, "DSP1.6", "DSP1" }, \
+ { name, "DSP2.1", "DSP2" }, \
+ { name, "DSP2.2", "DSP2" }, \
+ { name, "DSP2.3", "DSP2" }, \
+ { name, "DSP2.4", "DSP2" }, \
+ { name, "DSP2.5", "DSP2" }, \
+ { name, "DSP2.6", "DSP2" }, \
+ { name, "DSP3.1", "DSP3" }, \
+ { name, "DSP3.2", "DSP3" }, \
+ { name, "DSP3.3", "DSP3" }, \
+ { name, "DSP3.4", "DSP3" }, \
+ { name, "DSP3.5", "DSP3" }, \
+ { name, "DSP3.6", "DSP3" }, \
+ { name, "DSP4.1", "DSP4" }, \
+ { name, "DSP4.2", "DSP4" }, \
+ { name, "DSP4.3", "DSP4" }, \
+ { name, "DSP4.4", "DSP4" }, \
+ { name, "DSP4.5", "DSP4" }, \
+ { name, "DSP4.6", "DSP4" }
static const struct snd_soc_dapm_route wm5110_dapm_routes[] = {
{ "AIF2 Capture", NULL, "DBVDD2" },
@@ -1024,6 +1112,11 @@ static const struct snd_soc_dapm_route wm5110_dapm_routes[] = {
ARIZONA_MUX_ROUTES("ASRC2L", "ASRC2L"),
ARIZONA_MUX_ROUTES("ASRC2R", "ASRC2R"),
+ ARIZONA_DSP_ROUTES("DSP1"),
+ ARIZONA_DSP_ROUTES("DSP2"),
+ ARIZONA_DSP_ROUTES("DSP3"),
+ ARIZONA_DSP_ROUTES("DSP4"),
+
{ "AEC Loopback", "HPOUT1L", "OUT1L" },
{ "AEC Loopback", "HPOUT1R", "OUT1R" },
{ "HPOUT1L", NULL, "OUT1L" },
@@ -1229,6 +1322,10 @@ static int wm5110_codec_probe(struct snd_soc_codec *codec)
arizona_init_spk(codec);
arizona_init_gpio(codec);
+ ret = snd_soc_add_codec_controls(codec, wm_adsp2_fw_controls, 8);
+ if (ret != 0)
+ return ret;
+
snd_soc_dapm_disable_pin(&codec->dapm, "HAPTICS");
priv->core.arizona->dapm = &codec->dapm;
@@ -1283,7 +1380,7 @@ static int wm5110_probe(struct platform_device *pdev)
{
struct arizona *arizona = dev_get_drvdata(pdev->dev.parent);
struct wm5110_priv *wm5110;
- int i;
+ int i, ret;
wm5110 = devm_kzalloc(&pdev->dev, sizeof(struct wm5110_priv),
GFP_KERNEL);
@@ -1294,6 +1391,24 @@ static int wm5110_probe(struct platform_device *pdev)
wm5110->core.arizona = arizona;
wm5110->core.num_inputs = 8;
+ for (i = 0; i < WM5110_NUM_ADSP; i++) {
+ wm5110->core.adsp[i].part = "wm5110";
+ wm5110->core.adsp[i].num = i + 1;
+ wm5110->core.adsp[i].type = WMFW_ADSP2;
+ wm5110->core.adsp[i].dev = arizona->dev;
+ wm5110->core.adsp[i].regmap = arizona->regmap;
+
+ wm5110->core.adsp[i].base = ARIZONA_DSP1_CONTROL_1
+ + (0x100 * i);
+ wm5110->core.adsp[i].mem = wm5110_dsp_regions[i];
+ wm5110->core.adsp[i].num_mems
+ = ARRAY_SIZE(wm5110_dsp1_regions);
+
+ ret = wm_adsp2_init(&wm5110->core.adsp[i], false);
+ if (ret != 0)
+ return ret;
+ }
+
for (i = 0; i < ARRAY_SIZE(wm5110->fll); i++)
wm5110->fll[i].vco_mult = 3;
--
1.7.2.5
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 3/4] ASoC: wm5110: Add basic support for ISRCs
2013-11-19 16:03 [PATCH 0/4] *** SUBJECT HERE *** Charles Keepax
2013-11-19 16:03 ` [PATCH 1/4] mfd: wm5110: Make DSP memories readable Charles Keepax
2013-11-19 16:03 ` [PATCH 2/4] ASoC: wm5110: Hook up ADSP2 cores Charles Keepax
@ 2013-11-19 16:03 ` Charles Keepax
2013-11-19 16:03 ` [PATCH 4/4] ASoC: wm5110: Expose input high pass filter controls Charles Keepax
3 siblings, 0 replies; 16+ messages in thread
From: Charles Keepax @ 2013-11-19 16:03 UTC (permalink / raw)
To: broonie, lee.jones; +Cc: lgirdwood, sameo, patches, alsa-devel, linux-kernel
Add support for the ISRCs that matches the current support on the w5102.
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
---
sound/soc/codecs/wm5110.c | 178 +++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 178 insertions(+), 0 deletions(-)
diff --git a/sound/soc/codecs/wm5110.c b/sound/soc/codecs/wm5110.c
index d5ecdd2..c4da1bd 100644
--- a/sound/soc/codecs/wm5110.c
+++ b/sound/soc/codecs/wm5110.c
@@ -258,6 +258,10 @@ SOC_ENUM("LHPF2 Mode", arizona_lhpf2_mode),
SOC_ENUM("LHPF3 Mode", arizona_lhpf3_mode),
SOC_ENUM("LHPF4 Mode", arizona_lhpf4_mode),
+SOC_VALUE_ENUM("ISRC1 FSL", arizona_isrc_fsl[0]),
+SOC_VALUE_ENUM("ISRC2 FSL", arizona_isrc_fsl[1]),
+SOC_VALUE_ENUM("ISRC3 FSL", arizona_isrc_fsl[2]),
+
ARIZONA_MIXER_CONTROLS("DSP1L", ARIZONA_DSP1LMIX_INPUT_1_SOURCE),
ARIZONA_MIXER_CONTROLS("DSP1R", ARIZONA_DSP1RMIX_INPUT_1_SOURCE),
ARIZONA_MIXER_CONTROLS("DSP2L", ARIZONA_DSP2LMIX_INPUT_1_SOURCE),
@@ -474,6 +478,36 @@ ARIZONA_MUX_ENUMS(ASRC1R, ARIZONA_ASRC1RMIX_INPUT_1_SOURCE);
ARIZONA_MUX_ENUMS(ASRC2L, ARIZONA_ASRC2LMIX_INPUT_1_SOURCE);
ARIZONA_MUX_ENUMS(ASRC2R, ARIZONA_ASRC2RMIX_INPUT_1_SOURCE);
+ARIZONA_MUX_ENUMS(ISRC1INT1, ARIZONA_ISRC1INT1MIX_INPUT_1_SOURCE);
+ARIZONA_MUX_ENUMS(ISRC1INT2, ARIZONA_ISRC1INT2MIX_INPUT_1_SOURCE);
+ARIZONA_MUX_ENUMS(ISRC1INT3, ARIZONA_ISRC1INT3MIX_INPUT_1_SOURCE);
+ARIZONA_MUX_ENUMS(ISRC1INT4, ARIZONA_ISRC1INT4MIX_INPUT_1_SOURCE);
+
+ARIZONA_MUX_ENUMS(ISRC1DEC1, ARIZONA_ISRC1DEC1MIX_INPUT_1_SOURCE);
+ARIZONA_MUX_ENUMS(ISRC1DEC2, ARIZONA_ISRC1DEC2MIX_INPUT_1_SOURCE);
+ARIZONA_MUX_ENUMS(ISRC1DEC3, ARIZONA_ISRC1DEC3MIX_INPUT_1_SOURCE);
+ARIZONA_MUX_ENUMS(ISRC1DEC4, ARIZONA_ISRC1DEC4MIX_INPUT_1_SOURCE);
+
+ARIZONA_MUX_ENUMS(ISRC2INT1, ARIZONA_ISRC2INT1MIX_INPUT_1_SOURCE);
+ARIZONA_MUX_ENUMS(ISRC2INT2, ARIZONA_ISRC2INT2MIX_INPUT_1_SOURCE);
+ARIZONA_MUX_ENUMS(ISRC2INT3, ARIZONA_ISRC2INT3MIX_INPUT_1_SOURCE);
+ARIZONA_MUX_ENUMS(ISRC2INT4, ARIZONA_ISRC2INT4MIX_INPUT_1_SOURCE);
+
+ARIZONA_MUX_ENUMS(ISRC2DEC1, ARIZONA_ISRC2DEC1MIX_INPUT_1_SOURCE);
+ARIZONA_MUX_ENUMS(ISRC2DEC2, ARIZONA_ISRC2DEC2MIX_INPUT_1_SOURCE);
+ARIZONA_MUX_ENUMS(ISRC2DEC3, ARIZONA_ISRC2DEC3MIX_INPUT_1_SOURCE);
+ARIZONA_MUX_ENUMS(ISRC2DEC4, ARIZONA_ISRC2DEC4MIX_INPUT_1_SOURCE);
+
+ARIZONA_MUX_ENUMS(ISRC3INT1, ARIZONA_ISRC3INT1MIX_INPUT_1_SOURCE);
+ARIZONA_MUX_ENUMS(ISRC3INT2, ARIZONA_ISRC3INT2MIX_INPUT_1_SOURCE);
+ARIZONA_MUX_ENUMS(ISRC3INT3, ARIZONA_ISRC3INT3MIX_INPUT_1_SOURCE);
+ARIZONA_MUX_ENUMS(ISRC3INT4, ARIZONA_ISRC3INT4MIX_INPUT_1_SOURCE);
+
+ARIZONA_MUX_ENUMS(ISRC3DEC1, ARIZONA_ISRC3DEC1MIX_INPUT_1_SOURCE);
+ARIZONA_MUX_ENUMS(ISRC3DEC2, ARIZONA_ISRC3DEC2MIX_INPUT_1_SOURCE);
+ARIZONA_MUX_ENUMS(ISRC3DEC3, ARIZONA_ISRC3DEC3MIX_INPUT_1_SOURCE);
+ARIZONA_MUX_ENUMS(ISRC3DEC4, ARIZONA_ISRC3DEC4MIX_INPUT_1_SOURCE);
+
static const char *wm5110_aec_loopback_texts[] = {
"HPOUT1L", "HPOUT1R", "HPOUT2L", "HPOUT2R", "HPOUT3L", "HPOUT3R",
"SPKOUTL", "SPKOUTR", "SPKDAT1L", "SPKDAT1R", "SPKDAT2L", "SPKDAT2R",
@@ -619,6 +653,60 @@ WM_ADSP2("DSP2", 1),
WM_ADSP2("DSP3", 2),
WM_ADSP2("DSP4", 3),
+SND_SOC_DAPM_PGA("ISRC1INT1", ARIZONA_ISRC_1_CTRL_3,
+ ARIZONA_ISRC1_INT0_ENA_SHIFT, 0, NULL, 0),
+SND_SOC_DAPM_PGA("ISRC1INT2", ARIZONA_ISRC_1_CTRL_3,
+ ARIZONA_ISRC1_INT1_ENA_SHIFT, 0, NULL, 0),
+SND_SOC_DAPM_PGA("ISRC1INT3", ARIZONA_ISRC_1_CTRL_3,
+ ARIZONA_ISRC1_INT2_ENA_SHIFT, 0, NULL, 0),
+SND_SOC_DAPM_PGA("ISRC1INT4", ARIZONA_ISRC_1_CTRL_3,
+ ARIZONA_ISRC1_INT3_ENA_SHIFT, 0, NULL, 0),
+
+SND_SOC_DAPM_PGA("ISRC1DEC1", ARIZONA_ISRC_1_CTRL_3,
+ ARIZONA_ISRC1_DEC0_ENA_SHIFT, 0, NULL, 0),
+SND_SOC_DAPM_PGA("ISRC1DEC2", ARIZONA_ISRC_1_CTRL_3,
+ ARIZONA_ISRC1_DEC1_ENA_SHIFT, 0, NULL, 0),
+SND_SOC_DAPM_PGA("ISRC1DEC3", ARIZONA_ISRC_1_CTRL_3,
+ ARIZONA_ISRC1_DEC2_ENA_SHIFT, 0, NULL, 0),
+SND_SOC_DAPM_PGA("ISRC1DEC4", ARIZONA_ISRC_1_CTRL_3,
+ ARIZONA_ISRC1_DEC3_ENA_SHIFT, 0, NULL, 0),
+
+SND_SOC_DAPM_PGA("ISRC2INT1", ARIZONA_ISRC_2_CTRL_3,
+ ARIZONA_ISRC2_INT0_ENA_SHIFT, 0, NULL, 0),
+SND_SOC_DAPM_PGA("ISRC2INT2", ARIZONA_ISRC_2_CTRL_3,
+ ARIZONA_ISRC2_INT1_ENA_SHIFT, 0, NULL, 0),
+SND_SOC_DAPM_PGA("ISRC2INT3", ARIZONA_ISRC_2_CTRL_3,
+ ARIZONA_ISRC2_INT2_ENA_SHIFT, 0, NULL, 0),
+SND_SOC_DAPM_PGA("ISRC2INT4", ARIZONA_ISRC_2_CTRL_3,
+ ARIZONA_ISRC2_INT3_ENA_SHIFT, 0, NULL, 0),
+
+SND_SOC_DAPM_PGA("ISRC2DEC1", ARIZONA_ISRC_2_CTRL_3,
+ ARIZONA_ISRC2_DEC0_ENA_SHIFT, 0, NULL, 0),
+SND_SOC_DAPM_PGA("ISRC2DEC2", ARIZONA_ISRC_2_CTRL_3,
+ ARIZONA_ISRC2_DEC1_ENA_SHIFT, 0, NULL, 0),
+SND_SOC_DAPM_PGA("ISRC2DEC3", ARIZONA_ISRC_2_CTRL_3,
+ ARIZONA_ISRC2_DEC2_ENA_SHIFT, 0, NULL, 0),
+SND_SOC_DAPM_PGA("ISRC2DEC4", ARIZONA_ISRC_2_CTRL_3,
+ ARIZONA_ISRC2_DEC3_ENA_SHIFT, 0, NULL, 0),
+
+SND_SOC_DAPM_PGA("ISRC3INT1", ARIZONA_ISRC_3_CTRL_3,
+ ARIZONA_ISRC3_INT0_ENA_SHIFT, 0, NULL, 0),
+SND_SOC_DAPM_PGA("ISRC3INT2", ARIZONA_ISRC_3_CTRL_3,
+ ARIZONA_ISRC3_INT1_ENA_SHIFT, 0, NULL, 0),
+SND_SOC_DAPM_PGA("ISRC3INT3", ARIZONA_ISRC_3_CTRL_3,
+ ARIZONA_ISRC3_INT2_ENA_SHIFT, 0, NULL, 0),
+SND_SOC_DAPM_PGA("ISRC3INT4", ARIZONA_ISRC_3_CTRL_3,
+ ARIZONA_ISRC3_INT3_ENA_SHIFT, 0, NULL, 0),
+
+SND_SOC_DAPM_PGA("ISRC3DEC1", ARIZONA_ISRC_3_CTRL_3,
+ ARIZONA_ISRC3_DEC0_ENA_SHIFT, 0, NULL, 0),
+SND_SOC_DAPM_PGA("ISRC3DEC2", ARIZONA_ISRC_3_CTRL_3,
+ ARIZONA_ISRC3_DEC1_ENA_SHIFT, 0, NULL, 0),
+SND_SOC_DAPM_PGA("ISRC3DEC3", ARIZONA_ISRC_3_CTRL_3,
+ ARIZONA_ISRC3_DEC2_ENA_SHIFT, 0, NULL, 0),
+SND_SOC_DAPM_PGA("ISRC3DEC4", ARIZONA_ISRC_3_CTRL_3,
+ ARIZONA_ISRC3_DEC3_ENA_SHIFT, 0, NULL, 0),
+
SND_SOC_DAPM_VALUE_MUX("AEC Loopback", ARIZONA_DAC_AEC_CONTROL_1,
ARIZONA_AEC_LOOPBACK_ENA_SHIFT, 0,
&wm5110_aec_loopback_mux),
@@ -826,6 +914,36 @@ ARIZONA_DSP_WIDGETS(DSP2, "DSP2"),
ARIZONA_DSP_WIDGETS(DSP3, "DSP3"),
ARIZONA_DSP_WIDGETS(DSP4, "DSP4"),
+ARIZONA_MUX_WIDGETS(ISRC1DEC1, "ISRC1DEC1"),
+ARIZONA_MUX_WIDGETS(ISRC1DEC2, "ISRC1DEC2"),
+ARIZONA_MUX_WIDGETS(ISRC1DEC3, "ISRC1DEC3"),
+ARIZONA_MUX_WIDGETS(ISRC1DEC4, "ISRC1DEC4"),
+
+ARIZONA_MUX_WIDGETS(ISRC1INT1, "ISRC1INT1"),
+ARIZONA_MUX_WIDGETS(ISRC1INT2, "ISRC1INT2"),
+ARIZONA_MUX_WIDGETS(ISRC1INT3, "ISRC1INT3"),
+ARIZONA_MUX_WIDGETS(ISRC1INT4, "ISRC1INT4"),
+
+ARIZONA_MUX_WIDGETS(ISRC2DEC1, "ISRC2DEC1"),
+ARIZONA_MUX_WIDGETS(ISRC2DEC2, "ISRC2DEC2"),
+ARIZONA_MUX_WIDGETS(ISRC2DEC3, "ISRC2DEC3"),
+ARIZONA_MUX_WIDGETS(ISRC2DEC4, "ISRC2DEC4"),
+
+ARIZONA_MUX_WIDGETS(ISRC2INT1, "ISRC2INT1"),
+ARIZONA_MUX_WIDGETS(ISRC2INT2, "ISRC2INT2"),
+ARIZONA_MUX_WIDGETS(ISRC2INT3, "ISRC2INT3"),
+ARIZONA_MUX_WIDGETS(ISRC2INT4, "ISRC2INT4"),
+
+ARIZONA_MUX_WIDGETS(ISRC3DEC1, "ISRC3DEC1"),
+ARIZONA_MUX_WIDGETS(ISRC3DEC2, "ISRC3DEC2"),
+ARIZONA_MUX_WIDGETS(ISRC3DEC3, "ISRC3DEC3"),
+ARIZONA_MUX_WIDGETS(ISRC3DEC4, "ISRC3DEC4"),
+
+ARIZONA_MUX_WIDGETS(ISRC3INT1, "ISRC3INT1"),
+ARIZONA_MUX_WIDGETS(ISRC3INT2, "ISRC3INT2"),
+ARIZONA_MUX_WIDGETS(ISRC3INT3, "ISRC3INT3"),
+ARIZONA_MUX_WIDGETS(ISRC3INT4, "ISRC3INT4"),
+
SND_SOC_DAPM_OUTPUT("HPOUT1L"),
SND_SOC_DAPM_OUTPUT("HPOUT1R"),
SND_SOC_DAPM_OUTPUT("HPOUT2L"),
@@ -895,6 +1013,30 @@ SND_SOC_DAPM_OUTPUT("MICSUPP"),
{ name, "ASRC1R", "ASRC1R" }, \
{ name, "ASRC2L", "ASRC2L" }, \
{ name, "ASRC2R", "ASRC2R" }, \
+ { name, "ISRC1DEC1", "ISRC1DEC1" }, \
+ { name, "ISRC1DEC2", "ISRC1DEC2" }, \
+ { name, "ISRC1DEC3", "ISRC1DEC3" }, \
+ { name, "ISRC1DEC4", "ISRC1DEC4" }, \
+ { name, "ISRC1INT1", "ISRC1INT1" }, \
+ { name, "ISRC1INT2", "ISRC1INT2" }, \
+ { name, "ISRC1INT3", "ISRC1INT3" }, \
+ { name, "ISRC1INT4", "ISRC1INT4" }, \
+ { name, "ISRC2DEC1", "ISRC2DEC1" }, \
+ { name, "ISRC2DEC2", "ISRC2DEC2" }, \
+ { name, "ISRC2DEC3", "ISRC2DEC3" }, \
+ { name, "ISRC2DEC4", "ISRC2DEC4" }, \
+ { name, "ISRC2INT1", "ISRC2INT1" }, \
+ { name, "ISRC2INT2", "ISRC2INT2" }, \
+ { name, "ISRC2INT3", "ISRC2INT3" }, \
+ { name, "ISRC2INT4", "ISRC2INT4" }, \
+ { name, "ISRC3DEC1", "ISRC3DEC1" }, \
+ { name, "ISRC3DEC2", "ISRC3DEC2" }, \
+ { name, "ISRC3DEC3", "ISRC3DEC3" }, \
+ { name, "ISRC3DEC4", "ISRC3DEC4" }, \
+ { name, "ISRC3INT1", "ISRC3INT1" }, \
+ { name, "ISRC3INT2", "ISRC3INT2" }, \
+ { name, "ISRC3INT3", "ISRC3INT3" }, \
+ { name, "ISRC3INT4", "ISRC3INT4" }, \
{ name, "DSP1.1", "DSP1" }, \
{ name, "DSP1.2", "DSP1" }, \
{ name, "DSP1.3", "DSP1" }, \
@@ -1117,6 +1259,36 @@ static const struct snd_soc_dapm_route wm5110_dapm_routes[] = {
ARIZONA_DSP_ROUTES("DSP3"),
ARIZONA_DSP_ROUTES("DSP4"),
+ ARIZONA_MUX_ROUTES("ISRC1INT1", "ISRC1INT1"),
+ ARIZONA_MUX_ROUTES("ISRC1INT2", "ISRC1INT2"),
+ ARIZONA_MUX_ROUTES("ISRC1INT3", "ISRC1INT3"),
+ ARIZONA_MUX_ROUTES("ISRC1INT4", "ISRC1INT4"),
+
+ ARIZONA_MUX_ROUTES("ISRC1DEC1", "ISRC1DEC1"),
+ ARIZONA_MUX_ROUTES("ISRC1DEC2", "ISRC1DEC2"),
+ ARIZONA_MUX_ROUTES("ISRC1DEC3", "ISRC1DEC3"),
+ ARIZONA_MUX_ROUTES("ISRC1DEC4", "ISRC1DEC4"),
+
+ ARIZONA_MUX_ROUTES("ISRC2INT1", "ISRC2INT1"),
+ ARIZONA_MUX_ROUTES("ISRC2INT2", "ISRC2INT2"),
+ ARIZONA_MUX_ROUTES("ISRC2INT3", "ISRC2INT3"),
+ ARIZONA_MUX_ROUTES("ISRC2INT4", "ISRC2INT4"),
+
+ ARIZONA_MUX_ROUTES("ISRC2DEC1", "ISRC2DEC1"),
+ ARIZONA_MUX_ROUTES("ISRC2DEC2", "ISRC2DEC2"),
+ ARIZONA_MUX_ROUTES("ISRC2DEC3", "ISRC2DEC3"),
+ ARIZONA_MUX_ROUTES("ISRC2DEC4", "ISRC2DEC4"),
+
+ ARIZONA_MUX_ROUTES("ISRC3INT1", "ISRC3INT1"),
+ ARIZONA_MUX_ROUTES("ISRC3INT2", "ISRC3INT2"),
+ ARIZONA_MUX_ROUTES("ISRC3INT3", "ISRC3INT3"),
+ ARIZONA_MUX_ROUTES("ISRC3INT4", "ISRC3INT4"),
+
+ ARIZONA_MUX_ROUTES("ISRC3DEC1", "ISRC3DEC1"),
+ ARIZONA_MUX_ROUTES("ISRC3DEC2", "ISRC3DEC2"),
+ ARIZONA_MUX_ROUTES("ISRC3DEC3", "ISRC3DEC3"),
+ ARIZONA_MUX_ROUTES("ISRC3DEC4", "ISRC3DEC4"),
+
{ "AEC Loopback", "HPOUT1L", "OUT1L" },
{ "AEC Loopback", "HPOUT1R", "OUT1R" },
{ "HPOUT1L", NULL, "OUT1L" },
@@ -1419,6 +1591,12 @@ static int wm5110_probe(struct platform_device *pdev)
ARIZONA_IRQ_FLL2_LOCK, ARIZONA_IRQ_FLL2_CLOCK_OK,
&wm5110->fll[1]);
+ /* SR2 fixed at 8kHz, SR3 fixed at 16kHz */
+ regmap_update_bits(arizona->regmap, ARIZONA_SAMPLE_RATE_2,
+ ARIZONA_SAMPLE_RATE_2_MASK, 0x11);
+ regmap_update_bits(arizona->regmap, ARIZONA_SAMPLE_RATE_3,
+ ARIZONA_SAMPLE_RATE_3_MASK, 0x12);
+
for (i = 0; i < ARRAY_SIZE(wm5110_dai); i++)
arizona_init_dai(&wm5110->core, i);
--
1.7.2.5
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [PATCH 4/4] ASoC: wm5110: Expose input high pass filter controls
2013-11-19 16:03 [PATCH 0/4] *** SUBJECT HERE *** Charles Keepax
` (2 preceding siblings ...)
2013-11-19 16:03 ` [PATCH 3/4] ASoC: wm5110: Add basic support for ISRCs Charles Keepax
@ 2013-11-19 16:03 ` Charles Keepax
3 siblings, 0 replies; 16+ messages in thread
From: Charles Keepax @ 2013-11-19 16:03 UTC (permalink / raw)
To: broonie, lee.jones; +Cc: lgirdwood, sameo, patches, alsa-devel, linux-kernel
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
---
drivers/mfd/wm5110-tables.c | 4 +++
include/linux/mfd/arizona/registers.h | 37 +++++++++++++++++++++++++++++++++
sound/soc/codecs/arizona.c | 10 +++++++++
sound/soc/codecs/arizona.h | 1 +
sound/soc/codecs/wm5110.c | 19 +++++++++++++++++
5 files changed, 71 insertions(+), 0 deletions(-)
diff --git a/drivers/mfd/wm5110-tables.c b/drivers/mfd/wm5110-tables.c
index 4430404..3b079f6 100644
--- a/drivers/mfd/wm5110-tables.c
+++ b/drivers/mfd/wm5110-tables.c
@@ -518,6 +518,7 @@ static const struct reg_default wm5110_reg_default[] = {
{ 0x00000300, 0x0000 }, /* R768 - Input Enables */
{ 0x00000308, 0x0000 }, /* R776 - Input Rate */
{ 0x00000309, 0x0022 }, /* R777 - Input Volume Ramp */
+ { 0x0000030C, 0x0002 }, /* R780 - HPF Control */
{ 0x00000310, 0x2080 }, /* R784 - IN1L Control */
{ 0x00000311, 0x0180 }, /* R785 - ADC Digital Volume 1L */
{ 0x00000312, 0x0000 }, /* R786 - DMIC1L Control */
@@ -539,6 +540,7 @@ static const struct reg_default wm5110_reg_default[] = {
{ 0x00000328, 0x2000 }, /* R808 - IN4L Control */
{ 0x00000329, 0x0180 }, /* R809 - ADC Digital Volume 4L */
{ 0x0000032A, 0x0000 }, /* R810 - DMIC4L Control */
+ { 0x0000032C, 0x0000 }, /* R812 - IN4R Control */
{ 0x0000032D, 0x0180 }, /* R813 - ADC Digital Volume 4R */
{ 0x0000032E, 0x0000 }, /* R814 - DMIC4R Control */
{ 0x00000400, 0x0000 }, /* R1024 - Output Enables 1 */
@@ -1512,6 +1514,7 @@ static bool wm5110_readable_register(struct device *dev, unsigned int reg)
case ARIZONA_INPUT_ENABLES_STATUS:
case ARIZONA_INPUT_RATE:
case ARIZONA_INPUT_VOLUME_RAMP:
+ case ARIZONA_HPF_CONTROL:
case ARIZONA_IN1L_CONTROL:
case ARIZONA_ADC_DIGITAL_VOLUME_1L:
case ARIZONA_DMIC1L_CONTROL:
@@ -1533,6 +1536,7 @@ static bool wm5110_readable_register(struct device *dev, unsigned int reg)
case ARIZONA_IN4L_CONTROL:
case ARIZONA_ADC_DIGITAL_VOLUME_4L:
case ARIZONA_DMIC4L_CONTROL:
+ case ARIZONA_IN4R_CONTROL:
case ARIZONA_ADC_DIGITAL_VOLUME_4R:
case ARIZONA_DMIC4R_CONTROL:
case ARIZONA_OUTPUT_ENABLES_1:
diff --git a/include/linux/mfd/arizona/registers.h b/include/linux/mfd/arizona/registers.h
index 4706d3d..cdf1f5ac 100644
--- a/include/linux/mfd/arizona/registers.h
+++ b/include/linux/mfd/arizona/registers.h
@@ -139,6 +139,7 @@
#define ARIZONA_INPUT_ENABLES_STATUS 0x301
#define ARIZONA_INPUT_RATE 0x308
#define ARIZONA_INPUT_VOLUME_RAMP 0x309
+#define ARIZONA_HPF_CONTROL 0x30C
#define ARIZONA_IN1L_CONTROL 0x310
#define ARIZONA_ADC_DIGITAL_VOLUME_1L 0x311
#define ARIZONA_DMIC1L_CONTROL 0x312
@@ -160,6 +161,7 @@
#define ARIZONA_IN4L_CONTROL 0x328
#define ARIZONA_ADC_DIGITAL_VOLUME_4L 0x329
#define ARIZONA_DMIC4L_CONTROL 0x32A
+#define ARIZONA_IN4R_CONTROL 0x32C
#define ARIZONA_ADC_DIGITAL_VOLUME_4R 0x32D
#define ARIZONA_DMIC4R_CONTROL 0x32E
#define ARIZONA_OUTPUT_ENABLES_1 0x400
@@ -2293,8 +2295,18 @@
#define ARIZONA_IN_VI_RAMP_WIDTH 3 /* IN_VI_RAMP - [2:0] */
/*
+ * R780 (0x30C) - HPF Control
+ */
+#define ARIZONA_IN_HPF_CUT_MASK 0x0007 /* IN_HPF_CUT [2:0] */
+#define ARIZONA_IN_HPF_CUT_SHIFT 0 /* IN_HPF_CUT [2:0] */
+#define ARIZONA_IN_HPF_CUT_WIDTH 3 /* IN_HPF_CUT [2:0] */
+
+/*
* R784 (0x310) - IN1L Control
*/
+#define ARIZONA_IN1L_HPF_MASK 0x8000 /* IN1L_HPF - [15] */
+#define ARIZONA_IN1L_HPF_SHIFT 15 /* IN1L_HPF - [15] */
+#define ARIZONA_IN1L_HPF_WIDTH 1 /* IN1L_HPF - [15] */
#define ARIZONA_IN1_OSR_MASK 0x6000 /* IN1_OSR - [14:13] */
#define ARIZONA_IN1_OSR_SHIFT 13 /* IN1_OSR - [14:13] */
#define ARIZONA_IN1_OSR_WIDTH 2 /* IN1_OSR - [14:13] */
@@ -2333,6 +2345,9 @@
/*
* R788 (0x314) - IN1R Control
*/
+#define ARIZONA_IN1R_HPF_MASK 0x8000 /* IN1R_HPF - [15] */
+#define ARIZONA_IN1R_HPF_SHIFT 15 /* IN1R_HPF - [15] */
+#define ARIZONA_IN1R_HPF_WIDTH 1 /* IN1R_HPF - [15] */
#define ARIZONA_IN1R_PGA_VOL_MASK 0x00FE /* IN1R_PGA_VOL - [7:1] */
#define ARIZONA_IN1R_PGA_VOL_SHIFT 1 /* IN1R_PGA_VOL - [7:1] */
#define ARIZONA_IN1R_PGA_VOL_WIDTH 7 /* IN1R_PGA_VOL - [7:1] */
@@ -2362,6 +2377,9 @@
/*
* R792 (0x318) - IN2L Control
*/
+#define ARIZONA_IN2L_HPF_MASK 0x8000 /* IN2L_HPF - [15] */
+#define ARIZONA_IN2L_HPF_SHIFT 15 /* IN2L_HPF - [15] */
+#define ARIZONA_IN2L_HPF_WIDTH 1 /* IN2L_HPF - [15] */
#define ARIZONA_IN2_OSR_MASK 0x6000 /* IN2_OSR - [14:13] */
#define ARIZONA_IN2_OSR_SHIFT 13 /* IN2_OSR - [14:13] */
#define ARIZONA_IN2_OSR_WIDTH 2 /* IN2_OSR - [14:13] */
@@ -2400,6 +2418,9 @@
/*
* R796 (0x31C) - IN2R Control
*/
+#define ARIZONA_IN2R_HPF_MASK 0x8000 /* IN2R_HPF - [15] */
+#define ARIZONA_IN2R_HPF_SHIFT 15 /* IN2R_HPF - [15] */
+#define ARIZONA_IN2R_HPF_WIDTH 1 /* IN2R_HPF - [15] */
#define ARIZONA_IN2R_PGA_VOL_MASK 0x00FE /* IN2R_PGA_VOL - [7:1] */
#define ARIZONA_IN2R_PGA_VOL_SHIFT 1 /* IN2R_PGA_VOL - [7:1] */
#define ARIZONA_IN2R_PGA_VOL_WIDTH 7 /* IN2R_PGA_VOL - [7:1] */
@@ -2429,6 +2450,9 @@
/*
* R800 (0x320) - IN3L Control
*/
+#define ARIZONA_IN3L_HPF_MASK 0x8000 /* IN3L_HPF - [15] */
+#define ARIZONA_IN3L_HPF_SHIFT 15 /* IN3L_HPF - [15] */
+#define ARIZONA_IN3L_HPF_WIDTH 1 /* IN3L_HPF - [15] */
#define ARIZONA_IN3_OSR_MASK 0x6000 /* IN3_OSR - [14:13] */
#define ARIZONA_IN3_OSR_SHIFT 13 /* IN3_OSR - [14:13] */
#define ARIZONA_IN3_OSR_WIDTH 2 /* IN3_OSR - [14:13] */
@@ -2467,6 +2491,9 @@
/*
* R804 (0x324) - IN3R Control
*/
+#define ARIZONA_IN3R_HPF_MASK 0x8000 /* IN3R_HPF - [15] */
+#define ARIZONA_IN3R_HPF_SHIFT 15 /* IN3R_HPF - [15] */
+#define ARIZONA_IN3R_HPF_WIDTH 1 /* IN3R_HPF - [15] */
#define ARIZONA_IN3R_PGA_VOL_MASK 0x00FE /* IN3R_PGA_VOL - [7:1] */
#define ARIZONA_IN3R_PGA_VOL_SHIFT 1 /* IN3R_PGA_VOL - [7:1] */
#define ARIZONA_IN3R_PGA_VOL_WIDTH 7 /* IN3R_PGA_VOL - [7:1] */
@@ -2496,6 +2523,9 @@
/*
* R808 (0x328) - IN4 Control
*/
+#define ARIZONA_IN4L_HPF_MASK 0x8000 /* IN4L_HPF - [15] */
+#define ARIZONA_IN4L_HPF_SHIFT 15 /* IN4L_HPF - [15] */
+#define ARIZONA_IN4L_HPF_WIDTH 1 /* IN4L_HPF - [15] */
#define ARIZONA_IN4_OSR_MASK 0x6000 /* IN4_OSR - [14:13] */
#define ARIZONA_IN4_OSR_SHIFT 13 /* IN4_OSR - [14:13] */
#define ARIZONA_IN4_OSR_WIDTH 2 /* IN4_OSR - [14:13] */
@@ -2526,6 +2556,13 @@
#define ARIZONA_IN4L_DMIC_DLY_WIDTH 6 /* IN4L_DMIC_DLY - [5:0] */
/*
+ * R812 (0x32C) - IN4R Control
+ */
+#define ARIZONA_IN4R_HPF_MASK 0x8000 /* IN4R_HPF - [15] */
+#define ARIZONA_IN4R_HPF_SHIFT 15 /* IN4R_HPF - [15] */
+#define ARIZONA_IN4R_HPF_WIDTH 1 /* IN4R_HPF - [15] */
+
+/*
* R813 (0x32D) - ADC Digital Volume 4R
*/
#define ARIZONA_IN_VU 0x0200 /* IN_VU */
diff --git a/sound/soc/codecs/arizona.c b/sound/soc/codecs/arizona.c
index 6f05b17..f30cf88 100644
--- a/sound/soc/codecs/arizona.c
+++ b/sound/soc/codecs/arizona.c
@@ -560,6 +560,16 @@ const struct soc_enum arizona_ng_hold =
4, arizona_ng_hold_text);
EXPORT_SYMBOL_GPL(arizona_ng_hold);
+static const char * const arizona_in_hpf_cut_text[] = {
+ "2.5Hz", "5Hz", "10Hz", "20Hz", "40Hz"
+};
+
+const struct soc_enum arizona_in_hpf_cut_enum =
+ SOC_ENUM_SINGLE(ARIZONA_HPF_CONTROL, ARIZONA_IN_HPF_CUT_SHIFT,
+ ARRAY_SIZE(arizona_in_hpf_cut_text),
+ arizona_in_hpf_cut_text);
+EXPORT_SYMBOL_GPL(arizona_in_hpf_cut_enum);
+
static const char * const arizona_in_dmic_osr_text[] = {
"1.536MHz", "3.072MHz", "6.144MHz",
};
diff --git a/sound/soc/codecs/arizona.h b/sound/soc/codecs/arizona.h
index 9e81b63..f8e6386 100644
--- a/sound/soc/codecs/arizona.h
+++ b/sound/soc/codecs/arizona.h
@@ -199,6 +199,7 @@ extern const struct soc_enum arizona_lhpf3_mode;
extern const struct soc_enum arizona_lhpf4_mode;
extern const struct soc_enum arizona_ng_hold;
+extern const struct soc_enum arizona_in_hpf_cut_enum;
extern const struct soc_enum arizona_in_dmic_osr[];
extern int arizona_in_ev(struct snd_soc_dapm_widget *w,
diff --git a/sound/soc/codecs/wm5110.c b/sound/soc/codecs/wm5110.c
index c4da1bd..13c490b 100644
--- a/sound/soc/codecs/wm5110.c
+++ b/sound/soc/codecs/wm5110.c
@@ -155,6 +155,25 @@ SOC_SINGLE_RANGE_TLV("IN3L Volume", ARIZONA_IN3L_CONTROL,
SOC_SINGLE_RANGE_TLV("IN3R Volume", ARIZONA_IN3R_CONTROL,
ARIZONA_IN3R_PGA_VOL_SHIFT, 0x40, 0x5f, 0, ana_tlv),
+SOC_ENUM("IN HPF Cutoff Frequency", arizona_in_hpf_cut_enum),
+
+SOC_SINGLE("IN1L HPF Switch", ARIZONA_IN1L_CONTROL,
+ ARIZONA_IN1L_HPF_SHIFT, 1, 0),
+SOC_SINGLE("IN1R HPF Switch", ARIZONA_IN1R_CONTROL,
+ ARIZONA_IN1R_HPF_SHIFT, 1, 0),
+SOC_SINGLE("IN2L HPF Switch", ARIZONA_IN2L_CONTROL,
+ ARIZONA_IN2L_HPF_SHIFT, 1, 0),
+SOC_SINGLE("IN2R HPF Switch", ARIZONA_IN2R_CONTROL,
+ ARIZONA_IN2R_HPF_SHIFT, 1, 0),
+SOC_SINGLE("IN3L HPF Switch", ARIZONA_IN3L_CONTROL,
+ ARIZONA_IN3L_HPF_SHIFT, 1, 0),
+SOC_SINGLE("IN3R HPF Switch", ARIZONA_IN3R_CONTROL,
+ ARIZONA_IN3R_HPF_SHIFT, 1, 0),
+SOC_SINGLE("IN4L HPF Switch", ARIZONA_IN4L_CONTROL,
+ ARIZONA_IN4L_HPF_SHIFT, 1, 0),
+SOC_SINGLE("IN4R HPF Switch", ARIZONA_IN4R_CONTROL,
+ ARIZONA_IN4R_HPF_SHIFT, 1, 0),
+
SOC_SINGLE_TLV("IN1L Digital Volume", ARIZONA_ADC_DIGITAL_VOLUME_1L,
ARIZONA_IN1L_DIG_VOL_SHIFT, 0xbf, 0, digital_tlv),
SOC_SINGLE_TLV("IN1R Digital Volume", ARIZONA_ADC_DIGITAL_VOLUME_1R,
--
1.7.2.5
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH 0/4] *** SUBJECT HERE ***
2020-08-18 9:50 ` Greg Kroah-Hartman
@ 2020-08-18 9:52 ` Tomer Samara
0 siblings, 0 replies; 16+ messages in thread
From: Tomer Samara @ 2020-08-18 9:52 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: devel, linaro-mm-sig, Todd Kjos, linux-kernel, dri-devel,
Suren Baghdasaryan, Hridya Valsaraju, Arve Hjønnevåg,
Joel Fernandes, Martijn Coenen, Sumit Semwal, Christian Brauner
On Tue, Aug 18, 2020 at 11:50:35AM +0200, Greg Kroah-Hartman wrote:
> On Tue, Aug 18, 2020 at 12:17:08PM +0300, Tomer Samara wrote:
> > *** BLURB HERE ***
>
> Really?
>
> And your subject line could use some work too :(
>
sorry for that, i've made a script for sending patchset and accidently
it sents mails without contorl.
Fixed that
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 0/4] *** SUBJECT HERE ***
2020-08-18 9:17 [PATCH 0/4] *** SUBJECT HERE *** Tomer Samara
@ 2020-08-18 9:50 ` Greg Kroah-Hartman
2020-08-18 9:52 ` Tomer Samara
0 siblings, 1 reply; 16+ messages in thread
From: Greg Kroah-Hartman @ 2020-08-18 9:50 UTC (permalink / raw)
To: Tomer Samara
Cc: devel, linaro-mm-sig, Todd Kjos, linux-kernel, dri-devel,
Suren Baghdasaryan, Hridya Valsaraju, Arve Hjønnevåg,
Joel Fernandes, Martijn Coenen, Sumit Semwal, Christian Brauner
On Tue, Aug 18, 2020 at 12:17:08PM +0300, Tomer Samara wrote:
> *** BLURB HERE ***
Really?
And your subject line could use some work too :(
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 0/4] *** SUBJECT HERE ***
@ 2020-08-18 9:17 Tomer Samara
2020-08-18 9:50 ` Greg Kroah-Hartman
0 siblings, 1 reply; 16+ messages in thread
From: Tomer Samara @ 2020-08-18 9:17 UTC (permalink / raw)
Cc: Sumit Semwal, Greg Kroah-Hartman, Arve Hjønnevåg,
Todd Kjos, Martijn Coenen, Joel Fernandes, Christian Brauner,
Hridya Valsaraju, Suren Baghdasaryan, devel, dri-devel,
linaro-mm-sig, linux-kernel
*** BLURB HERE ***
Tomer Samara (4):
staging: android: Replace BUG_ON with WARN_ON
staging: android: Add error handling to ion_page_pool_shrink
staging: android: Convert BUG to WARN
staging: android: Add error handling to order_to_index callers
drivers/staging/android/ion/ion_page_pool.c | 14 ++++++++++----
drivers/staging/android/ion/ion_system_heap.c | 16 +++++++++++++---
2 files changed, 23 insertions(+), 7 deletions(-)
--
2.25.1
/tmp/0001-staging-android-Replace-BUG_ON-with-WARN_ON.patch
/tmp/0002-staging-android-Add-error-handling-to-ion_page_pool_.patch
/tmp/0003-staging-android-Convert-BUG-to-WARN.patch
/tmp/0004-staging-android-Add-error-handling-to-order_to_index.patch
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 0/4] *** SUBJECT HERE ***
@ 2020-08-18 8:52 Tomer Samara
0 siblings, 0 replies; 16+ messages in thread
From: Tomer Samara @ 2020-08-18 8:52 UTC (permalink / raw)
Cc: Sumit Semwal, Greg Kroah-Hartman, Arve Hjønnevåg,
Todd Kjos, Martijn Coenen, Joel Fernandes, Christian Brauner,
Hridya Valsaraju, Suren Baghdasaryan, devel, dri-devel,
linaro-mm-sig, linux-kernel
*** BLURB HERE ***
Tomer Samara (4):
staging: android: Replace BUG_ON with WARN_ON
staging: android: Add error handling to ion_page_pool_shrink
staging: android: Convert BUG to WARN
staging: android: Add error handling to order_to_index callers
drivers/staging/android/ion/ion_page_pool.c | 14 ++++++++++----
drivers/staging/android/ion/ion_system_heap.c | 16 +++++++++++++---
2 files changed, 23 insertions(+), 7 deletions(-)
--
2.25.1
/tmp/0001-staging-android-Replace-BUG_ON-with-WARN_ON.patch
/tmp/0002-staging-android-Add-error-handling-to-ion_page_pool_.patch
/tmp/0003-staging-android-Convert-BUG-to-WARN.patch
/tmp/0004-staging-android-Add-error-handling-to-order_to_index.patch
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 0/4] *** SUBJECT HERE ***
@ 2020-08-18 8:48 Tomer Samara
0 siblings, 0 replies; 16+ messages in thread
From: Tomer Samara @ 2020-08-18 8:48 UTC (permalink / raw)
To: Laura Abbott
Cc: Sumit Semwal, Greg Kroah-Hartman, Arve Hjønnevåg,
Todd Kjos, Martijn Coenen, Joel Fernandes, Christian Brauner,
Hridya Valsaraju, Suren Baghdasaryan, devel, dri-devel,
linaro-mm-sig, linux-kernel
*** BLURB HERE ***
Tomer Samara (4):
staging: android: Replace BUG_ON with WARN_ON
staging: android: Add error handling to ion_page_pool_shrink
staging: android: Convert BUG to WARN
staging: android: Add error handling to order_to_index callers
drivers/staging/android/ion/ion_page_pool.c | 14 ++++++++++----
drivers/staging/android/ion/ion_system_heap.c | 16 +++++++++++++---
2 files changed, 23 insertions(+), 7 deletions(-)
--
2.25.1
/tmp/0001-staging-android-Replace-BUG_ON-with-WARN_ON.patch
/tmp/0002-staging-android-Add-error-handling-to-ion_page_pool_.patch
/tmp/0003-staging-android-Convert-BUG-to-WARN.patch
/tmp/0004-staging-android-Add-error-handling-to-order_to_index.patch
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 0/4] *** SUBJECT HERE ***
@ 2020-08-18 8:47 Tomer Samara
0 siblings, 0 replies; 16+ messages in thread
From: Tomer Samara @ 2020-08-18 8:47 UTC (permalink / raw)
To: Laura Abbott
Cc: Sumit Semwal, Greg Kroah-Hartman, Arve Hjønnevåg,
Todd Kjos, Martijn Coenen, Joel Fernandes, Christian Brauner,
Hridya Valsaraju, Suren Baghdasaryan, devel, dri-devel,
linaro-mm-sig, linux-kernel
*** BLURB HERE ***
Tomer Samara (4):
staging: android: Replace BUG_ON with WARN_ON
staging: android: Add error handling to ion_page_pool_shrink
staging: android: Convert BUG to WARN
staging: android: Add error handling to order_to_index callers
drivers/staging/android/ion/ion_page_pool.c | 14 ++++++++++----
drivers/staging/android/ion/ion_system_heap.c | 16 +++++++++++++---
2 files changed, 23 insertions(+), 7 deletions(-)
--
2.25.1
/tmp/0001-staging-android-Replace-BUG_ON-with-WARN_ON.patch
/tmp/0002-staging-android-Add-error-handling-to-ion_page_pool_.patch
/tmp/0003-staging-android-Convert-BUG-to-WARN.patch
/tmp/0004-staging-android-Add-error-handling-to-order_to_index.patch
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 0/4] *** SUBJECT HERE ***
2014-08-20 4:30 Valentina Manea
@ 2014-08-25 17:43 ` Greg KH
0 siblings, 0 replies; 16+ messages in thread
From: Greg KH @ 2014-08-25 17:43 UTC (permalink / raw)
To: Valentina Manea
Cc: tulinizer, stern, mail, hdegoede, f.manzan, kurt, linux-usb,
linux-kernel, firefly, andy.grover, max, shuahkhan
On Wed, Aug 20, 2014 at 07:30:58AM +0300, Valentina Manea wrote:
> After migrating userspace code to libudev, converting usbip-host
> to a device driver and various bug fixes and enhancements, USB/IP
> is fully functional and can be moved out of staging.
>
> This patch series moves it as following:
> * userspace code to tools/usb/usbip
> * kernel code to drivers/usb/usbip
>
> A warning generated in the kernel code is also solved and an entry
> in MAINTAINERS file is created for this driver.
Looks good, all now queued up, thanks.
greg k-h
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 0/4] *** SUBJECT HERE ***
@ 2014-08-20 4:30 Valentina Manea
2014-08-25 17:43 ` Greg KH
0 siblings, 1 reply; 16+ messages in thread
From: Valentina Manea @ 2014-08-20 4:30 UTC (permalink / raw)
To: gregkh
Cc: tulinizer, stern, mail, hdegoede, f.manzan, kurt, linux-usb,
linux-kernel, firefly, andy.grover, max, shuahkhan,
Valentina Manea
After migrating userspace code to libudev, converting usbip-host
to a device driver and various bug fixes and enhancements, USB/IP
is fully functional and can be moved out of staging.
This patch series moves it as following:
* userspace code to tools/usb/usbip
* kernel code to drivers/usb/usbip
A warning generated in the kernel code is also solved and an entry
in MAINTAINERS file is created for this driver.
Valentina Manea (4):
usbip: move usbip userspace code out of staging
usbip: move usbip kernel code out of staging
usbip: remove struct usb_device_id table
MAINTAINERS: Add an entry for USB/IP driver
MAINTAINERS | 8 +++++++
drivers/staging/Kconfig | 2 --
drivers/staging/Makefile | 1 -
drivers/usb/Kconfig | 2 ++
drivers/usb/Makefile | 2 ++
drivers/{staging => usb}/usbip/Kconfig | 0
drivers/{staging => usb}/usbip/Makefile | 0
drivers/{staging => usb}/usbip/README | 0
drivers/{staging => usb}/usbip/stub.h | 0
drivers/{staging => usb}/usbip/stub_dev.c | 27 ----------------------
drivers/{staging => usb}/usbip/stub_main.c | 0
drivers/{staging => usb}/usbip/stub_rx.c | 0
drivers/{staging => usb}/usbip/stub_tx.c | 0
drivers/{staging => usb}/usbip/usbip_common.c | 0
drivers/{staging => usb}/usbip/usbip_common.h | 2 +-
drivers/{staging => usb}/usbip/usbip_event.c | 0
drivers/{staging => usb}/usbip/usbip_protocol.txt | 0
drivers/{staging => usb}/usbip/vhci.h | 0
drivers/{staging => usb}/usbip/vhci_hcd.c | 0
drivers/{staging => usb}/usbip/vhci_rx.c | 0
drivers/{staging => usb}/usbip/vhci_sysfs.c | 0
drivers/{staging => usb}/usbip/vhci_tx.c | 0
.../usbip/uapi => include/uapi/linux}/usbip.h | 0
.../usbip/userspace => tools/usb/usbip}/.gitignore | 0
.../usbip/userspace => tools/usb/usbip}/AUTHORS | 0
.../usbip/userspace => tools/usb/usbip}/COPYING | 0
.../usbip/userspace => tools/usb/usbip}/INSTALL | 0
.../userspace => tools/usb/usbip}/Makefile.am | 0
.../usbip/userspace => tools/usb/usbip}/README | 0
.../usbip/userspace => tools/usb/usbip}/autogen.sh | 0
.../usbip/userspace => tools/usb/usbip}/cleanup.sh | 0
.../userspace => tools/usb/usbip}/configure.ac | 0
.../userspace => tools/usb/usbip}/doc/usbip.8 | 0
.../userspace => tools/usb/usbip}/doc/usbipd.8 | 0
.../usb/usbip}/libsrc/Makefile.am | 0
.../userspace => tools/usb/usbip}/libsrc/list.h | 0
.../userspace => tools/usb/usbip}/libsrc/names.c | 0
.../userspace => tools/usb/usbip}/libsrc/names.h | 0
.../usb/usbip}/libsrc/sysfs_utils.c | 0
.../usb/usbip}/libsrc/sysfs_utils.h | 0
.../usb/usbip}/libsrc/usbip_common.c | 0
.../usb/usbip}/libsrc/usbip_common.h | 0
.../usb/usbip}/libsrc/usbip_host_driver.c | 0
.../usb/usbip}/libsrc/usbip_host_driver.h | 0
.../usb/usbip}/libsrc/vhci_driver.c | 0
.../usb/usbip}/libsrc/vhci_driver.h | 0
.../userspace => tools/usb/usbip}/src/Makefile.am | 0
.../userspace => tools/usb/usbip}/src/usbip.c | 0
.../userspace => tools/usb/usbip}/src/usbip.h | 0
.../usb/usbip}/src/usbip_attach.c | 0
.../userspace => tools/usb/usbip}/src/usbip_bind.c | 0
.../usb/usbip}/src/usbip_detach.c | 0
.../userspace => tools/usb/usbip}/src/usbip_list.c | 0
.../usb/usbip}/src/usbip_network.c | 0
.../usb/usbip}/src/usbip_network.h | 0
.../userspace => tools/usb/usbip}/src/usbip_port.c | 0
.../usb/usbip}/src/usbip_unbind.c | 0
.../userspace => tools/usb/usbip}/src/usbipd.c | 0
.../userspace => tools/usb/usbip}/src/utils.c | 0
.../userspace => tools/usb/usbip}/src/utils.h | 0
60 files changed, 13 insertions(+), 31 deletions(-)
rename drivers/{staging => usb}/usbip/Kconfig (100%)
rename drivers/{staging => usb}/usbip/Makefile (100%)
rename drivers/{staging => usb}/usbip/README (100%)
rename drivers/{staging => usb}/usbip/stub.h (100%)
rename drivers/{staging => usb}/usbip/stub_dev.c (90%)
rename drivers/{staging => usb}/usbip/stub_main.c (100%)
rename drivers/{staging => usb}/usbip/stub_rx.c (100%)
rename drivers/{staging => usb}/usbip/stub_tx.c (100%)
rename drivers/{staging => usb}/usbip/usbip_common.c (100%)
rename drivers/{staging => usb}/usbip/usbip_common.h (99%)
rename drivers/{staging => usb}/usbip/usbip_event.c (100%)
rename drivers/{staging => usb}/usbip/usbip_protocol.txt (100%)
rename drivers/{staging => usb}/usbip/vhci.h (100%)
rename drivers/{staging => usb}/usbip/vhci_hcd.c (100%)
rename drivers/{staging => usb}/usbip/vhci_rx.c (100%)
rename drivers/{staging => usb}/usbip/vhci_sysfs.c (100%)
rename drivers/{staging => usb}/usbip/vhci_tx.c (100%)
rename {drivers/staging/usbip/uapi => include/uapi/linux}/usbip.h (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/.gitignore (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/AUTHORS (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/COPYING (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/INSTALL (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/Makefile.am (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/README (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/autogen.sh (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/cleanup.sh (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/configure.ac (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/doc/usbip.8 (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/doc/usbipd.8 (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/libsrc/Makefile.am (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/libsrc/list.h (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/libsrc/names.c (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/libsrc/names.h (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/libsrc/sysfs_utils.c (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/libsrc/sysfs_utils.h (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/libsrc/usbip_common.c (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/libsrc/usbip_common.h (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/libsrc/usbip_host_driver.c (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/libsrc/usbip_host_driver.h (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/libsrc/vhci_driver.c (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/libsrc/vhci_driver.h (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/src/Makefile.am (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/src/usbip.c (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/src/usbip.h (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/src/usbip_attach.c (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/src/usbip_bind.c (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/src/usbip_detach.c (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/src/usbip_list.c (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/src/usbip_network.c (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/src/usbip_network.h (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/src/usbip_port.c (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/src/usbip_unbind.c (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/src/usbipd.c (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/src/utils.c (100%)
rename {drivers/staging/usbip/userspace => tools/usb/usbip}/src/utils.h (100%)
--
1.8.1.2
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 0/4] *** SUBJECT HERE ***
@ 2013-11-19 16:03 Charles Keepax
0 siblings, 0 replies; 16+ messages in thread
From: Charles Keepax @ 2013-11-19 16:03 UTC (permalink / raw)
To: broonie, lee.jones; +Cc: lgirdwood, sameo, patches, alsa-devel, linux-kernel
Hi,
Small patch series adding some missing functionality on
the WM5110. Given most of the changes are in ASoC I have
generated the patches against Mark's tree but let me know
if we want to push them through MFD instead and I can
regenerate, but I suspect they will cause less conflicts
going through ASoC.
Thanks,
Charles
Charles Keepax (3):
mfd: wm5110: Make DSP memories readable
ASoC: wm5110: Add basic support for ISRCs
ASoC: wm5110: Expose input high pass filter controls
Mark Brown (1):
ASoC: wm5110: Hook up ADSP2 cores
drivers/mfd/wm5110-tables.c | 73 +++++++-
include/linux/mfd/arizona/registers.h | 37 ++++
sound/soc/codecs/Kconfig | 2 +
sound/soc/codecs/arizona.c | 10 +
sound/soc/codecs/arizona.h | 1 +
sound/soc/codecs/wm5110.c | 316 ++++++++++++++++++++++++++++++++-
6 files changed, 433 insertions(+), 6 deletions(-)
--
1.7.2.5
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH 0/4] *** SUBJECT HERE ***
2011-02-09 9:51 Tobias Klauser
@ 2011-02-09 9:53 ` Tobias Klauser
0 siblings, 0 replies; 16+ messages in thread
From: Tobias Klauser @ 2011-02-09 9:53 UTC (permalink / raw)
To: Greg Kroah-Hartman, linux-serial; +Cc: nios2-dev, linux-kernel
On 2011-02-09 at 10:51:10 +0100, Tobias Klauser <tklauser@distanz.ch> wrote:
> *** BLURB HERE ***
Sorry for this mess. I've accidentialy overwritten my original cover
letter. Will send again with the correct subject and text (and better
test my submissions in the future).
>
> Tobias Klauser (4):
> tty: serial: altera_uart: Handle pdev->id == -1 in altera_uart_remove
> tty: serial: altera_uart: Use port->regshift to store bus shift
> tty: serial: altera_uart: Add devicetree support
> MAINTAINERS: Add myself as a maintainer for
> altera_uart/altera_jtaguart
>
> .../devicetree/bindings/serial/altera_uart.txt | 7 ++
> MAINTAINERS | 10 +++
> drivers/tty/serial/altera_uart.c | 69 ++++++++++++++++----
> 3 files changed, 74 insertions(+), 12 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/serial/altera_uart.txt
>
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH 0/4] *** SUBJECT HERE ***
@ 2011-02-09 9:51 Tobias Klauser
2011-02-09 9:53 ` Tobias Klauser
0 siblings, 1 reply; 16+ messages in thread
From: Tobias Klauser @ 2011-02-09 9:51 UTC (permalink / raw)
To: Greg Kroah-Hartman, linux-serial; +Cc: nios2-dev, linux-kernel
*** BLURB HERE ***
Tobias Klauser (4):
tty: serial: altera_uart: Handle pdev->id == -1 in altera_uart_remove
tty: serial: altera_uart: Use port->regshift to store bus shift
tty: serial: altera_uart: Add devicetree support
MAINTAINERS: Add myself as a maintainer for
altera_uart/altera_jtaguart
.../devicetree/bindings/serial/altera_uart.txt | 7 ++
MAINTAINERS | 10 +++
drivers/tty/serial/altera_uart.c | 69 ++++++++++++++++----
3 files changed, 74 insertions(+), 12 deletions(-)
create mode 100644 Documentation/devicetree/bindings/serial/altera_uart.txt
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2020-08-18 9:52 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-11-19 16:03 [PATCH 0/4] *** SUBJECT HERE *** Charles Keepax
2013-11-19 16:03 ` [PATCH 1/4] mfd: wm5110: Make DSP memories readable Charles Keepax
2013-11-19 16:03 ` [PATCH 2/4] ASoC: wm5110: Hook up ADSP2 cores Charles Keepax
2013-11-19 16:03 ` [PATCH 3/4] ASoC: wm5110: Add basic support for ISRCs Charles Keepax
2013-11-19 16:03 ` [PATCH 4/4] ASoC: wm5110: Expose input high pass filter controls Charles Keepax
-- strict thread matches above, loose matches on Subject: below --
2020-08-18 9:17 [PATCH 0/4] *** SUBJECT HERE *** Tomer Samara
2020-08-18 9:50 ` Greg Kroah-Hartman
2020-08-18 9:52 ` Tomer Samara
2020-08-18 8:52 Tomer Samara
2020-08-18 8:48 Tomer Samara
2020-08-18 8:47 Tomer Samara
2014-08-20 4:30 Valentina Manea
2014-08-25 17:43 ` Greg KH
2013-11-19 16:03 Charles Keepax
2011-02-09 9:51 Tobias Klauser
2011-02-09 9:53 ` Tobias Klauser
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).