mbox series

[00/28] ARM: dts: tegra: apalis_t30: major revamp incl. v1.1 hardware support

Message ID 20180722164936.20581-1-marcel@ziswiler.com
Headers show
Series ARM: dts: tegra: apalis_t30: major revamp incl. v1.1 hardware support | expand

Message

Marcel Ziswiler July 22, 2018, 4:49 p.m. UTC
This series is a major overhaul and adds support for the V1.1 hardware
revision of the Toradex Apalis T30 system on module.

Marcel Ziswiler (28):
  ARM: tegra: apalis_t30: enable broken-hpi on emmc
  ARM: tegra: apalis_t30: fix mmc1 cmd pull-up
  ARM: tegra: apalis_t30: pull-up sd card detect pins
  ARM: tegra: apalis_t30: add local-mac-address property
  ARM: tegra: apalis_t30: reorder pcie properties
  ARM: tegra: apalis_t30: annotate pcie port nodes
  ARM: tegra: apalis_t30: reorder host1x/hdmi properties
  ARM: tegra: apalis_t30: regulator clean-up
  ARM: tegra: apalis_t30: add missing regulators
  ARM: tegra: apalis_t30: annotate uarts
  ARM: tegra: apalis_t30: drop unused cami2c label
  ARM: tegra: apalis_t30: white-space clean-up
  ARM: tegra: apalis_t30: drop unused mmc1/sd1 labels
  ARM: tegra: apalis_t30: annotate mmc1/sd1
  ARM: tegra: apalis_t30: move dr_mode property from phy to controller
  ARM: tegra: apalis_t30: reorder backlight properties
  ARM: tegra: apalis_t30: drop pwmleds
  ARM: tegra: apalis_t30: pinmux clean-up
  ARM: tegra: apalis_t30: add missing pinmux
  ARM: tegra: apalis_t30: use proper irq-gpio for stmpe811
  ARM: tegra: apalis_t30: further lm95245 temperature sensor annotation
  ARM: tegra: apalis_t30: add i2c-thermtrip
  ARM: tegra: apalis_t30: add proper emmc vmmc and vqmmc supplies
  ARM: tegra: apalis_t30: enable emmc ddr52 mode
  ARM: tegra: apalis_t30: rename clk to clock
  ARM: tegra: apalis_t30: line break long compatible property line
  ARM: tegra: apalis_t30: fix pcie switch vendor compatible
  ARM: tegra: apalis_t30: support v1.1 hardware revision

 Documentation/devicetree/bindings/arm/tegra.txt |    2 +
 arch/arm/boot/dts/Makefile                      |    1 +
 arch/arm/boot/dts/tegra30-apalis-eval.dts       |  116 +--
 arch/arm/boot/dts/tegra30-apalis-v1.1-eval.dts  |  280 ++++++
 arch/arm/boot/dts/tegra30-apalis-v1.1.dtsi      | 1189 +++++++++++++++++++++++
 arch/arm/boot/dts/tegra30-apalis.dtsi           |  595 ++++++++++--
 6 files changed, 2013 insertions(+), 170 deletions(-)
 create mode 100644 arch/arm/boot/dts/tegra30-apalis-v1.1-eval.dts
 create mode 100644 arch/arm/boot/dts/tegra30-apalis-v1.1.dtsi

Comments

Dmitry Osipenko July 24, 2018, 2:03 p.m. UTC | #1
On Sunday, 22 July 2018 19:49:09 MSK Marcel Ziswiler wrote:
> From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> 
> Avoid eMMC issues by specifying broken-hpi.
> 
> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> 
> ---

Is it a specific eMMC card model that has broken HPI or it is a host 
controller bug?


--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Marcel Ziswiler July 24, 2018, 2:26 p.m. UTC | #2
On Tue, 2018-07-24 at 17:03 +0300, Dmitry Osipenko wrote:
> On Sunday, 22 July 2018 19:49:09 MSK Marcel Ziswiler wrote:
> > From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> > 
> > Avoid eMMC issues by specifying broken-hpi.
> > 
> > Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> > 
> > ---
> 
> Is it a specific eMMC card model that has broken HPI or it is a host 
> controller bug?

That is a very good question. So far we only have confirmation that at
least some eMMCs from Hynix resp. SKHynix definitely do have bad
firmware. I also found out that ASUS resp. Google did disable HPI on
their Nexus 7 tablet. Therefore, we also disabled HPI quite a while ago
in our downstream BSPs which we successfully validated & verified doing
power cuts and running stress tests in our temperature chambers. I
guess we would have to run more extensive tests with mainline with and
without this setting to be able to really answer your question. For now
I just successfully run a few Apalis T30 and Colibri T30 modules with
this setting over the weekend doing both hdparm -t as well as dding
some urandom files to the eMMC in a loop without seeing any issues.
Dmitry Osipenko July 24, 2018, 2:55 p.m. UTC | #3
On Tuesday, 24 July 2018 17:26:58 MSK Marcel Ziswiler wrote:
> On Tue, 2018-07-24 at 17:03 +0300, Dmitry Osipenko wrote:
> 
> > On Sunday, 22 July 2018 19:49:09 MSK Marcel Ziswiler wrote:
> > 
> > > From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> > > 
> > > Avoid eMMC issues by specifying broken-hpi.
> > > 
> > > Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> > > 
> > > ---
> > 
> > 
> > Is it a specific eMMC card model that has broken HPI or it is a host 
> > controller bug?
> 
> 
> That is a very good question. So far we only have confirmation that at
> least some eMMCs from Hynix resp. SKHynix definitely do have bad
> firmware. I also found out that ASUS resp. Google did disable HPI on
> their Nexus 7 tablet. Therefore, we also disabled HPI quite a while ago
> in our downstream BSPs which we successfully validated & verified doing
> power cuts and running stress tests in our temperature chambers. I
> guess we would have to run more extensive tests with mainline with and
> without this setting to be able to really answer your question. For now
> I just successfully run a few Apalis T30 and Colibri T30 modules with
> this setting over the weekend doing both hdparm -t as well as dding
> some urandom files to the eMMC in a loop without seeing any issues.

The broken-hpi quirk was added for the Hynix cards specifically in [0]. Maybe 
you should just extend the mmc_ext_csd_fixups list in [1] with another OEM ID?

[0] https://patchwork.kernel.org/patch/9168455/
[1] drivers/mmc/core/quirks.h



--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Marcel Ziswiler July 25, 2018, 8:40 a.m. UTC | #4
On Tue, 2018-07-24 at 17:55 +0300, Dmitry Osipenko wrote:
> On Tuesday, 24 July 2018 17:26:58 MSK Marcel Ziswiler wrote:
> > On Tue, 2018-07-24 at 17:03 +0300, Dmitry Osipenko wrote:
> > 
> > > On Sunday, 22 July 2018 19:49:09 MSK Marcel Ziswiler wrote:
> > > 
> > > > From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> > > > 
> > > > Avoid eMMC issues by specifying broken-hpi.
> > > > 
> > > > Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> > > > 
> > > > ---
> > > 
> > > 
> > > Is it a specific eMMC card model that has broken HPI or it is a
> > > host 
> > > controller bug?
> > 
> > 
> > That is a very good question. So far we only have confirmation that
> > at
> > least some eMMCs from Hynix resp. SKHynix definitely do have bad
> > firmware. I also found out that ASUS resp. Google did disable HPI
> > on
> > their Nexus 7 tablet. Therefore, we also disabled HPI quite a while
> > ago
> > in our downstream BSPs which we successfully validated & verified
> > doing
> > power cuts and running stress tests in our temperature chambers. I
> > guess we would have to run more extensive tests with mainline with
> > and
> > without this setting to be able to really answer your question. For
> > now
> > I just successfully run a few Apalis T30 and Colibri T30 modules
> > with
> > this setting over the weekend doing both hdparm -t as well as dding
> > some urandom files to the eMMC in a loop without seeing any issues.
> 
> The broken-hpi quirk was added for the Hynix cards specifically in
> [0]. Maybe 
> you should just extend the mmc_ext_csd_fixups list in [1] with
> another OEM ID?
> 
> [0] https://patchwork.kernel.org/patch/9168455/
> [1] drivers/mmc/core/quirks.h

Ah, interesting, somehow I missed how that works. Let me give that a
try and if it does work I may make use of this in a v2.

Thanks for the tip, Dmitry.
Marcel Ziswiler July 25, 2018, 11:11 a.m. UTC | #5
On Sun, 2018-07-22 at 18:49 +0200, Marcel Ziswiler wrote:
> From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> 
> Add i2c-thermtrip which would set the DEV_OFF bit in the DCDC control
> register of the TPS65911 PMIC.
> 
> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
> 
> ---
> 
>  arch/arm/boot/dts/tegra30-apalis.dtsi | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/tegra30-apalis.dtsi
> b/arch/arm/boot/dts/tegra30-apalis.dtsi
> index 4e8ea1a8d9ec..f8caf3f07fff 100644
> --- a/arch/arm/boot/dts/tegra30-apalis.dtsi
> +++ b/arch/arm/boot/dts/tegra30-apalis.dtsi
> @@ -1055,6 +1055,14 @@
>  		nvidia,core-pwr-off-time = <0>;
>  		nvidia,core-power-req-active-high;
>  		nvidia,sys-clock-req-active-high;
> +
> +		/* Set DEV_OFF bit in DCDC control register of
> TPS65911 PMIC */
> +		i2c-thermtrip {
> +			nvidia,i2c-controller-id = <4>;
> +			nvidia,bus-addr = <0x2d>;
> +			nvidia,reg-addr = <0x3e>;

When running some more tests I just realized that the reg-addr should
really be 0x3f instead. Will change this in a v2.

> +			nvidia,reg-data = <0x1>;
> +		};
>  	};
>  
>  	ahub@70080000 {