[PATCH V2 00/11] mmc: sdhci-esdhci-imx: fix cd/wp regression
Dong Aisheng
aisheng.dong at freescale.com
Wed Jul 22 05:52:59 PDT 2015
This is a rebase version of former two patch series:
http://lists.infradead.org/pipermail/linux-arm-kernel/2015-June/351167.html
http://www.spinics.net/lists/arm-kernel/msg426156.html
No other changes.
Commit 8d86e4f mmc: sdhci-esdhc-imx: Call mmc_of_parse()
seriously break the sd card detect/write protect function
of most IMX platforms since a lot of GPIO flags of cd-gpios/wp-gpios
are wrongly set in devicetree.
It breaks the following things:
1) cd-gpio function enable
Most IMX boards GPIO card detect function becomes unwork and using card
polling mode instead by mistake.
Openning CONFIG_MMC_DEBUG will easily see that.
It is caused by the default quirk SDHCI_QUIRK_BROKEN_CARD_DETECTION
is not cleared for dt platform by commit 8d86e4f, then
MMC_CAP_NEEDS_POLL is wrongly set.
This is fixed by patch 6~7
2) cd-gpio/wp-gpio polarity
Before commit 8d86e4f, we do not use GPIO flags passed from
devicetree. But after it, GPIO flags specfied in dt becomes valid
and will affect the normal cd/wp function.
This is fixed by patch 1~5
3) max-frequency not work in sdhci
mmc_of_parse will parse the max-frequency from devicetree,
however, its value will be overwritten by common sdhci driver
finnally,so it does not actually work.
Patch 8 is to fix it.
4) patch 9~11 clear unneeded parsing code after switch to mmc_of_parse().
The series is based on ulf/next tree.
I also CCed this patch series to all board maintainer related in this
change, hope they can help test it.
I only tested some freescale IMX boards.
Dong Aisheng (11):
dts: imx51: fix sd card gpio polarity specified in device tree
dts: imx53: fix sd card gpio polarity specified in device tree
dts: imx6: fix sd card gpio polarity specified in device tree
dts: imx25: fix sd card gpio polarity specified in device tree
dts: imx7: fix sd card gpio polarity specified in device tree
mmc: sdhci-esdhc-imx: fix cd regression for dt platform
mmc: sdhci-esdhc-imx: move all non dt probe code into one function
mmc: sdhci: make max-frequency property in device tree work
mmc: sdhci-esdhc-imx: remove duplicated dts parsing
mmc: sdhci-esdhc-imx: clear f_max in boarddata
dts: mmc: fsl-imx-esdhc: remove fsl,cd-controller support
.../devicetree/bindings/mmc/fsl-imx-esdhc.txt | 2 -
arch/arm/boot/dts/imx25-pdk.dts | 4 +-
arch/arm/boot/dts/imx51-apf51dev.dts | 2 +-
arch/arm/boot/dts/imx53-ard.dts | 4 +-
arch/arm/boot/dts/imx53-m53evk.dts | 4 +-
arch/arm/boot/dts/imx53-qsb-common.dtsi | 4 +-
arch/arm/boot/dts/imx53-smd.dts | 4 +-
arch/arm/boot/dts/imx53-tqma53.dtsi | 4 +-
arch/arm/boot/dts/imx53-tx53.dtsi | 4 +-
arch/arm/boot/dts/imx53-voipac-bsb.dts | 4 +-
arch/arm/boot/dts/imx6dl-riotboard.dts | 8 +-
arch/arm/boot/dts/imx6q-arm2.dts | 5 +-
arch/arm/boot/dts/imx6q-gk802.dts | 3 +-
arch/arm/boot/dts/imx6q-tbs2910.dts | 4 +-
arch/arm/boot/dts/imx6qdl-aristainetos.dtsi | 4 +-
arch/arm/boot/dts/imx6qdl-aristainetos2.dtsi | 4 +-
arch/arm/boot/dts/imx6qdl-cubox-i.dtsi | 2 +-
arch/arm/boot/dts/imx6qdl-dfi-fs700-m60.dtsi | 4 +-
arch/arm/boot/dts/imx6qdl-gw52xx.dtsi | 2 +-
arch/arm/boot/dts/imx6qdl-gw53xx.dtsi | 2 +-
arch/arm/boot/dts/imx6qdl-gw54xx.dtsi | 2 +-
arch/arm/boot/dts/imx6qdl-hummingboard.dtsi | 2 +-
arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi | 4 +-
arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi | 8 +-
arch/arm/boot/dts/imx6qdl-rex.dtsi | 4 +-
arch/arm/boot/dts/imx6qdl-sabreauto.dtsi | 4 +-
arch/arm/boot/dts/imx6qdl-sabrelite.dtsi | 6 +-
arch/arm/boot/dts/imx6qdl-sabresd.dtsi | 8 +-
arch/arm/boot/dts/imx6qdl-tx6.dtsi | 4 +-
arch/arm/boot/dts/imx6qdl-wandboard.dtsi | 6 +-
arch/arm/boot/dts/imx6sl-evk.dts | 10 +-
arch/arm/boot/dts/imx6sx-sabreauto.dts | 4 +-
arch/arm/boot/dts/imx6sx-sdb.dtsi | 4 +-
arch/arm/boot/dts/imx7d-sdb.dts | 4 +-
drivers/mmc/host/sdhci-esdhc-imx.c | 210 ++++++++++-----------
drivers/mmc/host/sdhci.c | 9 +-
include/linux/platform_data/mmc-esdhc-imx.h | 1 -
37 files changed, 185 insertions(+), 179 deletions(-)
--
1.9.1
More information about the linux-arm-kernel
mailing list