[PATCH 9/9] ARM: tegra: apalis t30: fix pin muxing and add HDA in device tree

From: Marcel Ziswiler
Date: Fri Apr 10 2015 - 17:38:03 EST


From: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx>

Fix pin muxing, add digital audio aka HDA pin muxing and activate HDA
driver.
Fix pu vs. gpio_pu pin muxing.
While at it also update comment about supported module hardware
versions.
While at it also add an emmc label to the SDHCI node just like on
Colibri T30.
While at it set the dr_mode of the primary USB EHCI instance to OTG as
well.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@xxxxxxxxxxx>
---
With all that it loads and detects our Realtek codec just fine as can
be seen below but so far I have been unable to figure out how to
actually get it to deliver some actual acoustics (;-p). Any input on
any of this welcome.

[ 8.496588] sound hdaudioC0D1: autoconfig for ALC898: line_outs=4 (0x14/0x16/
0x15/0x17/0x0) type:line
[ 8.511715] sound hdaudioC0D1: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[ 8.524117] sound hdaudioC0D1: hp_outs=1 (0x1b/0x0/0x0/0x0/0x0)
[ 8.536163] sound hdaudioC0D1: mono: mono_out=0x0
[ 8.546995] sound hdaudioC0D1: dig-out=0x1e/0x0
[ 8.557650] sound hdaudioC0D1: inputs:
[ 8.567532] sound hdaudioC0D1: Rear Mic=0x18
[ 8.578108] sound hdaudioC0D1: Front Mic=0x19
[ 8.588767] sound hdaudioC0D1: Line=0x1a
[ 8.598992] sound hdaudioC0D1: CD=0x1c
[ 13.252853] input: tegra-hda Rear Mic as /devices/soc0/70030000.hda/sound/car
d0/input1
[ 13.268130] input: tegra-hda Front Mic as /devices/soc0/70030000.hda/sound/ca
rd0/input2
[ 13.283471] input: tegra-hda Line as /devices/soc0/70030000.hda/sound/card0/i
nput3
[ 13.298377] input: tegra-hda Line Out Front as /devices/soc0/70030000.hda/sou
nd/card0/input4
[ 13.314144] input: tegra-hda Line Out Surround as /devices/soc0/70030000.hda/
sound/card0/input5
[ 13.330208] input: tegra-hda Line Out CLFE as /devices/soc0/70030000.hda/soun
d/card0/input6
[ 13.345893] input: tegra-hda Line Out Side as /devices/soc0/70030000.hda/soun
d/card0/input7
[ 13.361579] input: tegra-hda Front Headphone as /devices/soc0/70030000.hda/so
und/card0/input8
[ 13.377476] input: tegra-hda HDMI/DP,pcm=3 as /devices/soc0/70030000.hda/soun
d/card0/input9

[ 14.274781] ALSA device list:
[ 14.287090] #0: tegra-hda at 0x70038000 irq 345

arch/arm/boot/dts/tegra30-apalis-eval.dts | 5 ++++
arch/arm/boot/dts/tegra30-apalis.dtsi | 46 +++++++++++++++++++++++--------
2 files changed, 40 insertions(+), 11 deletions(-)

diff --git a/arch/arm/boot/dts/tegra30-apalis-eval.dts b/arch/arm/boot/dts/tegra30-apalis-eval.dts
index 6236bde..37437c6 100644
--- a/arch/arm/boot/dts/tegra30-apalis-eval.dts
+++ b/arch/arm/boot/dts/tegra30-apalis-eval.dts
@@ -126,6 +126,10 @@
};
};

+ hda@70030000 {
+ status = "okay";
+ };
+
sd1: sdhci@78000000 {
status = "okay";
bus-width = <4>;
@@ -149,6 +153,7 @@

usb-phy@7d000000 {
status = "okay";
+ dr_mode = "otg";
vbus-supply = <&usbo1_vbus_reg>;
};

diff --git a/arch/arm/boot/dts/tegra30-apalis.dtsi b/arch/arm/boot/dts/tegra30-apalis.dtsi
index a5446cb..e6bac82 100644
--- a/arch/arm/boot/dts/tegra30-apalis.dtsi
+++ b/arch/arm/boot/dts/tegra30-apalis.dtsi
@@ -2,7 +2,7 @@

/*
* Toradex Apalis T30 Device Tree
- * Compatible for Revisions 1GB: V1.0A; 2GB: V1.0B, V1.0C
+ * Compatible for Revisions 1GB: V1.0A, V1.1A; 1GB IT: V1.1A; 2GB: V1.0B, V1.0C, V1.0E, V1.1A
*/
/ {
model = "Toradex Apalis T30";
@@ -65,7 +65,7 @@
/* BKL1_PWM_EN#, disable TPS65911 PMIC PWM backlight */
uart3_cts_n_pa1 {
nvidia,pins = "uart3_cts_n_pa1";
- nvidia,function = "rsvd1";
+ nvidia,function = "rsvd2";
nvidia,pull = <TEGRA_PIN_PULL_UP>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
};
@@ -108,6 +108,30 @@
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
};

+ /* Apalis Digital Audio */
+ clk1_req_pee2 {
+ nvidia,pins = "clk1_req_pee2";
+ nvidia,function = "hda";
+ nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+ nvidia,tristate = <TEGRA_PIN_DISABLE>;
+ };
+ clk2_out_pw5 {
+ nvidia,pins = "clk2_out_pw5";
+ nvidia,function = "extperiph2";
+ nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+ nvidia,tristate = <TEGRA_PIN_DISABLE>;
+ nvidia,enable-input = <TEGRA_PIN_DISABLE>;
+ };
+ dap1_fs_pn0 {
+ nvidia,pins = "dap1_fs_pn0",
+ "dap1_din_pn1",
+ "dap1_dout_pn2",
+ "dap1_sclk_pn3";
+ nvidia,function = "hda";
+ nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+ nvidia,tristate = <TEGRA_PIN_DISABLE>;
+ };
+
/* Apalis I2C3 */
cam_i2c_scl_pbb1 {
nvidia,pins = "cam_i2c_scl_pbb1",
@@ -151,32 +175,32 @@
};

/* Apalis PWM1 */
- gpio_pu6 {
- nvidia,pins = "gpio_pu6";
+ pu6 {
+ nvidia,pins = "pu6";
nvidia,function = "pwm3";
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
};

/* Apalis PWM2 */
- gpio_pu5 {
- nvidia,pins = "gpio_pu5";
+ pu5 {
+ nvidia,pins = "pu5";
nvidia,function = "pwm2";
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
};

/* Apalis PWM3 */
- gpio_pu4 {
- nvidia,pins = "gpio_pu4";
+ pu4 {
+ nvidia,pins = "pu4";
nvidia,function = "pwm1";
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
};

/* Apalis PWM4 */
- gpio_pu3 {
- nvidia,pins = "gpio_pu3";
+ pu3 {
+ nvidia,pins = "pu3";
nvidia,function = "pwm0";
nvidia,pull = <TEGRA_PIN_PULL_NONE>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
@@ -635,7 +659,7 @@
nvidia,sys-clock-req-active-high;
};

- sdhci@78000600 {
+ emmc: sdhci@78000600 {
status = "okay";
bus-width = <8>;
non-removable;
--
1.9.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/