[U-Boot] [PATCH] arm:goni:mmc: Add sd card detection and initialization.

This change allow to use sd card on Goni the same like mmc 0. SD card is mmc dev 1, so it can be used like this: "fatls mmc 1:2". SD card is inited even if eMMC initialization fails.
Signed-off-by: Przemyslaw Marczak p.marczak@samsung.com Signed-off-by: Kyungmin Park kyungmin.park@samsung.com CC: Minkyu Kang mk7.kang@samsung.com --- board/samsung/goni/goni.c | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-)
diff --git a/board/samsung/goni/goni.c b/board/samsung/goni/goni.c index 5b3d6ef..7098fe7 100644 --- a/board/samsung/goni/goni.c +++ b/board/samsung/goni/goni.c @@ -73,6 +73,7 @@ int checkboard(void) int board_mmc_init(bd_t *bis) { int i; + int ret;
/* MASSMEMORY_EN: XMSMDATA7: GPJ2[7] output high */ s5p_gpio_direction_output(&s5pc110_gpio->j2, 7, 1); @@ -95,7 +96,35 @@ int board_mmc_init(bd_t *bis) s5p_gpio_set_drv(&s5pc110_gpio->g0, i, GPIO_DRV_4X); }
- return s5p_mmc_init(0, 4); + ret = s5p_mmc_init(0, 4); + if (ret) { + puts("MMC: Failed to init MMC:0.\n"); + } + + /* + * SD card (T_FLASH) detect and init + * T_FLASH_DETECT: EINT28: GPH3[4] input mode + */ + s5p_gpio_cfg_pin(&s5pc110_gpio->h3, 4, GPIO_INPUT); + s5p_gpio_set_pull(&s5pc110_gpio->h3, 4, GPIO_PULL_UP); + + if (!s5p_gpio_get_value(&s5pc110_gpio->h3, 4)) { + for (i = 0; i < 7; i++) { + if (i == 2) + continue; + /* GPG2[0:6] special function 2 */ + s5p_gpio_cfg_pin(&s5pc110_gpio->g2, i, 0x2); + /* GPG2[0:6] pull disable */ + s5p_gpio_set_pull(&s5pc110_gpio->g2, i, GPIO_PULL_NONE); + /* GPG2[0:6] drv 4x */ + s5p_gpio_set_drv(&s5pc110_gpio->g2, i, GPIO_DRV_4X); + } + if (s5p_mmc_init(2, 4)) + puts("MMC: Failed to init SD card (MMC:2).\n"); + } + + /* SD card init is optional so print information when it fails only */ + return ret; } #endif

Hello Minkyu,
On 09/03/2013 02:45 PM, Przemyslaw Marczak wrote:
This change allow to use sd card on Goni the same like mmc 0. SD card is mmc dev 1, so it can be used like this: "fatls mmc 1:2". SD card is inited even if eMMC initialization fails.
Signed-off-by: Przemyslaw Marczak p.marczak@samsung.com Signed-off-by: Kyungmin Park kyungmin.park@samsung.com CC: Minkyu Kang mk7.kang@samsung.com
Could you review this patch, please? Thank you.

Hi,
On 09/03/2013 09:45 PM, Przemyslaw Marczak wrote:
This change allow to use sd card on Goni the same like mmc 0. SD card is mmc dev 1, so it can be used like this: "fatls mmc 1:2". SD card is inited even if eMMC initialization fails.
Signed-off-by: Przemyslaw Marczak p.marczak@samsung.com Signed-off-by: Kyungmin Park kyungmin.park@samsung.com CC: Minkyu Kang mk7.kang@samsung.com
board/samsung/goni/goni.c | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-)
diff --git a/board/samsung/goni/goni.c b/board/samsung/goni/goni.c index 5b3d6ef..7098fe7 100644 --- a/board/samsung/goni/goni.c +++ b/board/samsung/goni/goni.c @@ -73,6 +73,7 @@ int checkboard(void) int board_mmc_init(bd_t *bis) { int i;
int ret;
/* MASSMEMORY_EN: XMSMDATA7: GPJ2[7] output high */ s5p_gpio_direction_output(&s5pc110_gpio->j2, 7, 1);
@@ -95,7 +96,35 @@ int board_mmc_init(bd_t *bis) s5p_gpio_set_drv(&s5pc110_gpio->g0, i, GPIO_DRV_4X); }
- return s5p_mmc_init(0, 4);
- ret = s5p_mmc_init(0, 4);
- if (ret) {
puts("MMC: Failed to init MMC:0.\n");
- }
- /*
* SD card (T_FLASH) detect and init
* T_FLASH_DETECT: EINT28: GPH3[4] input mode
*/
- s5p_gpio_cfg_pin(&s5pc110_gpio->h3, 4, GPIO_INPUT);
- s5p_gpio_set_pull(&s5pc110_gpio->h3, 4, GPIO_PULL_UP);
- if (!s5p_gpio_get_value(&s5pc110_gpio->h3, 4)) {
for (i = 0; i < 7; i++) {
if (i == 2)
continue;
/* GPG2[0:6] special function 2 */
s5p_gpio_cfg_pin(&s5pc110_gpio->g2, i, 0x2);
/* GPG2[0:6] pull disable */
s5p_gpio_set_pull(&s5pc110_gpio->g2, i, GPIO_PULL_NONE);
/* GPG2[0:6] drv 4x */
s5p_gpio_set_drv(&s5pc110_gpio->g2, i, GPIO_DRV_4X);
}
if (s5p_mmc_init(2, 4))
puts("MMC: Failed to init SD card (MMC:2).\n");
Well, i think this is not good.
ret = s5p_mmc_init(2, 5) if (ret) { .... } return ret;
Your checking is always returned "fail",if emmc is failed.
Best Regards, Jaehoon Chung
- }
- /* SD card init is optional so print information when it fails only */
- return ret;
} #endif

Dear Przemyslaw Marczak,
On 03/09/13 21:45, Przemyslaw Marczak wrote:
This change allow to use sd card on Goni the same like mmc 0. SD card is mmc dev 1, so it can be used like this: "fatls mmc 1:2". SD card is inited even if eMMC initialization fails.
Signed-off-by: Przemyslaw Marczak p.marczak@samsung.com Signed-off-by: Kyungmin Park kyungmin.park@samsung.com CC: Minkyu Kang mk7.kang@samsung.com
board/samsung/goni/goni.c | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-)
diff --git a/board/samsung/goni/goni.c b/board/samsung/goni/goni.c index 5b3d6ef..7098fe7 100644 --- a/board/samsung/goni/goni.c +++ b/board/samsung/goni/goni.c @@ -73,6 +73,7 @@ int checkboard(void) int board_mmc_init(bd_t *bis) { int i;
int ret;
/* MASSMEMORY_EN: XMSMDATA7: GPJ2[7] output high */ s5p_gpio_direction_output(&s5pc110_gpio->j2, 7, 1);
@@ -95,7 +96,35 @@ int board_mmc_init(bd_t *bis) s5p_gpio_set_drv(&s5pc110_gpio->g0, i, GPIO_DRV_4X); }
- return s5p_mmc_init(0, 4);
- ret = s5p_mmc_init(0, 4);
- if (ret) {
puts("MMC: Failed to init MMC:0.\n");
- }
please remove brace.
- /*
* SD card (T_FLASH) detect and init
* T_FLASH_DETECT: EINT28: GPH3[4] input mode
*/
- s5p_gpio_cfg_pin(&s5pc110_gpio->h3, 4, GPIO_INPUT);
- s5p_gpio_set_pull(&s5pc110_gpio->h3, 4, GPIO_PULL_UP);
- if (!s5p_gpio_get_value(&s5pc110_gpio->h3, 4)) {
for (i = 0; i < 7; i++) {
if (i == 2)
continue;
please add blank line.
/* GPG2[0:6] special function 2 */
s5p_gpio_cfg_pin(&s5pc110_gpio->g2, i, 0x2);
/* GPG2[0:6] pull disable */
s5p_gpio_set_pull(&s5pc110_gpio->g2, i, GPIO_PULL_NONE);
/* GPG2[0:6] drv 4x */
s5p_gpio_set_drv(&s5pc110_gpio->g2, i, GPIO_DRV_4X);
}
please add blank line.
if (s5p_mmc_init(2, 4))
puts("MMC: Failed to init SD card (MMC:2).\n");
- }
- /* SD card init is optional so print information when it fails only */
maybe this comment should be located near s5p_mmc_init(2, 4).
- return ret;
} #endif
Thanks, Minkyu Kang.
participants (3)
-
Jaehoon Chung
-
Minkyu Kang
-
Przemyslaw Marczak