Hi Mark,
On 06/22/2019 04:57 AM, Mark Kettenis wrote: > The new common rockchip pinctrl driver does not support explicit > requests for a particular pinctrl function. As a result, the > board_init() function bails out early before enabling the boot-on > regulators. Fix this by simply removing the request for pwm0, pwm2 > and pwm3. The generic DM code already does the necessary > configuration if necessary. > > Reported-by: Levin Du <[email protected]> > Signed-of-by: Mark Kettenis <[email protected]> Reveiwed-by: Kever Yang <[email protected]> Thanks, - Kever > --- > Without this patch the boot-on regulators are not enabled and the > my firefly-rk3399 doesn't run OpenBSD stable without it. Levin Du > reported similar problems with Linux. I'd say this is a critical > fix that should make the 2019.07 release. > > This patch deliberately does not touch the code in spl_boot_init() > as Jagan Teki just posted a patchset that touches those bits. > > board/rockchip/evb_rk3399/evb-rk3399.c | 32 +------------------------- > 1 file changed, 1 insertion(+), 31 deletions(-) > > diff --git a/board/rockchip/evb_rk3399/evb-rk3399.c > b/board/rockchip/evb_rk3399/evb-rk3399.c > index bf2ad98c47..8c20bd6e11 100644 > --- a/board/rockchip/evb_rk3399/evb-rk3399.c > +++ b/board/rockchip/evb_rk3399/evb-rk3399.c > @@ -13,39 +13,9 @@ > > int board_init(void) > { > - struct udevice *pinctrl, *regulator; > + struct udevice *regulator; > int ret; > > - /* > - * The PWM do not have decicated interrupt number in dts and can > - * not get periph_id by pinctrl framework, so let's init them here. > - * The PWM2 and PWM3 are for pwm regulater. > - */ > - ret = uclass_get_device(UCLASS_PINCTRL, 0, &pinctrl); > - if (ret) { > - debug("%s: Cannot find pinctrl device\n", __func__); > - goto out; > - } > - > - /* Enable pwm0 for panel backlight */ > - ret = pinctrl_request_noflags(pinctrl, PERIPH_ID_PWM0); > - if (ret) { > - debug("%s PWM0 pinctrl init fail! (ret=%d)\n", __func__, ret); > - goto out; > - } > - > - ret = pinctrl_request_noflags(pinctrl, PERIPH_ID_PWM2); > - if (ret) { > - debug("%s PWM2 pinctrl init fail!\n", __func__); > - goto out; > - } > - > - ret = pinctrl_request_noflags(pinctrl, PERIPH_ID_PWM3); > - if (ret) { > - debug("%s PWM3 pinctrl init fail!\n", __func__); > - goto out; > - } > - > ret = regulators_enable_boot_on(false); > if (ret) > debug("%s: Cannot enable boot on regulator\n", __func__); _______________________________________________ U-Boot mailing list [email protected] https://lists.denx.de/listinfo/u-boot

