Re: [PATCH] sdhci: Add quirk and device tree parameter to force SD test mode

From: Adrian Hunter
Date: Wed Aug 24 2016 - 02:59:54 EST

On 24/08/16 01:14, Zach Brown wrote:
> On Tue, Aug 23, 2016 at 09:22:29AM +0300, Adrian Hunter wrote:
>> On 23/08/16 01:55, Zach Brown wrote:
>>> From: Jaeden Amero <jaeden.amero@xxxxxx>
>>> On some devices, CD is broken so that we must force the SDHCI into test
>>> mode and set CD, so that it always detects an SD card as present.
>>> In order to get a device with broken CD working, we had previously
>>> always set the SDHCI into test mode. Unfortunately, this had the side
>>> effect of making all SD cards used with our Linux kernels undetectable
>>> and non-removable.
>>> By making this "SD test mode" setting optional via a quirk, we can avoid
>>> this side effect for devices other than the device with broken CD.
>>> Additionally, we add a device parameter to sdhci-pltfm to allow all
>>> SDHCI drivers to enable this quirk.
>> Generally new quirks are not acceptable, but I don't see how test mode helps
>> very much since you still don't get any card detection events. If you
>> really need test mode, please explain more about how it helps (as opposed to
>> polling for example).
> Polling doesnt work in our case, since the issue lies with the SD controller
> itself. The SD controller in xilinx zynq devices requires the CDn signal to
> work. We have a situation
> where the controller requires the signal, but we can't use any of our pins to
> supply it. With test mode we can get the controller into a state where it works
> despite not having the signal.

Doesn't sound like something we need in sdhci.c. Have you considered adding
it to the driver, perhaps using the ->reset() callback?