mbox series

[v2,0/2] pinctrl: sh-pfc: gen2: initialize TDSEL register for ES1.0

Message ID 20190107221320.14930-1-wsa+renesas@sang-engineering.com (mailing list archive)
Headers show
Series pinctrl: sh-pfc: gen2: initialize TDSEL register for ES1.0 | expand

Message

Wolfram Sang Jan. 7, 2019, 10:13 p.m. UTC
During our SDHI hackathon, we found that Lager was the only Gen2 board
having issues with a stubborn SD card. The issue went away when setting
TDSEL to the expected value mentioned in the H2 documentation which is
sadly not the default value. M2-W, M2-N, and V2H have an expected value
of 0 for TDSEL, so this is why they likely work out of the box (V2H has
non-zero drive strength bit, though). I can't verify those SoCs here, no
boards. E2 has a non-zero expected value as well, so we fix it in this
patch series as well (although on my board the bootloader prepares TDSEL
correctly, but let's not rely on that).

Changes since V1:

* we discussed this with the HW team internally and concluded this is only
  needed for ES1.0 versions of these SoCs. So, setting TDSEL is now
  whitelisted using soc_device_match.

* Chris added to CC
  For two reasons: first, to give him a chance to test this so we don't
  break the RZ series. Second, according to Geert, R-Car E2X and RZ/G1C
  might have the same 'non-zero default value of TDSEL' problem and maybe
  need fixing, too. But we don't have HW to check/test this.

Looking forward to comments!

Thanks,

   Wolfram


Wolfram Sang (2):
  pinctrl: sh-pfc: r8a7790: initialize TDSEL register for ES1.0
  pinctrl: sh-pfc: r8a7794: initialize TDSEL register for ES1.0

 drivers/pinctrl/sh-pfc/pfc-r8a7790.c | 17 +++++++++++++++++
 drivers/pinctrl/sh-pfc/pfc-r8a7794.c | 16 ++++++++++++++++
 2 files changed, 33 insertions(+)

Comments

Chris Paterson Jan. 8, 2019, 11:18 a.m. UTC | #1
Hello Wolfram,

Thank you for the heads up.

> From: Wolfram Sang <wsa+renesas@sang-engineering.com>
> Sent: 07 January 2019 22:13
> 
> During our SDHI hackathon, we found that Lager was the only Gen2 board
> having issues with a stubborn SD card. The issue went away when setting
> TDSEL to the expected value mentioned in the H2 documentation which is
> sadly not the default value. M2-W, M2-N, and V2H have an expected value
> of 0 for TDSEL, so this is why they likely work out of the box (V2H has
> non-zero drive strength bit, though). I can't verify those SoCs here, no
> boards. E2 has a non-zero expected value as well, so we fix it in this
> patch series as well (although on my board the bootloader prepares TDSEL
> correctly, but let's not rely on that).
> 
> Changes since V1:
> 
> * we discussed this with the HW team internally and concluded this is only
>   needed for ES1.0 versions of these SoCs. So, setting TDSEL is now
>   whitelisted using soc_device_match.
> 
> * Chris added to CC
>   For two reasons: first, to give him a chance to test this so we don't
>   break the RZ series.

Neither RZ/G1[HE] devices are based on ES1.0 so these patches shouldn't have an effect.
According to the RZ/G1 H/W manuals, all RZ/G1[HMNE] devices are expecting 0 for TDSEL.

> Second, according to Geert, R-Car E2X and RZ/G1C
>   might have the same 'non-zero default value of TDSEL' problem and maybe
>   need fixing, too. But we don't have HW to check/test this.

Geert is correct. We'll have to look into it.

Kind regards, Chris

> 
> Looking forward to comments!
> 
> Thanks,
> 
>    Wolfram
> 
> 
> Wolfram Sang (2):
>   pinctrl: sh-pfc: r8a7790: initialize TDSEL register for ES1.0
>   pinctrl: sh-pfc: r8a7794: initialize TDSEL register for ES1.0
> 
>  drivers/pinctrl/sh-pfc/pfc-r8a7790.c | 17 +++++++++++++++++
>  drivers/pinctrl/sh-pfc/pfc-r8a7794.c | 16 ++++++++++++++++
>  2 files changed, 33 insertions(+)
> 
> --
> 2.11.0