[PATCH 0/4] rockchip: Add gpio request() ops and drop PCIe reset-gpios workaround
Jonas Karlman
jonas at kwiboo.se
Sat May 11 20:47:40 CEST 2024
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?
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(-)
>>
>
More information about the U-Boot
mailing list