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

Adam Ford aford173 at gmail.com
Thu Feb 22 23:05:25 UTC 2018


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'

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