[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