[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1428674162-11200-1-git-send-email-dinguyen@opensource.altera.com>
Date: Fri, 10 Apr 2015 08:56:02 -0500
From: <dinguyen@...nsource.altera.com>
To: <linux-mmc@...r.kernel.org>
CC: <dinh.linux@...il.com>, <linux-kernel@...r.kernel.org>,
<setka@...s.cz>, Dinh Nguyen <dinguyen@...nsource.altera.com>,
Seungwon Jeon <tgih.jun@...sung.com>,
Jaehoon Chung <jh80.chung@...sung.com>,
Chris Ball <chris@...ntf.net>,
Ulf Hansson <ulf.hansson@...aro.org>,
Doug Anderson <dianders@...omium.org>
Subject: [PATCH] mmc: dw_mmc: add fixed divider for ciu_clk on SoCFPGA
From: Dinh Nguyen <dinguyen@...nsource.altera.com>
The ciu_clk(Card Interface Unit Clock) on the SoCFPGA platform has a fixed
divider of 4. Add the fixed clock divide code in the platform's clock
setup code.
Technically, this code could be be moved to dw_mmc-socfpga, like the Rockchip
and Exynos, but I don't think it's necessary for a small change that is
needed for the entire SoCFPGA family of SoCs.
Also, "altr,dw-mshc-ciu-div" can be introduced to respresent the ciu divider,
but since this divider is common across all SoCFPGA, I don't think its
necessary.
Signed-off-by: Dinh Nguyen <dinguyen@...nsource.altera.com>
CC: Seungwon Jeon <tgih.jun@...sung.com>
CC: Jaehoon Chung <jh80.chung@...sung.com>
CC: Chris Ball <chris@...ntf.net>
CC: Ulf Hansson <ulf.hansson@...aro.org>
CC: Doug Anderson <dianders@...omium.org>
---
drivers/mmc/host/dw_mmc-pltfm.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/mmc/host/dw_mmc-pltfm.c b/drivers/mmc/host/dw_mmc-pltfm.c
index ec6dbcd..c92f790 100644
--- a/drivers/mmc/host/dw_mmc-pltfm.c
+++ b/drivers/mmc/host/dw_mmc-pltfm.c
@@ -26,13 +26,22 @@
#include "dw_mmc.h"
#include "dw_mmc-pltfm.h"
+#define SOCFPGA_CIU_CLK_DIV 4
+
static void dw_mci_pltfm_prepare_command(struct dw_mci *host, u32 *cmdr)
{
*cmdr |= SDMMC_CMD_USE_HOLD_REG;
}
+static int dw_mci_socfpga_setup_clock(struct dw_mci *host)
+{
+ host->bus_hz /= SOCFPGA_CIU_CLK_DIV;
+ return 0;
+}
+
static const struct dw_mci_drv_data socfpga_drv_data = {
.prepare_command = dw_mci_pltfm_prepare_command,
+ .setup_clock = dw_mci_socfpga_setup_clock,
};
static const struct dw_mci_drv_data pistachio_drv_data = {
--
2.2.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists