diff options
Diffstat (limited to 'recipes/u-boot/u-boot-git/beagleboard/0040-OMAP-mmc-add-support-for-second-and-third-mmc-channe.patch')
-rw-r--r-- | recipes/u-boot/u-boot-git/beagleboard/0040-OMAP-mmc-add-support-for-second-and-third-mmc-channe.patch | 126 |
1 files changed, 0 insertions, 126 deletions
diff --git a/recipes/u-boot/u-boot-git/beagleboard/0040-OMAP-mmc-add-support-for-second-and-third-mmc-channe.patch b/recipes/u-boot/u-boot-git/beagleboard/0040-OMAP-mmc-add-support-for-second-and-third-mmc-channe.patch deleted file mode 100644 index 9f09e0fa22..0000000000 --- a/recipes/u-boot/u-boot-git/beagleboard/0040-OMAP-mmc-add-support-for-second-and-third-mmc-channe.patch +++ /dev/null @@ -1,126 +0,0 @@ -From 0dd14c6a6f40cb47fd8517e9e9d48f0a119e9aa9 Mon Sep 17 00:00:00 2001 -From: Steve Sakoman <steve@sakoman.com> -Date: Thu, 29 Apr 2010 10:28:14 -0700 -Subject: [PATCH 40/50] OMAP: mmc: add support for second and third mmc channels - -Boards wishing to use this feature should define CONFIG_SYS_MMC_SET_DEV - -Signed-off-by: Jason Kridner <jkridner@beagleboard.org> ---- - drivers/mmc/omap3_mmc.c | 39 +++++++++++++++++++++++++++- - include/asm-arm/arch-omap3/mmc_host_def.h | 15 +++++++++-- - 2 files changed, 49 insertions(+), 5 deletions(-) - -diff --git a/drivers/mmc/omap3_mmc.c b/drivers/mmc/omap3_mmc.c -index 96c0e65..bf650ba 100644 ---- a/drivers/mmc/omap3_mmc.c -+++ b/drivers/mmc/omap3_mmc.c -@@ -52,7 +52,27 @@ const unsigned short mmc_transspeed_val[15][4] = { - - mmc_card_data cur_card_data; - static block_dev_desc_t mmc_blk_dev; --static hsmmc_t *mmc_base = (hsmmc_t *)OMAP_HSMMC_BASE; -+static hsmmc_t *mmc_base = (hsmmc_t *)OMAP_HSMMC1_BASE; -+ -+unsigned char mmc_set_dev(int dev) -+{ -+ switch (dev) { -+ case 1: -+ mmc_base = (hsmmc_t *)OMAP_HSMMC1_BASE; -+ break; -+ case 2: -+ mmc_base = (hsmmc_t *)OMAP_HSMMC2_BASE; -+ break; -+ case 3: -+ mmc_base = (hsmmc_t *)OMAP_HSMMC3_BASE; -+ break; -+ default: -+ mmc_base = (hsmmc_t *)OMAP_HSMMC1_BASE; -+ return 1; -+ } -+ -+ return 0; -+} - - block_dev_desc_t *mmc_get_dev(int dev) - { -@@ -62,6 +82,7 @@ block_dev_desc_t *mmc_get_dev(int dev) - unsigned char mmc_board_init(void) - { - t2_t *t2_base = (t2_t *)T2_BASE; -+ struct prcm *prcm_base = (struct prcm *)PRCM_BASE; - - #if defined(CONFIG_TWL4030_POWER) - twl4030_power_mmc_init(); -@@ -74,6 +95,17 @@ unsigned char mmc_board_init(void) - writel(readl(&t2_base->devconf0) | MMCSDIO1ADPCLKISEL, - &t2_base->devconf0); - -+ writel(readl(&t2_base->devconf1) | MMCSDIO2ADPCLKISEL, -+ &t2_base->devconf1); -+ -+ writel(readl(&prcm_base->fclken1_core) | -+ EN_MMC1 | EN_MMC2 | EN_MMC3, -+ &prcm_base->fclken1_core); -+ -+ writel(readl(&prcm_base->iclken1_core) | -+ EN_MMC1 | EN_MMC2 | EN_MMC3, -+ &prcm_base->iclken1_core); -+ - return 1; - } - -@@ -512,8 +544,11 @@ unsigned long mmc_bread(int dev_num, unsigned long blknr, lbaint_t blkcnt, - return 1; - } - --int mmc_legacy_init(int verbose) -+int mmc_legacy_init(int dev) - { -+ if (mmc_set_dev(dev) != 0) -+ return 1; -+ - if (configure_mmc(&cur_card_data) != 1) - return 1; - -diff --git a/include/asm-arm/arch-omap3/mmc_host_def.h b/include/asm-arm/arch-omap3/mmc_host_def.h -index aa751c9..43dd705 100644 ---- a/include/asm-arm/arch-omap3/mmc_host_def.h -+++ b/include/asm-arm/arch-omap3/mmc_host_def.h -@@ -29,13 +29,20 @@ - #define T2_BASE 0x48002000 - - typedef struct t2 { -- unsigned char res1[0x274]; -+ unsigned char res1[0x274]; /* 0x000 */ - unsigned int devconf0; /* 0x274 */ -- unsigned char res2[0x2A8]; -+ unsigned char res2[0x060]; /* 0x278 */ -+ unsigned int devconf1; /* 0x2D8 */ -+ unsigned char res3[0x244]; /* 0x2DC */ - unsigned int pbias_lite; /* 0x520 */ - } t2_t; - - #define MMCSDIO1ADPCLKISEL (1 << 24) -+#define MMCSDIO2ADPCLKISEL (1 << 6) -+ -+#define EN_MMC1 (1 << 24) -+#define EN_MMC2 (1 << 25) -+#define EN_MMC3 (1 << 30) - - #define PBIASLITEPWRDNZ0 (1 << 1) - #define PBIASSPEEDCTRL0 (1 << 2) -@@ -44,7 +51,9 @@ typedef struct t2 { - /* - * OMAP HSMMC register definitions - */ --#define OMAP_HSMMC_BASE 0x4809C000 -+#define OMAP_HSMMC1_BASE 0x4809C000 -+#define OMAP_HSMMC2_BASE 0x480B4000 -+#define OMAP_HSMMC3_BASE 0x480AD000 - - typedef struct hsmmc { - unsigned char res1[0x10]; --- -1.6.6.1 - |