Re: [PATCH RFC] ARM: dts: mxs: leave card detect out of common mmc pins config

Hector Palacios
2013-04-08T13:58:23Z

On 04/08/2013 02:48 PM, Shawn Guo wrote:
> On Mon, Apr 08, 2013 at 12:12:20PM +0200, Hector Palacios wrote:
>> MicroSD card sockets don't usually have card detect line. This pin
>> is actually not needed for the MMC to work and it is more of a
>> platform design decission to have it.
>> The card detect pin already has a configuration entry of its own:
>> 'mmc0_cd_cfg' so we complete the iomux configuration here and let
>> platforms to include it or not depending on whether the card detect
>> line is routed to the SD socket.
>>
> Sounds sensible.
>
>> Signed-off-by: Hector Palacios <hector.palacios@digi.com>
>> ---
>>
>> Hello,
>>
>> All imx28 based platforms except 'bluegiga,apx4devkit' and
>> 'schulercontrol,imx28-sps1', use 'mmc0_cd_cfg' in their mmc configuration
>> so please check whether this patch would break these platforms.
>>
> I just tested the patch on imx28-evk and card-detection still works. So
> patches applied, thanks.

The EVK and most platforms will work because they are using 'mmc0_cd_cfg' so actually
this patch does not change anything on them.
Platforms 'bluegiga,apx4devkit' and 'schulercontrol,imx28-sps1' however are not
referencing 'mmc0_cd_cfg' so after applying this patch they will have unconfigured CD
line and they may break.
The driver will call get_cd() upon probing, which returns the status of the CD line.
Please check these two platforms before applying.

In fact I was looking now at how to skip the calling of get_cd() hook when you specify
'non-removable' in the Device Tree. According to the bindings document:

- non-removable: non-removable slot (like eMMC); *assume always present.*

This property is not handled in mxs-mmc.c but even if I add the code to handle it and
set MMC_CAP_NONREMOVABLE flag, the get_cd() is called at least once and returning with
the status of CD line. I think this is wrong because it should assume the card is
present. The CD line may not be connected at all and may have any value.

Regards,
--
Héctor Palacios