From patchwork Fri Jun 21 20:57:20 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Kettenis X-Patchwork-Id: 1120498 X-Patchwork-Delegate: ykai007@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=openbsd.org Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 45VrcN4sL5z9s3C for ; Sat, 22 Jun 2019 06:57:54 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id B40BBC21E0D; Fri, 21 Jun 2019 20:57:49 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 980BCC21C27; Fri, 21 Jun 2019 20:57:46 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id BBF0EC21C27; Fri, 21 Jun 2019 20:57:44 +0000 (UTC) Received: from lb1-smtp-cloud7.xs4all.net (lb1-smtp-cloud7.xs4all.net [194.109.24.24]) by lists.denx.de (Postfix) with ESMTPS id 2565FC21BE5 for ; Fri, 21 Jun 2019 20:57:44 +0000 (UTC) Received: from barber.sibelius.xs4all.nl ([83.163.83.176]) by smtp-cloud7.xs4all.net with ESMTP id eQbChoh5EF85OeQbDhS1To; Fri, 21 Jun 2019 22:57:44 +0200 From: Mark Kettenis To: u-boot@lists.denx.de Date: Fri, 21 Jun 2019 22:57:20 +0200 Message-Id: <20190621205720.37044-1-kettenis@openbsd.org> X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 X-CMAE-Envelope: MS4wfPehU9HjmJdVLsHZdV/mhZaVQKUeTZzbPJ5cNmrSv9urRDldDTExCTDtZeebAeMbf+AyTt1JjHQ4Ili2FqjXAHqbcPMJt4pGgNeeFHaoxeZf+N7dSuOd ZyCoZIufnavcWy/91f6CS2y2+ir/H2AV5anQzSTd+bB0OJ7E6nARqhODg0jBhBwMIJQ+YwBryX1T/INssNF30ohGl5Zky4JrynuOCncmHZz0+nOSfxhheRdB RHBp2EAr0KbEixFhuWcFsmiBFY9m9qnMZguchoy8eLbSYM6lIMLF7+TAiHsjHTCXHfew2Fuu5Tvot//xoSisxoZ7HUoev0ZscOFReFbEyyPiDL6ubNdgVb8T zgRQPzCVSwFuXVnT6/PkZ+gErECBtw== Cc: Mark Kettenis Subject: [U-Boot] [PATCH] rockchip: rk3399: Fix enabling boot-on regulators X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" 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 Signed-of-by: Mark Kettenis --- 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__);