[PATCH v2 0/6] ARM: dts: Use correct CD properties for SDIO and eMMC in Snow and Peach

Alim Akhtar alim.akhtar at samsung.com
Sun Oct 18 20:04:24 PDT 2015

Hi Javier,

On 10/15/2015 10:21 PM, Javier Martinez Canillas wrote:
> Hello,
> The Exynos Chromebooks DTS don't use the correct card detection properties
> since these were carried from the vendor tree that had a reason to do so.
> There are two things that I noticed:
> 1) The Marvell WiFi SDIO is marked as broken-cd instead of non-removable:
> This causes the device to be removed when the system enters into a suspend
> state which leads to the following warning when the system is resumed:
> [  181.944636] mmc2: error -2 during resume (card was removed?)
> The rationale for using broken-cd is explained in downstream commit [0] and
> was that using the non-removable property caused issues with the mwifiex
> driver since the reset logic called the mmc_{remove,add}_host() functions.
> But the reset logic in the mwifiex mainline driver has changed and this is
> no longer the case so it's safe to use the non-removable property AFAICT.
> 2) The eMMC node has both broken-cd and non-removable but the MMC DT binding
> doc (Documentation/devicetree/bindings/mmc/mmc.txt) mentions that only one
> of these card detection properties should be used.
> So this series change both the SDIO WiFi and eMMC device nodes in the Snow,
> Peach Pi and Peach Pit boards DTS to use the non-removable property.
> To test, I've cherry picked commit [1] from the vendor tree that adds a
> debugfs entry to force a card reset and after the reset, the WiFi card still
> works correctly:
> $ echo 1 > /sys/kernel/debug/mwifiex/mlan0/reset
> And also tested that both eMMC and WiFi are working correctly after a S2R.
> The test were made on an Exynos5800 Peach Pi but I don't have access to a
> Snow anymore so testing patch 3/6 and 6/6 on that board will be appreciated.
> v1 of the series was [2] and this version fixes issues pointed out by Tomeu.
> Changes since v1:
>   - Replace broken-cd for non-removable in the correct mmc node for Snow.
>   - Correct the card detetion properties for eMMC in Snow, Pit and Pi.
>   - Also remove the card-detect-delay property when using non-removable.
> [0]: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/ad348e1e2381
> [1]: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/5995363523de
> [2]: https://lkml.org/lkml/2015/10/15/294
> Best regards,
> Javier
> Javier Martinez Canillas (6):
>    ARM: dts: Mark SDIO as non-removable in exynos5800-peach-pi
>    ARM: dts: Mark SDIO as non-removable in exynos5420-peach-pit
>    ARM: dts: Mark SDIO as non-removable in exynos5250-snow-common
>    ARM: dts: Remove broken-cd from eMMC node in exynos5800-peach-pi
>    ARM: dts: Remove broken-cd from eMMC node in exynos5420-peach-pi
>    ARM: dts: Mark eMMC as non-removable in exynos5250-snow-common
This series looks good to me, so feel free to add
Reviewed-by: Alim Akhtar <alim.akhtar at samsung.com>
and for patch 4 and 5: Tested-by: Alim Akhtar <alim.akhtar at samsung.com>

>   arch/arm/boot/dts/exynos5250-snow-common.dtsi | 6 ++----
>   arch/arm/boot/dts/exynos5420-peach-pit.dts    | 5 +----
>   arch/arm/boot/dts/exynos5800-peach-pi.dts     | 5 +----
>   3 files changed, 4 insertions(+), 12 deletions(-)

More information about the linux-arm-kernel mailing list