From nobody Fri May 17 09:01:39 2024 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7604DC77B78 for ; Fri, 21 Apr 2023 22:05:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233700AbjDUWFu (ORCPT ); Fri, 21 Apr 2023 18:05:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49542 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230110AbjDUWFt (ORCPT ); Fri, 21 Apr 2023 18:05:49 -0400 X-Greylist: delayed 1603 seconds by postgrey-1.37 at lindbergh.monkeyblade.net; Fri, 21 Apr 2023 15:05:46 PDT Received: from mx.dolansoft.org (s2.dolansoft.org [212.51.146.245]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D835EAC; Fri, 21 Apr 2023 15:05:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=brun.one; s=s1; h=MIME-Version:Message-Id:Date:Subject:Cc:To:From:In-Reply-To: References:From:To:Subject:Date:Message-ID:Reply-To; bh=WqDR0GeRDjCmeGfB4Fz7AUgP7inOrXaAMKhLUK+zsKo=; b=OKeZGgK8rz/gd/z9Un26pCgh2c CjKEUk7Txai2yQYlLvih+G/wjpz75nD22kAsIJTTHjp0JKWDCaMFHtg4YDgxAC3a0yZCGkNUv2l0n sE/olz9qcde+OBN74YjhwWKQgopGHxLZboy+lvlMnhhtDkV77q2TIO/n98m6/mhc+F0lYP2dd2z+e KA0VFT1yM4gMfd9ulUb3myCIHNefNHEfBxf2YjVsZRoT6i1IUugXYQhiNRrOWZi3xdRFL3Z3ylHUT TljMoSOTRWpWLxu8o8/rK1eZwELXAt2HnoD/JZtWfS5qGOUJ5wMgBgAwDfV+h9MasEgZ5zFK/YvrX nLnfzfJg==; Received: from [212.51.153.89] (helo=blacklava.cluster.local) by mx.dolansoft.org with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1ppyT3-0009hE-1x; Fri, 21 Apr 2023 21:38:57 +0000 From: Lorenz Brun To: Rob Herring , Krzysztof Kozlowski , Heiko Stuebner Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v2] arm64: dts: rockchip: fix USB regulator on ROCK64 Date: Fri, 21 Apr 2023 23:38:41 +0200 Message-Id: <20230421213841.3079632-1-lorenz@brun.one> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: lorenz@dolansoft.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Currently the ROCK64 device tree specifies two regulators, vcc_host_5v and vcc_host1_5v for USB VBUS on the device. Both of those are however specified with RK_PA2 as the GPIO enabling them, causing the following error when booting: rockchip-pinctrl pinctrl: pin gpio0-2 already requested by vcc-host-5v-re= gulator; cannot claim for vcc-host1-5v-regulator rockchip-pinctrl pinctrl: pin-2 (vcc-host1-5v-regulator) status -22 rockchip-pinctrl pinctrl: could not request pin 2 (gpio0-2) from group us= b20-host-drv on device rockchip-pinctrl reg-fixed-voltage vcc-host1-5v-regulator: Error applying setting, reverse= things back Looking at the schematic, there are in fact three USB regulators, vcc_host_5v, vcc_host1_5v and vcc_otg_v5. But the enable signal for all three is driven by Q2604 which is in turn driven by GPIO_A2/PA2. Since these three regulators are not controllable separately, I removed the second one which was causing the error and added labels for all rails to the single regulator. Signed-off-by: Lorenz Brun Tested-by: Diederik de Haas --- v1 -> v2: add labels for all rails, change description to match --- arch/arm64/boot/dts/rockchip/rk3328-rock64.dts | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts b/arch/arm64/bo= ot/dts/rockchip/rk3328-rock64.dts index f69a38f42d2d..5d608e2776e9 100644 --- a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts +++ b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts @@ -37,7 +37,8 @@ vcc_sd: sdmmc-regulator { vin-supply =3D <&vcc_io>; }; =20 - vcc_host_5v: vcc-host-5v-regulator { + // Common enable line for all of the rails mentioned in the labels. + vcc_host_5v: vcc_host1_5v: vcc_otg_5v: vcc-host-5v-regulator { compatible =3D "regulator-fixed"; gpio =3D <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>; pinctrl-names =3D "default"; @@ -48,17 +49,6 @@ vcc_host_5v: vcc-host-5v-regulator { vin-supply =3D <&vcc_sys>; }; =20 - vcc_host1_5v: vcc_otg_5v: vcc-host1-5v-regulator { - compatible =3D "regulator-fixed"; - gpio =3D <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>; - pinctrl-names =3D "default"; - pinctrl-0 =3D <&usb20_host_drv>; - regulator-name =3D "vcc_host1_5v"; - regulator-always-on; - regulator-boot-on; - vin-supply =3D <&vcc_sys>; - }; - vcc_sys: vcc-sys { compatible =3D "regulator-fixed"; regulator-name =3D "vcc_sys"; --=20 2.39.2