On 06/22/2019 09:43 PM, Kever Yang wrote:
> 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]>

Applied to u-boot-rockchip/master

Thanks,
- Kever
>
> 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



_______________________________________________
U-Boot mailing list
[email protected]
https://lists.denx.de/listinfo/u-boot

Reply via email to