[U-Boot] [PATCH v3 09/24] mmc: omap_hsmmc: use mmc_of_parse to populate mmc_config

Jaehoon Chung jh80.chung at samsung.com
Fri Feb 23 07:02:58 UTC 2018


On 02/23/2018 08:05 AM, Adam Ford wrote:
> On Thu, Feb 22, 2018 at 4:43 PM, Adam Ford <aford173 at gmail.com> wrote:
> 
>>
>>
>> On Tue, Jan 30, 2018 at 9:01 AM, Jean-Jacques Hiblot <jjhiblot at ti.com>
>> wrote:
>>
>>> From: Kishon Vijay Abraham I <kishon at ti.com>
>>>
>>> Use the mmc_of_parse library function to populate mmc_config instead of
>>> repeating the same code in host controller driver.
>>>
>>> Signed-off-by: Kishon Vijay Abraham I <kishon at ti.com>
>>> Signed-off-by: Jean-Jacques Hiblot <jjhiblot at ti.com>
>>>
>>
>> This patch appears to break the omap3_logic, a DM3730 with device tree
>> support.
>>
>> U-Boot 2018.03-rc2-00082-g2d7482c (Feb 22 2018 - 16:41:12 -0600)
>>
>>
>>
>> OMAP3630/3730-GP ES1.2, CPU-OPP2, L3-200MHz, Max CPU Clock 800 MHz
>>
>> Model: LogicPD Zoom OMAP3 Development Kit
>>
>> Logic DM37x/OMAP35x reference board + LPDDR/NAND
>>
>> DRAM:  256 MiB
>>
>> NAND:  512 MiB
>>
>> MMC:   mmc at 4809c000 - probe failed: -1
>>
>> OMAP Logic # mmc info
>>
>> No MMC device available
>>
>> OMAP Logic #
>>
>>
> I appears as of this series fixes this issue:
> https://patchwork.ozlabs.org/project/uboot/list/?series=29899
> 
> I'll reply to that series with 'tested-by'

Thanks for testing.

Best Regards,
Jaehoon Chung

> 
> Sorry for the noise.
> 
> 
> adam
> 
>>
>>
>>
>> ---
>>>
>>> Changes in v3: None
>>>
>>>  drivers/mmc/omap_hsmmc.c | 24 +++++-------------------
>>>  1 file changed, 5 insertions(+), 19 deletions(-)
>>>
>>> diff --git a/drivers/mmc/omap_hsmmc.c b/drivers/mmc/omap_hsmmc.c
>>> index ab4a095..57548ee 100644
>>> --- a/drivers/mmc/omap_hsmmc.c
>>> +++ b/drivers/mmc/omap_hsmmc.c
>>> @@ -1297,32 +1297,18 @@ static int omap_hsmmc_ofdata_to_platdata(struct
>>> udevice *dev)
>>>         struct mmc_config *cfg = &plat->cfg;
>>>         const void *fdt = gd->fdt_blob;
>>>         int node = dev_of_offset(dev);
>>> -       int val;
>>> +       int ret;
>>>
>>>         plat->base_addr = map_physmem(devfdt_get_addr(dev),
>>>                                       sizeof(struct hsmmc *),
>>>                                       MAP_NOCACHE);
>>>
>>> -       cfg->host_caps = MMC_MODE_HS_52MHz | MMC_MODE_HS;
>>> -       val = fdtdec_get_int(fdt, node, "bus-width", -1);
>>> -       if (val < 0) {
>>> -               printf("error: bus-width property missing\n");
>>> -               return -ENOENT;
>>> -       }
>>> -
>>> -       switch (val) {
>>> -       case 0x8:
>>> -               cfg->host_caps |= MMC_MODE_8BIT;
>>> -       case 0x4:
>>> -               cfg->host_caps |= MMC_MODE_4BIT;
>>> -               break;
>>> -       default:
>>> -               printf("error: invalid bus-width property\n");
>>> -               return -ENOENT;
>>> -       }
>>> +       ret = mmc_of_parse(dev, cfg);
>>> +       if (ret < 0)
>>> +               return ret;
>>>
>>> +       cfg->host_caps |= MMC_MODE_HS_52MHz | MMC_MODE_HS;
>>>         cfg->f_min = 400000;
>>> -       cfg->f_max = fdtdec_get_int(fdt, node, "max-frequency", 52000000);
>>>         cfg->voltages = MMC_VDD_32_33 | MMC_VDD_33_34 | MMC_VDD_165_195;
>>>         cfg->b_max = CONFIG_SYS_MMC_MAX_BLK_COUNT;
>>>         if (fdtdec_get_bool(fdt, node, "ti,dual-volt"))
>>> --
>>> 1.9.1
>>>
>>> _______________________________________________
>>> U-Boot mailing list
>>> U-Boot at lists.denx.de
>>> https://lists.denx.de/listinfo/u-boot
>>>
>>
>>
> 



More information about the U-Boot mailing list