From mboxrd@z Thu Jan 1 00:00:00 1970 From: Subject: [PATCH 1/4 v3] ESDHC: add PIO mode support Date: Mon, 16 Jan 2012 14:13:03 +0800 Message-ID: <1326694386-28820-2-git-send-email-r66093@freescale.com> References: <1326694386-28820-1-git-send-email-r66093@freescale.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from am1ehsobe005.messaging.microsoft.com ([213.199.154.208]:1610 "EHLO AM1EHSOBE005.bigfish.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750728Ab2APGKi (ORCPT ); Mon, 16 Jan 2012 01:10:38 -0500 In-Reply-To: <1326694386-28820-1-git-send-email-r66093@freescale.com> Sender: linux-mmc-owner@vger.kernel.org List-Id: linux-mmc@vger.kernel.org To: linux-mmc@vger.kernel.org Cc: Jerry Huang , Gao Guanhua , Chris Ball From: Jerry Huang For some FSL ESDHC controller(e.g. P2020E, Rev1.0), the SDHC can not work on DMA mode because of the hardware bug, so we set a broken dma flag and use PIO mode. Signed-off-by: Gao Guanhua Signed-off-by: Jerry Huang CC: Chris Ball Acked-by: Anton Vorontsov --- changes for v2: - change the property to compatible for quirks changes for v3: - add the Acked-by drivers/mmc/host/sdhci-pltfm.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/drivers/mmc/host/sdhci-pltfm.c b/drivers/mmc/host/sdhci-pltfm.c index 03970bc..67b9ab0 100644 --- a/drivers/mmc/host/sdhci-pltfm.c +++ b/drivers/mmc/host/sdhci-pltfm.c @@ -2,7 +2,7 @@ * sdhci-pltfm.c Support for SDHCI platform devices * Copyright (c) 2009 Intel Corporation * - * Copyright (c) 2007 Freescale Semiconductor, Inc. + * Copyright (c) 2007, 2011 Freescale Semiconductor, Inc. * Copyright (c) 2009 MontaVista Software, Inc. * * Authors: Xiaobo Xie @@ -71,6 +71,9 @@ void sdhci_get_of_property(struct platform_device *pdev) if (sdhci_of_wp_inverted(np)) host->quirks |= SDHCI_QUIRK_INVERTED_WRITE_PROTECT; + if (of_device_is_compatible(np, "fsl,p2020-rev1-esdhc")) + host->quirks |= SDHCI_QUIRK_BROKEN_DMA; + clk = of_get_property(np, "clock-frequency", &size); if (clk && size == sizeof(*clk) && *clk) pltfm_host->clock = be32_to_cpup(clk); -- 1.7.5.4