From: vm.rod25@gmail.com (vm.rod25 at gmail.com)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v9 4/6] davinci: MMC/SD support for Omapl138-Hawkboard
Date: Wed, 1 Dec 2010 13:32:27 -0600 [thread overview]
Message-ID: <1291231949-23835-5-git-send-email-vm.rod25@gmail.com> (raw)
In-Reply-To: <1291231949-23835-1-git-send-email-vm.rod25@gmail.com>
From: Victor Rodriguez <victor.rodriguez@sasken.com>
This patch adds MMC/SD support for the Hawkboard-L138 system
Signed-off-by: Victor Rodriguez <victor.rodriguez@sasken.com>
Tested-by: Rene Gonzalez <renegs.2378@gmail.com>
---
Notes:
This patch works with da8xx_omapl_defconfig
In order to test it select in menuconfig like insmodule
MMC/SD/SDIO card support --->
MMC block device driver
Use bounce buffer for simple hosts
TI DAVINCI Multimedia Card Interface support
arch/arm/mach-davinci/board-omapl138-hawk.c | 63 +++++++++++++++++++++++++++
1 files changed, 63 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-davinci/board-omapl138-hawk.c b/arch/arm/mach-davinci/board-omapl138-hawk.c
index cefff9b..d0c853f 100644
--- a/arch/arm/mach-davinci/board-omapl138-hawk.c
+++ b/arch/arm/mach-davinci/board-omapl138-hawk.c
@@ -22,6 +22,8 @@
#include <mach/mux.h>
#define HAWKBOARD_PHY_ID "0:07"
+#define DA850_HAWK_MMCSD_CD_PIN GPIO_TO_PIN(3, 12)
+#define DA850_HAWK_MMCSD_WP_PIN GPIO_TO_PIN(3, 13)
static short omapl138_hawk_mii_pins[] __initdata = {
DA850_MII_TXEN, DA850_MII_TXCLK, DA850_MII_COL, DA850_MII_TXD_3,
@@ -110,6 +112,65 @@ static struct edma_rsv_info *da850_edma_rsv[2] = {
&da850_edma_cc1_rsv,
};
+static const short hawk_mmcsd0_pins[] = {
+ DA850_MMCSD0_DAT_0, DA850_MMCSD0_DAT_1, DA850_MMCSD0_DAT_2,
+ DA850_MMCSD0_DAT_3, DA850_MMCSD0_CLK, DA850_MMCSD0_CMD,
+ DA850_GPIO3_12, DA850_GPIO3_13,
+ -1
+};
+
+static int da850_hawk_mmc_get_ro(int index)
+{
+ return gpio_get_value(DA850_HAWK_MMCSD_WP_PIN);
+}
+
+static int da850_hawk_mmc_get_cd(int index)
+{
+ return !gpio_get_value(DA850_HAWK_MMCSD_CD_PIN);
+}
+
+static struct davinci_mmc_config da850_mmc_config = {
+ .get_ro = da850_hawk_mmc_get_ro,
+ .get_cd = da850_hawk_mmc_get_cd,
+ .wires = 4,
+ .max_freq = 50000000,
+ .caps = MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED,
+ .version = MMC_CTLR_VERSION_2,
+};
+
+static __init void omapl138_hawk_mmc_init(void)
+{
+ int ret;
+
+ ret = davinci_cfg_reg_list(hawk_mmcsd0_pins);
+ if (ret) {
+ pr_warning("%s: MMC/SD0 mux setup failed: %d\n",
+ __func__, ret);
+ return;
+ }
+
+ ret = gpio_request_one(DA850_HAWK_MMCSD_CD_PIN,
+ GPIOF_DIR_IN, "MMC CD");
+ if (ret < 0) {
+ pr_warning("%s: can not open GPIO %d\n",
+ __func__, DA850_HAWK_MMCSD_CD_PIN);
+ return;
+ }
+
+ ret = gpio_request_one(DA850_HAWK_MMCSD_WP_PIN,
+ GPIOF_DIR_IN, "MMC WP");
+ if (ret < 0) {
+ pr_warning("%s: can not open GPIO %d\n",
+ __func__, DA850_HAWK_MMCSD_WP_PIN);
+ return;
+ }
+
+ ret = da8xx_register_mmcsd0(&da850_mmc_config);
+ if (ret)
+ pr_warning("%s: MMC/SD0 registration failed: %d\n",
+ __func__, ret);
+}
+
static struct davinci_uart_config omapl138_hawk_uart_config __initdata = {
.enabled_uarts = 0x7,
};
@@ -127,6 +188,8 @@ static __init void omapl138_hawk_init(void)
pr_warning("%s: EDMA registration failed: %d\n",
__func__, ret);
+ omapl138_hawk_mmc_init();
+
ret = da8xx_register_watchdog();
if (ret)
pr_warning("omapl138_hawk_init: "
--
1.7.0.4
next prev parent reply other threads:[~2010-12-01 19:32 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1291231949-23835-1-git-send-email-vm.rod25@gmail.com>
2010-12-01 19:32 ` [PATCH v9 1/6] davinci: EMAC support for Omapl138-Hawkboard vm.rod25 at gmail.com
2010-12-01 19:32 ` [PATCH v9 2/6] davinci: EDMA " vm.rod25 at gmail.com
2010-12-01 19:32 ` [PATCH v9 3/6] davinci: MMC/SD and USB-OHCI configuration " vm.rod25 at gmail.com
2010-12-01 19:32 ` vm.rod25 at gmail.com [this message]
2010-12-01 19:32 ` [PATCH v9 5/6] davinci: USB clocks " vm.rod25 at gmail.com
2010-12-01 19:32 ` [PATCH v9 6/6] davinci: USB1.1 support " vm.rod25 at gmail.com
2010-12-02 6:49 ` Nori, Sekhar
2010-12-03 0:44 ` Victor Rodriguez
2010-12-03 11:51 ` Nori, Sekhar
2010-12-03 17:10 ` Victor Rodriguez
2010-12-06 11:12 ` Nori, Sekhar
2010-12-06 11:43 ` Sergei Shtylyov
2010-12-06 15:47 ` Victor Rodriguez
2010-12-06 15:53 ` Ben Gardiner
2010-12-06 15:56 ` Victor Rodriguez
2010-12-06 17:48 ` Sergei Shtylyov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1291231949-23835-5-git-send-email-vm.rod25@gmail.com \
--to=vm.rod25@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.