* [U-Boot] [PATCH 1/3] board: samsung: trats2: Add DW MMC controller initialization
@ 2014-03-05 1:57 Beomho Seo
2014-03-06 6:58 ` Minkyu Kang
0 siblings, 1 reply; 3+ messages in thread
From: Beomho Seo @ 2014-03-05 1:57 UTC (permalink / raw)
To: u-boot
Add DW MMC controller initialization.
Selectively use DW MMC controller instead of SDHCI controller.
Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Cc: Minkyu Kang <mk7.kang@samsung.com>
---
board/samsung/trats2/trats2.c | 31 +++++++++++++++++++++----------
1 file changed, 21 insertions(+), 10 deletions(-)
diff --git a/board/samsung/trats2/trats2.c b/board/samsung/trats2/trats2.c
index c17c24d..11bebb9 100644
--- a/board/samsung/trats2/trats2.c
+++ b/board/samsung/trats2/trats2.c
@@ -11,6 +11,7 @@
#include <asm/io.h>
#include <asm/arch/gpio.h>
#include <asm/arch/mmc.h>
+#include <asm/arch/dwmmc.h>
#include <asm/arch/power.h>
#include <asm/arch/clk.h>
#include <asm/arch/clock.h>
@@ -280,18 +281,19 @@ int board_mmc_init(bd_t *bis)
gpio2 = (struct exynos4x12_gpio_part2 *)samsung_get_base_gpio_part2();
- /* eMMC_EN: SD_0_CDn: GPK0[2] Output High */
+ /* eMMC_EN: SD_0_CDn or SD_4_CDn: GPK0[2] Output High */
s5p_gpio_direction_output(&gpio2->k0, 2, 1);
s5p_gpio_set_pull(&gpio2->k0, 2, GPIO_PULL_NONE);
/*
* eMMC GPIO:
* SDR 8-bit at 48MHz at MMC0
- * GPK0[0] SD_0_CLK(2)
- * GPK0[1] SD_0_CMD(2)
- * GPK0[2] SD_0_CDn -> Not used
- * GPK0[3:6] SD_0_DATA[0:3](2)
- * GPK1[3:6] SD_0_DATA[0:3](3)
+ * SDHCI DW-MMC
+ * GPK0[0] SD_0_CLK(2) SD_4_CLK(3)
+ * GPK0[1] SD_0_CMD(2) SD_4_CMD(3)
+ * GPK0[2] SD_0_CDn SD_4_CDn -> Not used
+ * GPK0[3:6] SD_0_DATA[0:3](2) SD_4_DATA[0:3](3)
+ * GPK1[3:6] SD_0_DATA[4:7](3) SD_4_DATA[4:7](4)
*
* DDR 4-bit at 26MHz at MMC4
* GPK0[0] SD_4_CLK(3)
@@ -301,17 +303,26 @@ int board_mmc_init(bd_t *bis)
* GPK1[3:6] SD_4_DATA[4:7](4)
*/
- err0 = exynos_pinmux_config(PERIPH_ID_SDMMC0, PINMUX_FLAG_8BIT_MODE);
-
/*
* MMC device init
- * mmc0 : eMMC (8-bit buswidth)
- * mmc2 : SD card (4-bit buswidth)
+ * mmc0 : eMMC, sdhci controller (8-bit buswidth)
+ * mmc2 : SD card, sdhci controller (4-bit buswidth)
+ * mmc4 : eMMC, dw-mmc controller (8-bit buswidth)
*/
+
+#ifndef CONFIG_DWMMC
+ err0 = exynos_pinmux_config(PERIPH_ID_SDMMC0, PINMUX_FLAG_8BIT_MODE);
if (err0)
debug("SDMMC0 not configured\n");
else
err0 = s5p_mmc_init(0, 8);
+#else
+ err0 = exynos_pinmux_config(PERIPH_ID_SDMMC4, PINMUX_FLAG_8BIT_MODE);
+ if (err0)
+ debug("SDMMC4 not configured\n");
+ else
+ err0 = exynos_dwmci_add_port(4, 0x12550000, 8, 0x00010000);
+#endif
/* T-flash detect */
s5p_gpio_cfg_pin(&gpio2->x3, 4, 0xf);
--
1.7.9.5
--
Best Regards,
^ permalink raw reply related [flat|nested] 3+ messages in thread* [U-Boot] [PATCH 1/3] board: samsung: trats2: Add DW MMC controller initialization
2014-03-05 1:57 [U-Boot] [PATCH 1/3] board: samsung: trats2: Add DW MMC controller initialization Beomho Seo
@ 2014-03-06 6:58 ` Minkyu Kang
2014-03-06 7:49 ` Beomho Seo
0 siblings, 1 reply; 3+ messages in thread
From: Minkyu Kang @ 2014-03-06 6:58 UTC (permalink / raw)
To: u-boot
On 05/03/14 10:57, Beomho Seo wrote:
> Add DW MMC controller initialization.
> Selectively use DW MMC controller instead of SDHCI controller.
>
> Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
> Cc: Minkyu Kang <mk7.kang@samsung.com>
> ---
> board/samsung/trats2/trats2.c | 31 +++++++++++++++++++++----------
> 1 file changed, 21 insertions(+), 10 deletions(-)
>
> diff --git a/board/samsung/trats2/trats2.c b/board/samsung/trats2/trats2.c
> index c17c24d..11bebb9 100644
> --- a/board/samsung/trats2/trats2.c
> +++ b/board/samsung/trats2/trats2.c
> @@ -11,6 +11,7 @@
> #include <asm/io.h>
> #include <asm/arch/gpio.h>
> #include <asm/arch/mmc.h>
> +#include <asm/arch/dwmmc.h>
> #include <asm/arch/power.h>
> #include <asm/arch/clk.h>
> #include <asm/arch/clock.h>
> @@ -280,18 +281,19 @@ int board_mmc_init(bd_t *bis)
>
> gpio2 = (struct exynos4x12_gpio_part2 *)samsung_get_base_gpio_part2();
>
> - /* eMMC_EN: SD_0_CDn: GPK0[2] Output High */
> + /* eMMC_EN: SD_0_CDn or SD_4_CDn: GPK0[2] Output High */
> s5p_gpio_direction_output(&gpio2->k0, 2, 1);
> s5p_gpio_set_pull(&gpio2->k0, 2, GPIO_PULL_NONE);
>
> /*
> * eMMC GPIO:
> * SDR 8-bit at 48MHz at MMC0
> - * GPK0[0] SD_0_CLK(2)
> - * GPK0[1] SD_0_CMD(2)
> - * GPK0[2] SD_0_CDn -> Not used
> - * GPK0[3:6] SD_0_DATA[0:3](2)
> - * GPK1[3:6] SD_0_DATA[0:3](3)
> + * SDHCI DW-MMC
> + * GPK0[0] SD_0_CLK(2) SD_4_CLK(3)
> + * GPK0[1] SD_0_CMD(2) SD_4_CMD(3)
> + * GPK0[2] SD_0_CDn SD_4_CDn -> Not used
> + * GPK0[3:6] SD_0_DATA[0:3](2) SD_4_DATA[0:3](3)
> + * GPK1[3:6] SD_0_DATA[4:7](3) SD_4_DATA[4:7](4)
> *
> * DDR 4-bit at 26MHz at MMC4
> * GPK0[0] SD_4_CLK(3)
> @@ -301,17 +303,26 @@ int board_mmc_init(bd_t *bis)
> * GPK1[3:6] SD_4_DATA[4:7](4)
> */
>
> - err0 = exynos_pinmux_config(PERIPH_ID_SDMMC0, PINMUX_FLAG_8BIT_MODE);
> -
> /*
> * MMC device init
> - * mmc0 : eMMC (8-bit buswidth)
> - * mmc2 : SD card (4-bit buswidth)
> + * mmc0 : eMMC, sdhci controller (8-bit buswidth)
> + * mmc2 : SD card, sdhci controller (4-bit buswidth)
> + * mmc4 : eMMC, dw-mmc controller (8-bit buswidth)
> */
> +
> +#ifndef CONFIG_DWMMC
> + err0 = exynos_pinmux_config(PERIPH_ID_SDMMC0, PINMUX_FLAG_8BIT_MODE);
> if (err0)
> debug("SDMMC0 not configured\n");
> else
> err0 = s5p_mmc_init(0, 8);
> +#else
> + err0 = exynos_pinmux_config(PERIPH_ID_SDMMC4, PINMUX_FLAG_8BIT_MODE);
> + if (err0)
> + debug("SDMMC4 not configured\n");
> + else
> + err0 = exynos_dwmci_add_port(4, 0x12550000, 8, 0x00010000);
what means 0x12550000, 0x00010000?
> +#endif
>
> /* T-flash detect */
> s5p_gpio_cfg_pin(&gpio2->x3, 4, 0xf);
>
Thanks,
Minkyu Kang.
^ permalink raw reply [flat|nested] 3+ messages in thread* [U-Boot] [PATCH 1/3] board: samsung: trats2: Add DW MMC controller initialization
2014-03-06 6:58 ` Minkyu Kang
@ 2014-03-06 7:49 ` Beomho Seo
0 siblings, 0 replies; 3+ messages in thread
From: Beomho Seo @ 2014-03-06 7:49 UTC (permalink / raw)
To: u-boot
Thank you for your reply.
On 03/06/2014 03:58 PM, Minkyu Kang wrote:
> On 05/03/14 10:57, Beomho Seo wrote:
>> Add DW MMC controller initialization.
>> Selectively use DW MMC controller instead of SDHCI controller.
>>
>> Signed-off-by: Beomho Seo <beomho.seo@samsung.com>
>> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
>> Cc: Minkyu Kang <mk7.kang@samsung.com>
>> ---
>> board/samsung/trats2/trats2.c | 31 +++++++++++++++++++++----------
>> 1 file changed, 21 insertions(+), 10 deletions(-)
>>
>> diff --git a/board/samsung/trats2/trats2.c b/board/samsung/trats2/trats2.c
>> index c17c24d..11bebb9 100644
>> --- a/board/samsung/trats2/trats2.c
>> +++ b/board/samsung/trats2/trats2.c
>> @@ -11,6 +11,7 @@
>> #include <asm/io.h>
>> #include <asm/arch/gpio.h>
>> #include <asm/arch/mmc.h>
>> +#include <asm/arch/dwmmc.h>
>> #include <asm/arch/power.h>
>> #include <asm/arch/clk.h>
>> #include <asm/arch/clock.h>
>> @@ -280,18 +281,19 @@ int board_mmc_init(bd_t *bis)
>>
>> gpio2 = (struct exynos4x12_gpio_part2 *)samsung_get_base_gpio_part2();
>>
>> - /* eMMC_EN: SD_0_CDn: GPK0[2] Output High */
>> + /* eMMC_EN: SD_0_CDn or SD_4_CDn: GPK0[2] Output High */
>> s5p_gpio_direction_output(&gpio2->k0, 2, 1);
>> s5p_gpio_set_pull(&gpio2->k0, 2, GPIO_PULL_NONE);
>>
>> /*
>> * eMMC GPIO:
>> * SDR 8-bit at 48MHz at MMC0
>> - * GPK0[0] SD_0_CLK(2)
>> - * GPK0[1] SD_0_CMD(2)
>> - * GPK0[2] SD_0_CDn -> Not used
>> - * GPK0[3:6] SD_0_DATA[0:3](2)
>> - * GPK1[3:6] SD_0_DATA[0:3](3)
>> + * SDHCI DW-MMC
>> + * GPK0[0] SD_0_CLK(2) SD_4_CLK(3)
>> + * GPK0[1] SD_0_CMD(2) SD_4_CMD(3)
>> + * GPK0[2] SD_0_CDn SD_4_CDn -> Not used
>> + * GPK0[3:6] SD_0_DATA[0:3](2) SD_4_DATA[0:3](3)
>> + * GPK1[3:6] SD_0_DATA[4:7](3) SD_4_DATA[4:7](4)
>> *
>> * DDR 4-bit at 26MHz at MMC4
>> * GPK0[0] SD_4_CLK(3)
>> @@ -301,17 +303,26 @@ int board_mmc_init(bd_t *bis)
>> * GPK1[3:6] SD_4_DATA[4:7](4)
>> */
>>
>> - err0 = exynos_pinmux_config(PERIPH_ID_SDMMC0, PINMUX_FLAG_8BIT_MODE);
>> -
>> /*
>> * MMC device init
>> - * mmc0 : eMMC (8-bit buswidth)
>> - * mmc2 : SD card (4-bit buswidth)
>> + * mmc0 : eMMC, sdhci controller (8-bit buswidth)
>> + * mmc2 : SD card, sdhci controller (4-bit buswidth)
>> + * mmc4 : eMMC, dw-mmc controller (8-bit buswidth)
>> */
>> +
>> +#ifndef CONFIG_DWMMC
>> + err0 = exynos_pinmux_config(PERIPH_ID_SDMMC0, PINMUX_FLAG_8BIT_MODE);
>> if (err0)
>> debug("SDMMC0 not configured\n");
>> else
>> err0 = s5p_mmc_init(0, 8);
>> +#else
>> + err0 = exynos_pinmux_config(PERIPH_ID_SDMMC4, PINMUX_FLAG_8BIT_MODE);
>> + if (err0)
>> + debug("SDMMC4 not configured\n");
>> + else
>> + err0 = exynos_dwmci_add_port(4, 0x12550000, 8, 0x00010000);
>
> what means 0x12550000, 0x00010000?
>
Firstly, 0x12550000 is base address for mobile storage host(SDMMC4).
0x00010000 is value for set on CLKSEL register.
I will revise more readable.
>> +#endif
>>
>> /* T-flash detect */
>> s5p_gpio_cfg_pin(&gpio2->x3, 4, 0xf);
>>
>
> Thanks,
> Minkyu Kang.
>
--
Best Regards,
Beomho Seo
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-03-06 7:49 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-05 1:57 [U-Boot] [PATCH 1/3] board: samsung: trats2: Add DW MMC controller initialization Beomho Seo
2014-03-06 6:58 ` Minkyu Kang
2014-03-06 7:49 ` Beomho Seo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox