From: "Heiko Stübner" <heiko@sntech.de>
To: Lorenz Brun <lorenz@brun.one>, Peter Geis <pgwipeout@gmail.com>
Cc: linux-rockchip@lists.infradead.org
Subject: Re: [PATCH] arm64: dts: rockchip: fix USB regulator on ROCK64
Date: Thu, 05 Jan 2023 00:52:12 +0100 [thread overview]
Message-ID: <3819910.R56niFO833@diego> (raw)
In-Reply-To: <CAMdYzYq4Nev1Vya7Bw9M5x5Fv_QNh0tCjfn4e33T5wkA6iwijQ@mail.gmail.com>
Am Donnerstag, 5. Januar 2023, 00:46:25 CET schrieb Peter Geis:
> On Wed, Jan 4, 2023 at 3:55 PM Lorenz Brun <lorenz@brun.one> wrote:
> >
> > 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-regulator; 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 usb20-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 left a comment explaining
> > that this regulator actually controls multiple rails.
> >
> > Signed-off-by: Lorenz Brun <lorenz@brun.one>
> > ---
> > arch/arm64/boot/dts/rockchip/rk3328-rock64.dts | 14 +++-----------
> > 1 file changed, 3 insertions(+), 11 deletions(-)
> >
> > diff --git a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
> > index f69a38f42d2d..bd82bc80444d 100644
> > --- a/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
> > +++ b/arch/arm64/boot/dts/rockchip/rk3328-rock64.dts
> > @@ -37,6 +37,9 @@ vcc_sd: sdmmc-regulator {
> > vin-supply = <&vcc_io>;
> > };
> >
> > + // vcc_host_5v also controls the vcc_host1_5v and vcc_otg_5v rails
> > + // but there is only one common control signal (USB20_HOST_DRV) at
> > + // GPIO_A2
> > vcc_host_5v: vcc-host-5v-regulator {
> > compatible = "regulator-fixed";
> > gpio = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
> > @@ -48,17 +51,6 @@ vcc_host_5v: vcc-host-5v-regulator {
> > vin-supply = <&vcc_sys>;
> > };
> >
> > - vcc_host1_5v: vcc_otg_5v: vcc-host1-5v-regulator {
> > - compatible = "regulator-fixed";
> > - gpio = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
> > - pinctrl-names = "default";
> > - pinctrl-0 = <&usb20_host_drv>;
> > - regulator-name = "vcc_host1_5v";
> > - regulator-always-on;
> > - regulator-boot-on;
> > - vin-supply = <&vcc_sys>;
> > - };
>
> Fixed-regulator supports multiple regulators sharing a gpio, the issue
> is you have the pinctrl assigned multiple times which is not
> supported. Simply removing the pinctrl from all but one of the
> regulators will solve this issue.
Hmm, but where is the advantage in that?
I.e. fully representing the hardware would mean not only sharing the gpio
but also the pinctrl on all fixed regulators.
And with only one of them having the pinctrl, are we sure the regulator
probed first will always be the same, or does the pinctrl setting may only
come into effect once the 2nd or 3rd one probes?
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
next prev parent reply other threads:[~2023-01-05 18:40 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-04 20:54 [PATCH] arm64: dts: rockchip: fix USB regulator on ROCK64 Lorenz Brun
2023-01-04 23:46 ` Peter Geis
2023-01-04 23:52 ` Heiko Stübner [this message]
2023-01-05 0:27 ` Peter Geis
2023-01-04 23:55 ` Lorenz Brun
2023-01-05 0:29 ` Peter Geis
2023-01-10 13:02 ` Heiko Stübner
2023-01-10 21:38 ` Lorenz Brun
2023-04-10 16:01 ` Lorenz Brun
2023-04-10 20:30 ` Heiko Stübner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3819910.R56niFO833@diego \
--to=heiko@sntech.de \
--cc=linux-rockchip@lists.infradead.org \
--cc=lorenz@brun.one \
--cc=pgwipeout@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).