All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alex Bee <knaerzche@gmail.com>
To: Jonas Karlman <jonas@kwiboo.se>, Mark Kettenis <mark.kettenis@xs4all.nl>
Cc: Kever Yang <kever.yang@rock-chips.com>,
	Simon Glass <sjg@chromium.org>,
	Philipp Tomsich <philipp.tomsich@vrull.eu>,
	Tom Rini <trini@konsulko.com>, Johan Jonker <jbx6244@gmail.com>,
	u-boot@lists.denx.de
Subject: Re: [PATCH 0/4] rockchip: Add gpio request() ops and drop PCIe reset-gpios workaround
Date: Sun, 12 May 2024 21:49:21 +0200	[thread overview]
Message-ID: <1b3b8c24-a3d9-4c36-a72f-45baee63f385@gmail.com> (raw)
In-Reply-To: <6853e5ac-271f-4d19-b8fb-a2746b834b24@kwiboo.se>


Am 11.05.24 um 20:47 schrieb Jonas Karlman:
> Hi Alex,
>
> On 2024-05-11 19:44, Alex Bee wrote:
>> Hi Jonas,
>>
>> Am 11.05.24 um 13:28 schrieb Jonas Karlman:
>>> This series add gpio request() and pinctrl gpio_request_enable() ops so
>>> that a gpio requested pin automatically use gpio pinmux and U-Boot
>>> behaves more similar to Linux kernel.
>> I'm not sure that's a good idea.
>> While linux does it the same way, we really shouldn't expect every
>> software/os/ … which uses DT (now or in future) to implicitly switch the
>> pin function when using a pin as gpio. So the real fix would probably be
>> to add the the correct pinctrl settings to the upstream DT of those
>> boards and sync it later on (not sure those if those SoCs already using
>> OF_UPSTREAM) and leave the -u-boot.dtsi-"hack" alone for now.
> I fully agree that the pinctrl for the problematic boards should be
> corrected in upstream DT, but that is a separate issue and should not
> block adding support for the request()/gpio_request_enable() ops.
>
> While the pcie reset-gpios full board freeze that was my driving factor
> to fully implement the gpio request() ops it is not the only use case,
> using the gpio cmd on a pin that use a non-gpio pinmux is another.
>
> Or do you see any technical issue with having the gpio request() ops
> implemented and having it ensure gpio pinmux is used on a gpio requested
> pin? Similar to how gpio/pinctrl is behaving in Linux and on some other
> platforms in U-Boot?
No, no general ("technical") issue with adding a .request hook to the gpio
driver. But now you are now moving the original workaround to an even more
invisible place which does things implicitly. Maybe just don't remove the
pinctrl from the boards u-boot-dtsi's - just replace it with

&pcie30x2m1_pins {
     rockchip,pins =
              <2 RK_PD4 4 &pcfg_pull_none>,
              <2 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>,
              <2 RK_PD5 4 &pcfg_pull_none>;
};

Even if it would (now) work without. It, at least, documents that there are
things left to do for the upstream DT.

What you were saying in reply to Mark's email is not completely true: Not
all pins are initialized with gpio func as default. It actually depends on
the pin which function the bootrom sets initially. In case of RK356x's
GPIO2_PD6 (the pin in question) it's BT656_D6M0 (func2), for instance. So,
in fact, you are changing it's function when implicitly setting it's func
to gpio (func0).

Alex

>
> Regards,
> Jonas
>
>> Alex
>>> With the gpio and pinctrl ops implemented this series also remove a PCIe
>>> reset-gpios related device lock-up workaround from board u-boot.dtsi.
>>>
>>> PX30, RK3066, RK3188, RK356x and RK3588 are the only SoCs that currently
>>> define gpio-ranges props and is affected by this series.
>>>
>>> A follow up series adding support for the pinmux status cmd will also
>>> add gpio-ranges props for remaining RK SoCs.
>>>
>>> Jonas Karlman (4):
>>>     pinctrl: rockchip: Add gpio_request_enable() ops
>>>     gpio: rockchip: Add request() ops
>>>     rockchip: rk3568-rock-3a: Drop PCIe reset-gpios workaround
>>>     rockchip: rk3568-radxa-e25: Drop PCIe reset-gpios workaround
>>>
>>>    arch/arm/dts/rk3568-radxa-e25-u-boot.dtsi     | 12 -------
>>>    arch/arm/dts/rk3568-rock-3a-u-boot.dtsi       | 12 -------
>>>    drivers/gpio/rk_gpio.c                        | 10 ++++++
>>>    .../pinctrl/rockchip/pinctrl-rockchip-core.c  | 31 +++++++++++++++++++
>>>    4 files changed, 41 insertions(+), 24 deletions(-)
>>>

  parent reply	other threads:[~2024-05-12 19:49 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-11 11:28 [PATCH 0/4] rockchip: Add gpio request() ops and drop PCIe reset-gpios workaround Jonas Karlman
2024-05-11 11:28 ` [PATCH 1/4] pinctrl: rockchip: Add gpio_request_enable() ops Jonas Karlman
2024-05-11 11:28 ` [PATCH 2/4] gpio: rockchip: Add request() ops Jonas Karlman
2024-05-11 11:28 ` [PATCH 3/4] rockchip: rk3568-rock-3a: Drop PCIe reset-gpios workaround Jonas Karlman
2024-06-07 10:25   ` Kever Yang
2024-05-11 11:28 ` [PATCH 4/4] rockchip: rk3568-radxa-e25: " Jonas Karlman
2024-05-11 17:44 ` [PATCH 0/4] rockchip: Add gpio request() ops and drop " Alex Bee
2024-05-11 18:47   ` Jonas Karlman
2024-05-11 19:57     ` Mark Kettenis
2024-05-11 20:55       ` Jonas Karlman
2024-05-12 20:41         ` Mark Kettenis
2024-05-12 22:23           ` Jonas Karlman
2024-05-21 21:30             ` Mark Kettenis
2024-05-12 19:49     ` Alex Bee [this message]
2024-05-12 20:47       ` Mark Kettenis
2024-05-12 21:37       ` Jonas Karlman
2024-05-12 22:34         ` Alex Bee
2024-05-12 23:22           ` Jonas Karlman
2024-05-22 14:18             ` Alex Bee
2024-05-22 16:20               ` Jonas Karlman
2024-05-22 19:46                 ` Alex Bee
2024-07-16  9:56                   ` Kever Yang

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=1b3b8c24-a3d9-4c36-a72f-45baee63f385@gmail.com \
    --to=knaerzche@gmail.com \
    --cc=jbx6244@gmail.com \
    --cc=jonas@kwiboo.se \
    --cc=kever.yang@rock-chips.com \
    --cc=mark.kettenis@xs4all.nl \
    --cc=philipp.tomsich@vrull.eu \
    --cc=sjg@chromium.org \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.