Re: [PATCH] mmc: sdhci-of-arasan: Get quirks from device tree

From: Shawn Lin
Date: Mon Jul 27 2015 - 21:07:31 EST


On 2015/7/27 16:23, Michal Simek wrote:
On 07/27/2015 10:04 AM, Shawn Lin wrote:
This patch adds the interface to get quirks from dts, and
there is no need to assign different quirks by condition statement
of arasan IP version.

Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx>
---

drivers/mmc/host/sdhci-of-arasan.c | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/drivers/mmc/host/sdhci-of-arasan.c b/drivers/mmc/host/sdhci-of-arasan.c
index ef5a7d2..db07788 100644
--- a/drivers/mmc/host/sdhci-of-arasan.c
+++ b/drivers/mmc/host/sdhci-of-arasan.c
@@ -132,6 +132,7 @@ static SIMPLE_DEV_PM_OPS(sdhci_arasan_dev_pm_ops, sdhci_arasan_suspend,
static int sdhci_arasan_probe(struct platform_device *pdev)
{
int ret;
+ u32 quirktab[2];
struct clk *clk_xin;
struct sdhci_host *host;
struct sdhci_pltfm_host *pltfm_host;
@@ -172,6 +173,12 @@ static int sdhci_arasan_probe(struct platform_device *pdev)
goto clk_disable_all;
}
+ if (of_property_read_u32_array(pdev->dev.of_node,
+ "arasan,quirks", &quirktab[0], 2)) {
This is not documented anywhere that's why you should send binding to DT
mailing list and get ACK for it.
Thanks, Michal. You'r right, and forgive me, a green hand, for my inappropriate patch.
+ host->quirks |= quirktab[0];
+ host->quirks2 |= quirktab[1];
+ }
+
if (of_device_is_compatible(pdev->dev.of_node, "arasan,sdhci-4.9a")) {
host->quirks |= SDHCI_QUIRK_NO_HISPD_BIT;
host->quirks2 |= SDHCI_QUIRK2_HOST_NO_CMD23;

Also is there any binding which is done in this way?
Thanks.
BTW:
I got a FPGA board w/ a sdhci-arasn emmc controller & PHY IP which can support emmc version 5.1.
But I cannot find any documented details from IP databook for the vendor version, such as "sdhci-4.9a".
The only one is "ACS eMMC5.1 PHY IP uses TSMC ESD I/O protection structures TMSC product name
tphn28hpcgv2od3 Version 120a". Is "sdhci-120a" the version if I add a compatib node?
Kindly hope you can elaborate more ï)
Thanks,
Michal



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/