All of lore.kernel.org
 help / color / mirror / Atom feed
From: vm.rod25@gmail.com (vm.rod25 at gmail.com)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v8 7/9] davinci: MMC/SD support for Omapl138-Hawkboard
Date: Fri, 12 Nov 2010 16:38:53 -0600	[thread overview]
Message-ID: <1289601535-6746-8-git-send-email-vm.rod25@gmail.com> (raw)
In-Reply-To: <1289601535-6746-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 115dac0..02e54fa 100644
--- a/arch/arm/mach-davinci/board-omapl138-hawk.c
+++ b/arch/arm/mach-davinci/board-omapl138-hawk.c
@@ -23,6 +23,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,
@@ -143,6 +145,65 @@ static struct snd_platform_data omapl138_hawk_snd_data = {
 	.rxnumevt	= 1,
 };
 
+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,
 };
@@ -173,6 +234,8 @@ static __init void omapl138_hawk_init(void)
 		pr_warning("%s: mcasp mux setup failed: %d\n", __func__, ret);
 	da8xx_register_mcasp(0, &omapl138_hawk_snd_data);
 
+	omapl138_hawk_mmc_init();
+
 	ret = da8xx_register_watchdog();
 	if (ret)
 		pr_warning("omapl138_hawk_init: "
-- 
1.7.0.4

  parent reply	other threads:[~2010-11-12 22:38 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1289601535-6746-1-git-send-email-vm.rod25@gmail.com>
2010-11-12 22:38 ` [PATCH v8 1/9] davinci: EMAC support for Omapl138-Hawkboard vm.rod25 at gmail.com
2010-11-12 22:38 ` [PATCH v8 2/9] davinci: EDMA " vm.rod25 at gmail.com
2010-11-12 22:38 ` [PATCH v8 3/9] davinci: ASoC " vm.rod25
2010-11-12 22:38 ` [PATCH v8 4/9] davinci: McASP configuration " vm.rod25 at gmail.com
2010-11-15 11:10   ` Nori, Sekhar
2010-11-15 12:16     ` Sergei Shtylyov
2010-11-15 13:07       ` Nori, Sekhar
2010-11-15 14:31         ` Victor Rodriguez
2010-11-15 15:47         ` Sergei Shtylyov
2010-11-16 15:58           ` Victor Rodriguez
2010-11-16 16:04             ` Sergei Shtylyov
2010-11-16 16:37               ` Nori, Sekhar
2010-11-16 16:45                 ` Victor Rodriguez
2010-11-16 20:42                 ` Michael Williamson
2010-11-16 21:19                   ` Victor Rodriguez
2010-11-16 21:21                   ` Victor Rodriguez
2010-11-18 16:21                   ` Nori, Sekhar
2010-11-18 16:38                     ` Victor Rodriguez
2010-11-18 16:47                       ` Nori, Sekhar
2010-11-18 23:57                     ` Kevin Hilman
2010-11-19  0:17                       ` Victor Rodriguez
2010-11-19 16:23                         ` Victor Rodriguez
2010-12-01 13:32   ` Nori, Sekhar
2010-12-01 15:20     ` Victor Rodriguez
2010-12-01 16:04       ` Nori, Sekhar
2010-12-01 16:13         ` Victor Rodriguez
2010-12-01 16:32     ` Sergei Shtylyov
2010-12-01 16:41       ` Victor Rodriguez
2010-11-12 22:38 ` [PATCH v8 5/9] davinci: Audio support " vm.rod25 at gmail.com
2010-11-12 22:38 ` [PATCH v8 6/9] davinci: MMC/SD and USB-OHCI configuration " vm.rod25 at gmail.com
2010-11-12 22:38 ` vm.rod25 at gmail.com [this message]
2010-11-12 22:38 ` [PATCH v8 8/9] davinci: USB clocks " vm.rod25 at gmail.com
2010-11-12 22:38 ` [PATCH v8 9/9] davinci: USB1.1 support " vm.rod25 at gmail.com

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=1289601535-6746-8-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.