
Hi Jaehoon,
-----Original Message----- From: Jaehoon Chung [mailto:jh80.chung@samsung.com] Sent: Friday, August 24, 2012 10:20 AM To: Piotr Wilczek Cc: 'Jaehoon Chung'; u-boot@lists.denx.de; 'Kyungmin Park' Subject: Re: [U-Boot] [PATCH 4/6 v2] arm:exynos4:trats: Use pinmux for mmc configuration
Hi Piotr,
- for (i = 0; i < 7; i++) {
if (i == 2)
continue;
/* GPK0[0:6] special function 2 */
s5p_gpio_cfg_pin(&gpio->k0, i, 0x2);
/* GPK0[0:6] pull disable */
s5p_gpio_set_pull(&gpio->k0, i, GPIO_PULL_NONE);
/* GPK0[0:6] drv 4x */
s5p_gpio_set_drv(&gpio->k0, i, GPIO_DRV_4X);
- }
- for (i = 3; i < 7; i++) {
/* GPK1[3:6] special function 3 */
s5p_gpio_cfg_pin(&gpio->k1, i, 0x3);
/* GPK1[3:6] pull disable */
s5p_gpio_set_pull(&gpio->k1, i, GPIO_PULL_NONE);
/* GPK1[3:6] drv 4x */
s5p_gpio_set_drv(&gpio->k1, i, GPIO_DRV_4X);
- err = exynos_pinmux_config(PERIPH_ID_SDMMC0,
PINMUX_FLAG_8BIT_MODE);
- if (err) {
debug("SDMMC0 not configured\n");
}return err;
if err, return? then how can sd-card init? SD/eMMC card didn't have the dependency.
exynos_pinmux_config() returns err only if given peripheral and/or mode (or cpu) are not supported. Then gpio pins are not configured and MMC cannot be initiated. Err is returned to indicate this situation and
it
is essential to init MMC0 correctly. The dependency didn't exist in trats nor universal but exists when pinmux is used ex: smdk5250 board.
You're Right. it returned error, as you mentioned. But if eMMC init is failed, could you ensure that sd init is also failed? I didn't think so. Although eMMC card init is failed, i think that sd-card init should be succeed.
- eMMC init failed -> return error. : this is your code.
- eMMC init failed -> if SD card detect, then try to init SD-card.
: this is my opinion.
If my thinking is wrong, plz let me know.
I agree and will fix patches so SD card can be initiated even if eMMC init failed. Best regards, Piotr Wilczek
Best Regards, Jaehoon Chung
Best regards Piotr Wilczek
Best Regards, Jaehoon Chung
/* @@ -198,23 +169,12 @@ int board_mmc_init(bd_t *bis) * GPX3[4] T-flash detect pin */ if (!s5p_gpio_get_value(&gpio->x3, 4)) {
/*
* SD card GPIO:
* GPK2[0] SD_2_CLK(2)
* GPK2[1] SD_2_CMD(2)
* GPK2[2] SD_2_CDn -> Not used
* GPK2[3:6] SD_2_DATA[0:3](2)
*/
for (i = 0; i < 7; i++) {
if (i == 2)
continue;
/* GPK2[0:6] special function 2 */
s5p_gpio_cfg_pin(&gpio->k2, i, 0x2);
/* GPK2[0:6] pull disable */
s5p_gpio_set_pull(&gpio->k2, i, GPIO_PULL_NONE);
/* GPK2[0:6] drv 4x */
s5p_gpio_set_drv(&gpio->k2, i, GPIO_DRV_4X);
err = exynos_pinmux_config(PERIPH_ID_SDMMC2,
PINMUX_FLAG_NONE);
if (err) {
debug("SDMMC2 not configured\n");
}return err;
- err = s5p_mmc_init(2, 4); }
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot