2015-08-28 16:00:30

by Marcel Ziswiler

[permalink] [raw]
Subject: [PATCH 00/11] arm: tegra: colibri_t30: fix hdmi, power i2c, wakeup and activate touch

This series finally continues on my previous Easter efforts (BTW:
thanks all for the feedback and all the patches thereof already having
been applied) and additionally to activating the STMPE811 touch
controller also fixes HDMI, power I2C and the wake-up key.


Marcel Ziswiler (11):
arm: tegra: colibri_t30: update hardware revisions compatible comment
arm: tegra: colibri_t30: fix hdmi supply
arm: tegra: colibri_t30: improve comment about thermal alert pin
arm: tegra: colibri_t30: add pin muxing for on-module power i2c
arm: tegra: colibri_t30: fix comment about 3v3 fixed supply
arm: tegra: colibri_t30: add touch pen interrupt pin muxing
arm: tegra: colibri_t30: activate stmpe811 touch controller
arm: tegra: colibri_t30: replace emmc label by comment
arm: tegra: colibri_t30: fix vendor string of m41t0m6 rtc on eval
board
arm: tegra: colibri_t30: add comment concerning sd/mmc for eval board
arm: tegra: colibri_t30: fix power/wakeup key for eval board

arch/arm/boot/dts/tegra30-colibri-eval-v3.dts | 9 +-
arch/arm/boot/dts/tegra30-colibri.dtsi | 124 ++++++++++++++++++++++----
2 files changed, 111 insertions(+), 22 deletions(-)

--
2.4.3


2015-08-28 16:00:21

by Marcel Ziswiler

[permalink] [raw]
Subject: [PATCH 01/11] arm: tegra: colibri_t30: update hardware revisions compatible comment

Update introductory comment about what exact hardware revisions this
device tree is compatible with as a hint for our customers.

Signed-off-by: Marcel Ziswiler <[email protected]>
---

arch/arm/boot/dts/tegra30-colibri.dtsi | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/tegra30-colibri.dtsi b/arch/arm/boot/dts/tegra30-colibri.dtsi
index c4ed1be..83ba3f2 100644
--- a/arch/arm/boot/dts/tegra30-colibri.dtsi
+++ b/arch/arm/boot/dts/tegra30-colibri.dtsi
@@ -2,8 +2,8 @@
#include "tegra30.dtsi"

/*
- * Toradex Colibri T30 Device Tree
- * Compatible for Revisions 1.1B/1.1C/1.1D
+ * Toradex Colibri T30 Module Device Tree
+ * Compatible for Revisions V1.1B, V1.1C, V1.1D, V1.1E; IT: V1.1A
*/
/ {
model = "Toradex Colibri T30";
--
2.4.3

2015-08-28 16:00:51

by Marcel Ziswiler

[permalink] [raw]
Subject: [PATCH 02/11] arm: tegra: colibri_t30: fix hdmi supply

Fix HDMI supplies (both regular VDD as well as PLL ones) being switched
by the TPS65911 PMIC's GPIO6 aka EN_VDD_HDMI by introducing two new
GPIO switched fixed regulators avdd_hdmi_pll_1v8_reg and
avdd_hdmi_3v3_reg.

Signed-off-by: Marcel Ziswiler <[email protected]>
---

arch/arm/boot/dts/tegra30-colibri.dtsi | 32 +++++++++++++++++++++++++++-----
1 file changed, 27 insertions(+), 5 deletions(-)

diff --git a/arch/arm/boot/dts/tegra30-colibri.dtsi b/arch/arm/boot/dts/tegra30-colibri.dtsi
index 83ba3f2..5e6a47e 100644
--- a/arch/arm/boot/dts/tegra30-colibri.dtsi
+++ b/arch/arm/boot/dts/tegra30-colibri.dtsi
@@ -15,8 +15,8 @@

host1x@50000000 {
hdmi@54280000 {
- vdd-supply = <&sys_3v3_reg>;
- pll-supply = <&vio_reg>;
+ vdd-supply = <&avdd_hdmi_3v3_reg>;
+ pll-supply = <&avdd_hdmi_pll_1v8_reg>;

nvidia,hpd-gpio =
<&gpio TEGRA_GPIO(N, 7) GPIO_ACTIVE_HIGH>;
@@ -365,18 +365,40 @@
#address-cells = <1>;
#size-cells = <0>;

- sys_3v3_reg: regulator@100 {
+ avdd_hdmi_pll_1v8_reg: regulator@100 {
compatible = "regulator-fixed";
reg = <100>;
+ regulator-name = "+V1.8_AVDD_HDMI_PLL";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ enable-active-high;
+ gpio = <&pmic 6 GPIO_ACTIVE_HIGH>;
+ vin-supply = <&vio_reg>;
+ };
+
+ sys_3v3_reg: regulator@101 {
+ compatible = "regulator-fixed";
+ reg = <101>;
regulator-name = "3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};

- charge_pump_5v0_reg: regulator@101 {
+ avdd_hdmi_3v3_reg: regulator@102 {
compatible = "regulator-fixed";
- reg = <101>;
+ reg = <102>;
+ regulator-name = "+V3.3_AVDD_HDMI";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ enable-active-high;
+ gpio = <&pmic 6 GPIO_ACTIVE_HIGH>;
+ vin-supply = <&sys_3v3_reg>;
+ };
+
+ charge_pump_5v0_reg: regulator@103 {
+ compatible = "regulator-fixed";
+ reg = <103>;
regulator-name = "5v0";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
--
2.4.3

2015-08-28 16:01:44

by Marcel Ziswiler

[permalink] [raw]
Subject: [PATCH 03/11] arm: tegra: colibri_t30: improve comment about thermal alert pin

Improve the comment about the THERMD_ALERT# pin which is the unlatched
I2C address pin of the LM95245 temperature sensor and therefore
requires disabling for now otherwise it won't get detected properly.

While at it also move that pin further down to have it alphabetically
sorted again.

Signed-off-by: Marcel Ziswiler <[email protected]>
---

arch/arm/boot/dts/tegra30-colibri.dtsi | 22 +++++++++++++---------
1 file changed, 13 insertions(+), 9 deletions(-)

diff --git a/arch/arm/boot/dts/tegra30-colibri.dtsi b/arch/arm/boot/dts/tegra30-colibri.dtsi
index 5e6a47e..074123f 100644
--- a/arch/arm/boot/dts/tegra30-colibri.dtsi
+++ b/arch/arm/boot/dts/tegra30-colibri.dtsi
@@ -66,15 +66,6 @@
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
};

- /* Thermal alert, need to be disabled */
- lcd_dc1_pd2 {
- nvidia,pins = "lcd_dc1_pd2";
- nvidia,function = "rsvd3";
- nvidia,pull = <TEGRA_PIN_PULL_NONE>;
- nvidia,tristate = <TEGRA_PIN_DISABLE>;
- nvidia,enable-input = <TEGRA_PIN_ENABLE>;
- };
-
/* Colibri MMC */
kb_row10_ps2 {
nvidia,pins = "kb_row10_ps2";
@@ -167,6 +158,19 @@
nvidia,pull = <TEGRA_PIN_PULL_UP>;
nvidia,tristate = <TEGRA_PIN_DISABLE>;
};
+
+ /*
+ * THERMD_ALERT#, unlatched I2C address pin of LM95245
+ * temperature sensor therefore requires disabling for
+ * now
+ */
+ lcd_dc1_pd2 {
+ nvidia,pins = "lcd_dc1_pd2";
+ nvidia,function = "rsvd3";
+ nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+ nvidia,tristate = <TEGRA_PIN_DISABLE>;
+ nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+ };
};
};

--
2.4.3

2015-08-28 16:00:17

by Marcel Ziswiler

[permalink] [raw]
Subject: [PATCH 04/11] arm: tegra: colibri_t30: add pin muxing for on-module power i2c

Add pin muxing for the on-module power I2C bus which connects to the
PMICs, temperature sensor and touch screen controller.

Signed-off-by: Marcel Ziswiler <[email protected]>
---

arch/arm/boot/dts/tegra30-colibri.dtsi | 12 ++++++++++++
1 file changed, 12 insertions(+)

diff --git a/arch/arm/boot/dts/tegra30-colibri.dtsi b/arch/arm/boot/dts/tegra30-colibri.dtsi
index 074123f..4ddccfa 100644
--- a/arch/arm/boot/dts/tegra30-colibri.dtsi
+++ b/arch/arm/boot/dts/tegra30-colibri.dtsi
@@ -159,6 +159,18 @@
nvidia,tristate = <TEGRA_PIN_DISABLE>;
};

+ /* Power I2C (On-module) */
+ pwr_i2c_scl_pz6 {
+ nvidia,pins = "pwr_i2c_scl_pz6",
+ "pwr_i2c_sda_pz7";
+ nvidia,function = "i2cpwr";
+ nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+ nvidia,tristate = <TEGRA_PIN_DISABLE>;
+ nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+ nvidia,lock = <TEGRA_PIN_DISABLE>;
+ nvidia,open-drain = <TEGRA_PIN_ENABLE>;
+ };
+
/*
* THERMD_ALERT#, unlatched I2C address pin of LM95245
* temperature sensor therefore requires disabling for
--
2.4.3

2015-08-28 16:00:32

by Marcel Ziswiler

[permalink] [raw]
Subject: [PATCH 05/11] arm: tegra: colibri_t30: fix comment about 3v3 fixed supply

Fix the comment about the 3v3 fixed supply as the previous v3_3 was
bogus.

Signed-off-by: Marcel Ziswiler <[email protected]>
---

arch/arm/boot/dts/tegra30-colibri.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/tegra30-colibri.dtsi b/arch/arm/boot/dts/tegra30-colibri.dtsi
index 4ddccfa..57335c3 100644
--- a/arch/arm/boot/dts/tegra30-colibri.dtsi
+++ b/arch/arm/boot/dts/tegra30-colibri.dtsi
@@ -252,7 +252,7 @@
/*
* EN_+V3.3 switching via FET:
* +V3.3_AUDIO_AVDD_S, +V3.3 and +V1.8_VDD_LAN
- * see also v3_3 fixed supply
+ * see also 3v3 fixed supply
*/
ldo2_reg: ldo2 {
regulator-name = "en_3v3";
--
2.4.3

2015-08-28 16:02:35

by Marcel Ziswiler

[permalink] [raw]
Subject: [PATCH 06/11] arm: tegra: colibri_t30: add touch pen interrupt pin muxing

Add TOUCH_PEN_INT# pin muxing required for proper STMPE811 touch screen
controller operation.

Signed-off-by: Marcel Ziswiler <[email protected]>
---

arch/arm/boot/dts/tegra30-colibri.dtsi | 9 +++++++++
1 file changed, 9 insertions(+)

diff --git a/arch/arm/boot/dts/tegra30-colibri.dtsi b/arch/arm/boot/dts/tegra30-colibri.dtsi
index 57335c3..fba3d2a 100644
--- a/arch/arm/boot/dts/tegra30-colibri.dtsi
+++ b/arch/arm/boot/dts/tegra30-colibri.dtsi
@@ -183,6 +183,15 @@
nvidia,tristate = <TEGRA_PIN_DISABLE>;
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
};
+
+ /* TOUCH_PEN_INT# */
+ pv0 {
+ nvidia,pins = "pv0";
+ nvidia,function = "rsvd1";
+ nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+ nvidia,tristate = <TEGRA_PIN_DISABLE>;
+ nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+ };
};
};

--
2.4.3

2015-08-28 16:00:44

by Marcel Ziswiler

[permalink] [raw]
Subject: [PATCH 07/11] arm: tegra: colibri_t30: activate stmpe811 touch controller

Activate STMPE811 touch controller as found on Colibri T30 modules.

Signed-off-by: Marcel Ziswiler <[email protected]>
---

arch/arm/boot/dts/tegra30-colibri.dtsi | 40 ++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)

diff --git a/arch/arm/boot/dts/tegra30-colibri.dtsi b/arch/arm/boot/dts/tegra30-colibri.dtsi
index fba3d2a..5f8ec5c 100644
--- a/arch/arm/boot/dts/tegra30-colibri.dtsi
+++ b/arch/arm/boot/dts/tegra30-colibri.dtsi
@@ -320,6 +320,46 @@
};
};

+ /* STMPE811 touch screen controller */
+ stmpe811@41 {
+ compatible = "st,stmpe811";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg = <0x41>;
+ interrupts = <TEGRA_GPIO(V, 0) IRQ_TYPE_LEVEL_LOW>;
+ interrupt-parent = <&gpio>;
+ interrupt-controller;
+ id = <0>;
+ blocks = <0x5>;
+ irq-trigger = <0x1>;
+
+ stmpe_touchscreen {
+ compatible = "st,stmpe-ts";
+ reg = <0>;
+ /* 3.25 MHz ADC clock speed */
+ st,adc-freq = <1>;
+ /* 8 sample average control */
+ st,ave-ctrl = <3>;
+ /* 7 length fractional part in z */
+ st,fraction-z = <7>;
+ /*
+ * 50 mA typical 80 mA max touchscreen drivers
+ * current limit value
+ */
+ st,i-drive = <1>;
+ /* 12-bit ADC */
+ st,mod-12b = <1>;
+ /* internal ADC reference */
+ st,ref-sel = <0>;
+ /* ADC converstion time: 80 clocks */
+ st,sample-time = <4>;
+ /* 1 ms panel driver settling time */
+ st,settling = <3>;
+ /* 5 ms touch detect interrupt delay */
+ st,touch-det-delay = <5>;
+ };
+ };
+
/*
* LM95245 temperature sensor
* Note: OVERT_N directly connected to PMIC PWRDN
--
2.4.3

2015-08-28 16:01:11

by Marcel Ziswiler

[permalink] [raw]
Subject: [PATCH 08/11] arm: tegra: colibri_t30: replace emmc label by comment

Rather than a bogus label just add a comment identifying the SDHCI
instance connected to the on-module eMMC.

Signed-off-by: Marcel Ziswiler <[email protected]>
---

arch/arm/boot/dts/tegra30-colibri.dtsi | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/tegra30-colibri.dtsi b/arch/arm/boot/dts/tegra30-colibri.dtsi
index 5f8ec5c..67ba943 100644
--- a/arch/arm/boot/dts/tegra30-colibri.dtsi
+++ b/arch/arm/boot/dts/tegra30-colibri.dtsi
@@ -396,7 +396,8 @@
nvidia,sys-clock-req-active-high;
};

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

2015-08-28 16:00:59

by Marcel Ziswiler

[permalink] [raw]
Subject: [PATCH 09/11] arm: tegra: colibri_t30: fix vendor string of m41t0m6 rtc on eval board

Fix compatible vendor string of M41T0M6 real time clock as found on the
Colibri Evaluation board.

Signed-off-by: Marcel Ziswiler <[email protected]>
---

arch/arm/boot/dts/tegra30-colibri-eval-v3.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/tegra30-colibri-eval-v3.dts b/arch/arm/boot/dts/tegra30-colibri-eval-v3.dts
index 4d3ddc5..46a7c2d 100644
--- a/arch/arm/boot/dts/tegra30-colibri-eval-v3.dts
+++ b/arch/arm/boot/dts/tegra30-colibri-eval-v3.dts
@@ -55,7 +55,7 @@

/* M41T0M6 real time clock on carrier board */
rtc@68 {
- compatible = "stm,m41t00";
+ compatible = "st,m41t00";
reg = <0x68>;
};
};
--
2.4.3

2015-08-28 16:00:45

by Marcel Ziswiler

[permalink] [raw]
Subject: [PATCH 10/11] arm: tegra: colibri_t30: add comment concerning sd/mmc for eval board

Instead of adding an otherwise unused sdmmc label just add a comment.

Signed-off-by: Marcel Ziswiler <[email protected]>
---

arch/arm/boot/dts/tegra30-colibri-eval-v3.dts | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/arm/boot/dts/tegra30-colibri-eval-v3.dts b/arch/arm/boot/dts/tegra30-colibri-eval-v3.dts
index 46a7c2d..a6c98b1 100644
--- a/arch/arm/boot/dts/tegra30-colibri-eval-v3.dts
+++ b/arch/arm/boot/dts/tegra30-colibri-eval-v3.dts
@@ -84,6 +84,7 @@
};
};

+ /* SD/MMC */
sdhci@78000200 {
status = "okay";
bus-width = <4>;
--
2.4.3

2015-08-28 16:00:55

by Marcel Ziswiler

[permalink] [raw]
Subject: [PATCH 11/11] arm: tegra: colibri_t30: fix power/wakeup key for eval board

Rather than a power key SODIMM pin 45 is actually used for wake-up
purpose which this patch fixes.

Signed-off-by: Marcel Ziswiler <[email protected]>
---

arch/arm/boot/dts/tegra30-colibri-eval-v3.dts | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm/boot/dts/tegra30-colibri-eval-v3.dts b/arch/arm/boot/dts/tegra30-colibri-eval-v3.dts
index a6c98b1..3ff019f 100644
--- a/arch/arm/boot/dts/tegra30-colibri-eval-v3.dts
+++ b/arch/arm/boot/dts/tegra30-colibri-eval-v3.dts
@@ -137,10 +137,10 @@
gpio-keys {
compatible = "gpio-keys";

- power {
- label = "Power";
+ wakeup {
+ label = "SODIMM pin 45 wakeup";
gpios = <&gpio TEGRA_GPIO(V, 1) GPIO_ACTIVE_HIGH>;
- linux,code = <KEY_POWER>;
+ linux,code = <KEY_WAKEUP>;
debounce-interval = <10>;
gpio-key,wakeup;
};
--
2.4.3