
rk3399 using one gpio control signal for two usb 2.0 host port, it's better to enable the power in board file instead of in usb driver.
Signed-off-by: Kever Yang kever.yang@rock-chips.com Acked-by: Simon Glass sjg@chromium.org ---
Changes in v3: - add Acked-by tag from Simon
Changes in v2: - use regulator_get_by_platname instead of uclass_get_device_by_name
board/rockchip/evb_rk3399/evb-rk3399.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/board/rockchip/evb_rk3399/evb-rk3399.c b/board/rockchip/evb_rk3399/evb-rk3399.c index 5d3a09a..5b245e4 100644 --- a/board/rockchip/evb_rk3399/evb-rk3399.c +++ b/board/rockchip/evb_rk3399/evb-rk3399.c @@ -9,12 +9,13 @@ #include <asm/arch/periph.h> #include <usb.h> #include <dwc3-uboot.h> +#include <power/regulator.h>
DECLARE_GLOBAL_DATA_PTR;
int board_init(void) { - struct udevice *pinctrl; + struct udevice *pinctrl, *regulator; int ret;
/* @@ -40,6 +41,18 @@ int board_init(void) goto out; }
+ ret = regulator_get_by_platname("vcc5v0_host", ®ulator); + if (ret) { + debug("%s vcc5v0_host init fail! ret %d\n", __func__, ret); + goto out; + } + + ret = regulator_set_enable(regulator, true); + if (ret) { + debug("%s vcc5v0-host-en set fail!\n", __func__); + goto out; + } + out: return 0; }