Skip to content

sdhci-esdhc-imx: use gpio for write protection and card detection

Arnaud Patard (Rtp) linux-arm-kernel linux-mmc 3 versions – New

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest posting 2/20 of 5 patches 0 repliesNew
  2. v3 posting 1/20 of 5 patches 0 repliesSuperseded
  3. v20 of 5 patches 0 repliesSuperseded

Patches in v3 posting 2/2 No applies recorded yet

None of the 5 patches the cover letter announces are in this archive.

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v3 yet.

Read the v3 thread

Cover letter [PATCH V3 0/5] sdhci-esdhc-imx: use gpio for write protection and card detection
Quoted 1 line · Eric Benard

Hi Arnaud,

Salut !

Quoted 16 lines · Arnaud Patard (Rtp)
Quoted 14 lines

Wolfram Sang<[email protected]> writes:

Hi,

Quoted 9 lines

Take #3, changes:

* also intercept calls to SDHCI_SIGNAL_ENABLE (needed on mx25)
* remove unconditional BROKEN_CARD_DETECTION (leftover)
* improved kernel-doc about unused GPIO
* added tags from Eric

Tested now by me and Marc on mx35, Eric on mx25/35/51. Arnaud, did you have a chance to retest on mx51? What about the FSL guys? :)

Quoted 6 lines
Quoted 4 lines

I'm getting a hard freeze on my efika sb and mx once I remove the unconditional BROKEN_CARD_DETECTION flag. I'm still investigating the issue. I'll keep you informed if I find something.

may you please test the attached patch. It may give someone with a better knowledge of sdhci than me an idea of what is wrong.

I've tested this patch on my efikamx and this patch does solve the issue. I didn't test on the efika smartbook but I guess it'll be fine here too. Thanks.

Quoted 6 lines

Here are the workaround this patch add :
- we can't let enable or disable irq enabled when the card is present/not present, else the irq triger again which explains why you get the freeze -> so we must rely on the card presence bit to enable the right interrupt,

so, we're getting an interrupt storm, right ? can't it be fixed by setting a different irq type ?

Quoted 10 lines

- we can't turn the clock off if we want the card detect to work when the card is removed -> as a quick workaround this patch prevents sdhci_set_clock from turning off the clocks when the SDHCI_INT_CARD_INSERT interrupt is enabled.

Also, I had to change the MX51_PAD_GPIO1_0__SD1_CD pad setting as follows to enable the internal pull up :
_MX51_PAD_GPIO1_0__SD1_CD | MUX_PAD_CTRL(PAD_CTL_PUS_22K_UP |
PAD_CTL_PKE | PAD_CTL_SRE_FAST | PAD_CTL_DSE_HIGH | PAD_CTL_PUE | PAD_CTL_HYS),

It worked without changing this.

Arnaud