[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 15:43:16 UTC 2018
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 ?
--
Best regards,
Marek Vasut
More information about the U-Boot
mailing list