[U-Boot] [PATCH v5 4/9] board: ti: dra7xx-evm: turn on USB clocks in late init stage

Marek Vasut marex at denx.de
Fri May 4 19:06:01 UTC 2018


On 05/04/2018 07:58 PM, Jean-Jacques Hiblot wrote:
> 
> 
> On 04/05/2018 17:43, Marek Vasut wrote:
>> On 05/04/2018 04:42 PM, Jean-Jacques Hiblot wrote:
>>>
>>> On 04/05/2018 16:38, Marek Vasut wrote:
>>>> On 05/04/2018 04:34 PM, Jean-Jacques Hiblot wrote:
>>>>> For USB ports that use the Driver Model, turn on the clocks during the
>>>>> late init stage.
>>>>>
>>>>> Signed-off-by: Jean-Jacques Hiblot <jjhiblot at ti.com>
>>>>> Reviewed-by: Tom Rini <trini at konsulko.com>
>>>>> ---
>>>>>
>>>>> Changes in v5: None
>>>>> Changes in v4: None
>>>>> Changes in v3: None
>>>>> Changes in v2: None
>>>>>
>>>>>    board/ti/dra7xx/evm.c | 19 +++++++++++++++++++
>>>>>    1 file changed, 19 insertions(+)
>>>>>
>>>>> diff --git a/board/ti/dra7xx/evm.c b/board/ti/dra7xx/evm.c
>>>>> index 06f061c..c1e1b8e 100644
>>>>> --- a/board/ti/dra7xx/evm.c
>>>>> +++ b/board/ti/dra7xx/evm.c
>>>>> @@ -647,6 +647,19 @@ int dram_init_banksize(void)
>>>>>        return 0;
>>>>>    }
>>>>>    +#if CONFIG_IS_ENABLED(DM_USB) && CONFIG_IS_ENABLED(OF_CONTROL)
>>>>> +static int device_okay(const char *path)
>>>>> +{
>>>>> +    int node;
>>>>> +
>>>>> +    node = fdt_path_offset(gd->fdt_blob, path);
>>>>> +    if (node < 0)
>>>>> +        return 0;
>>>>> +
>>>>> +    return fdtdec_get_is_enabled(gd->fdt_blob, node);
>>>>> +}
>>>>> +#endif
>>>>> +
>>>>>    int board_late_init(void)
>>>>>    {
>>>>>    #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
>>>>> @@ -686,6 +699,12 @@ int board_late_init(void)
>>>>>        if (board_is_dra71x_evm())
>>>>>            palmas_i2c_write_u8(LP873X_I2C_SLAVE_ADDR, 0x9, 0x7);
>>>>>    #endif
>>>>> +#if CONFIG_IS_ENABLED(DM_USB) && CONFIG_IS_ENABLED(OF_CONTROL)
>>>>> +    if (device_okay("/ocp/omap_dwc3_1 at 48880000"))
>>>>> +        enable_usb_clocks(0);
>>>>> +    if (device_okay("/ocp/omap_dwc3_2 at 488c0000"))
>>>>> +        enable_usb_clocks(1);
>>>>> +#endif
>>>> Shouldnt the driver turn this on?
>>> AFAIK there is no clock driver for the OMAP. So we have to do it before
>>> the driver is probed.
>> Maybe it's time to implement it instead of piling up those hacks ?
> I was thinking along the same lines at some point but then I realized
> that it will make the SPL really big. And we are already tight on some
> platforms like am335x.

But this is not only SPL , right ? And yes, for SPL you might need to
poke registers or something.

-- 
Best regards,
Marek Vasut


More information about the U-Boot mailing list