Hi Lukasz,

Thanks for your comments.

On 11/01/2013 02:03 AM, Lukasz Majewski wrote:
> Hi Jaehoon,
> 
>> To use the sd-card, VTF_2.8V will be enabled.
>> Before this patch, VTF_2.8V is always disabled.(card can't
>> initialize.) When card is detected, SD-card power will enable with
>> sd_ldo_control().
>>
>> Signed-off-by: Jaehoon Chung <jh80.ch...@samsung.com>
>> Signed-off-by: Kyungmin Park <kyungmin.p...@samsung.com>
>> ---
>>  board/samsung/trats/trats.c |   38
>> ++++++++++++++++++++++++++++++++------ 1 file changed, 32
>> insertions(+), 6 deletions(-)
>>
>> diff --git a/board/samsung/trats/trats.c b/board/samsung/trats/trats.c
>> index 7f61d17..9b6dd12 100644
>> --- a/board/samsung/trats/trats.c
>> +++ b/board/samsung/trats/trats.c
>> @@ -408,11 +408,31 @@ int checkboard(void)
>>  #endif
>>  
>>  #ifdef CONFIG_GENERIC_MMC
>> +static int sd_ldo_control(int on)
>> +{
>> +    struct pmic *p = pmic_get("MAX8997_PMIC");
>> +    u32 val = 0;
>> +    int ret = 0;
>> +    if (pmic_probe(p))
>> +            return -1;
> 
> Maybe -1 -> -ENODEV
Will fix..
> 
>> +
>> +    /* LDO17 VTF: 2.8V */
>> +    val = max8997_reg_ldo(2800000) | (on? EN_LDO : DIS_LDO);
>                                           ^^^ on ?
Will fix
>> +    ret |= pmic_reg_write(p, MAX8997_REG_LDO17CTRL, val);
>       ^^^^^ ret = 
Will fix.
>> +
>> +    if (ret) {
>> +            puts("MAX8997 SD setting error!\n");
>               
> Please use error() instead of puts()
Using error().
> 
>> +            return -1;
>> +    }
>> +
>> +    return 0;
>> +}
>> +
>>  int board_mmc_init(bd_t *bis)
>>  {
>>      struct exynos4_gpio_part2 *gpio =
>>              (struct exynos4_gpio_part2
>> *)samsung_get_base_gpio_part2();
>> -    int err;
>> +    int err, err_sd = 0;
> 
> I think that the err_sd is not needed here. Please use the err as is
> was at the original code.
As like the goni, I think sd_err needs herre.
We need to consider the cases when eMMC is intiailzed and SD-card is failed.
If SD-card is failed, then it's always retunred "Fail", although eMMC is 
initialized.
how about?
After replying your, i will send the fixing patch.

Best Regards,
Jaehoon Chung
> 
>>  
>>      /* eMMC_EN: SD_0_CDn: GPK0[2] Output High */
>>      s5p_gpio_direction_output(&gpio->k0, 2, 1);
>> @@ -438,14 +458,20 @@ int board_mmc_init(bd_t *bis)
>>       * GPX3[4] T-flash detect pin
>>       */
>>      if (!s5p_gpio_get_value(&gpio->x3, 4)) {
>> -            err = exynos_pinmux_config(PERIPH_ID_SDMMC2,
>> PINMUX_FLAG_NONE);
>> -            if (err)
>> +            err_sd = exynos_pinmux_config(PERIPH_ID_SDMMC2,
>> PINMUX_FLAG_NONE);
>> +            if (err_sd)
>>                      debug("SDMMC2 not configured\n");
>> -            else
>> -                    err = s5p_mmc_init(2, 4);
>> +            else {
>> +                    if (!sd_ldo_control(1)) {
>> +                            err_sd = s5p_mmc_init(2, 4);
>> +                            if (err_sd) {
>> +                                    sd_ldo_control(0);
>> +                            }
>                               Parenthesis with this if aren't needed.
>> +                    }
>> +            }
>>      }
>>  
>> -    return err;
>> +    return err & err_sd;
>>  }
>>  #endif
>>  
> 
> 
> 

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to