[alsa-devel] [PATCH v3 00/10] Improvements to Tegra-based Chromebook support
v3: * Added bindings for the LTN140AT29 panel * Removed the delay in pwrseq, as what was actually needed was to add a dependency on the power supplies of the host * Uses the pinmux for the Blaze as generated by tegra-pinmux-scripts * Uses the pinmux for the Big as in the last patch from Simon Glass
Hello,
this series adds support for the Tegra-based HP Chromebook 14 (aka nyan blaze), which is very similar to the Acer Chromebook 13 (aka nyan big). Because they both include tegra124-nyan.dtsi, some improvements to Blaze support have also benefitted the Big. I have tested that USB2, the panels, HDMI, the trackpad, Wifi and sound work on both.
The DT for the Big includes the pinmux configuration as generated by tegra-pinmux-scripts with Simon's patch at:
https://patchwork.ozlabs.org/patch/417779/
These patches are based on top of linux-next 20150128.
http://cgit.collabora.com/git/user/tomeu/linux.git/log/?h=nyan-v3
Regards,
Tomeu
Stéphane Marchesin (1): drm/panel: add support for Samsung LTN140AT29 panel
Tomeu Vizoso (9): ARM: tegra: Set the sound card model that alsaucm expects ARM: tegra: Move out nyan-generic parts out from the nyan-big DT ARM: tegra: Add DTS for the nyan-blaze board ARM: tegra: Add node for trackpad in Nyan boards ASoC: tegra: Add a control for the headphone switch ASoC: tegra: add sink for the internal mic to tegra_max98090 ARM: tegra: Use pwrseq-simple for the wifi in Nyan ARM: tegra: Use the generated pinmux data ARM: tegra: Set spi-max-frequency property to flash node
.../bindings/panel/samsung,ltn140at29-301.txt | 7 + .../bindings/sound/nvidia,tegra-audio-max98090.txt | 1 + arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/tegra124-nyan-big.dts | 2112 +++++++++++--------- arch/arm/boot/dts/tegra124-nyan-blaze.dts | 1325 ++++++++++++ arch/arm/boot/dts/tegra124-nyan.dtsi | 692 +++++++ drivers/gpu/drm/panel/panel-simple.c | 26 + sound/soc/tegra/tegra_max98090.c | 3 + 8 files changed, 3206 insertions(+), 961 deletions(-) create mode 100644 Documentation/devicetree/bindings/panel/samsung,ltn140at29-301.txt create mode 100644 arch/arm/boot/dts/tegra124-nyan-blaze.dts create mode 100644 arch/arm/boot/dts/tegra124-nyan.dtsi
To be used by userspace when the headphones jack is plugged in.
Signed-off-by: Tomeu Vizoso tomeu.vizoso@collabora.com --- sound/soc/tegra/tegra_max98090.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/sound/soc/tegra/tegra_max98090.c b/sound/soc/tegra/tegra_max98090.c index af3fb99..8df71a4 100644 --- a/sound/soc/tegra/tegra_max98090.c +++ b/sound/soc/tegra/tegra_max98090.c @@ -136,6 +136,7 @@ static const struct snd_soc_dapm_widget tegra_max98090_dapm_widgets[] = { };
static const struct snd_kcontrol_new tegra_max98090_controls[] = { + SOC_DAPM_PIN_SWITCH("Headphones"), SOC_DAPM_PIN_SWITCH("Speakers"), };
On Wed, Jan 28, 2015 at 11:51:04AM +0100, Tomeu Vizoso wrote:
To be used by userspace when the headphones jack is plugged in.
static const struct snd_kcontrol_new tegra_max98090_controls[] = {
- SOC_DAPM_PIN_SWITCH("Headphones"), SOC_DAPM_PIN_SWITCH("Speakers"),
};
Why is userspace doing this? If this is supposed to be associated with the jack detection I'd expect us to be doing this in kernel.
On Wed, Jan 28, 2015 at 3:02 AM, Mark Brown broonie@kernel.org wrote:
On Wed, Jan 28, 2015 at 11:51:04AM +0100, Tomeu Vizoso wrote:
To be used by userspace when the headphones jack is plugged in.
static const struct snd_kcontrol_new tegra_max98090_controls[] = {
SOC_DAPM_PIN_SWITCH("Headphones"), SOC_DAPM_PIN_SWITCH("Speakers"),
};
Why is userspace doing this? If this is supposed to be associated with the jack detection I'd expect us to be doing this in kernel.
This is only related to jack detection in that seeing a jack insert or removal can cause userspace to set or unset it depending on the current policy.
On Wed, Jan 28, 2015 at 09:46:27AM -0800, Dylan Reid wrote:
On Wed, Jan 28, 2015 at 3:02 AM, Mark Brown broonie@kernel.org wrote:
Why is userspace doing this? If this is supposed to be associated with the jack detection I'd expect us to be doing this in kernel.
This is only related to jack detection in that seeing a jack insert or removal can cause userspace to set or unset it depending on the current policy.
OK, better changelog please then. Also, to repeat the advice I think I gave last time: please don't post large sets of unrelated changes as a single series, send logically separate bits separately.
This is used in the Tegra-based Chromebooks.
Signed-off-by: Tomeu Vizoso tomeu.vizoso@collabora.com --- Documentation/devicetree/bindings/sound/nvidia,tegra-audio-max98090.txt | 1 + sound/soc/tegra/tegra_max98090.c | 2 ++ 2 files changed, 3 insertions(+)
diff --git a/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-max98090.txt b/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-max98090.txt index c949abc..c3495be 100644 --- a/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-max98090.txt +++ b/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-max98090.txt @@ -18,6 +18,7 @@ Required properties: * Headphones * Speakers * Mic Jack + * Int Mic
- nvidia,i2s-controller : The phandle of the Tegra I2S controller that's connected to the CODEC. diff --git a/sound/soc/tegra/tegra_max98090.c b/sound/soc/tegra/tegra_max98090.c index 8df71a4..29ea87c 100644 --- a/sound/soc/tegra/tegra_max98090.c +++ b/sound/soc/tegra/tegra_max98090.c @@ -133,11 +133,13 @@ static const struct snd_soc_dapm_widget tegra_max98090_dapm_widgets[] = { SND_SOC_DAPM_HP("Headphones", NULL), SND_SOC_DAPM_SPK("Speakers", NULL), SND_SOC_DAPM_MIC("Mic Jack", NULL), + SND_SOC_DAPM_MIC("Int Mic", NULL), };
static const struct snd_kcontrol_new tegra_max98090_controls[] = { SOC_DAPM_PIN_SWITCH("Headphones"), SOC_DAPM_PIN_SWITCH("Speakers"), + SOC_DAPM_PIN_SWITCH("Int Mic"), };
static int tegra_max98090_asoc_init(struct snd_soc_pcm_runtime *rtd)
On Wed, Jan 28, 2015 at 11:51:05AM +0100, Tomeu Vizoso wrote:
This is used in the Tegra-based Chromebooks.
This doesn't apply due to the dependency on the previous patch, and also...
static const struct snd_kcontrol_new tegra_max98090_controls[] = { SOC_DAPM_PIN_SWITCH("Headphones"), SOC_DAPM_PIN_SWITCH("Speakers"),
- SOC_DAPM_PIN_SWITCH("Int Mic"),
};
...it's not clear what the purpose of the pin switch is here.
participants (3)
-
Dylan Reid
-
Mark Brown
-
Tomeu Vizoso