[U-Boot] [PATCH 4/6 v2] arm:exynos4:trats: Use pinmux for mmc configuration

Piotr Wilczek p.wilczek at samsung.com
Fri Aug 24 11:27:06 CEST 2012


Hi Jaehoon,

> -----Original Message-----
> From: Jaehoon Chung [mailto:jh80.chung at samsung.com]
> Sent: Friday, August 24, 2012 10:20 AM
> To: Piotr Wilczek
> Cc: 'Jaehoon Chung'; u-boot at 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.
> 1) eMMC init failed -> return error. : this is your code.
> 2) 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 at lists.denx.de
> > http://lists.denx.de/mailman/listinfo/u-boot
> >




More information about the U-Boot mailing list