diff mbox series

[3/4] rockchip: rk3568-rock-3a: Drop PCIe reset-gpios workaround

Message ID 20240511112821.1156519-4-jonas@kwiboo.se
State Superseded
Delegated to: Kever Yang
Headers show
Series rockchip: Add gpio request() ops and drop PCIe reset-gpios workaround | expand

Commit Message

Jonas Karlman May 11, 2024, 11:28 a.m. UTC
The GPIO2_D6 pin is changed to use func-4 using pcie30x2m1_pins during
probe of pcie3x2. This cause the device to lock-up when pci driver use
the reset-gpios unless the pin is first changed to use gpio pinmux.

Drop the board u-boot.dtsi workaround now that the gpio and pinctrl
drivers automatically use gpio pinmux when a gpio is requested.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
---
 arch/arm/dts/rk3568-rock-3a-u-boot.dtsi | 12 ------------
 1 file changed, 12 deletions(-)

Comments

Kever Yang June 7, 2024, 10:25 a.m. UTC | #1
Hi Jonas,

On 2024/5/11 19:28, Jonas Karlman wrote:
> The GPIO2_D6 pin is changed to use func-4 using pcie30x2m1_pins during
> probe of pcie3x2. This cause the device to lock-up when pci driver use
> the reset-gpios unless the pin is first changed to use gpio pinmux.
The reset-gpio for PCIe is for sure to use this IO as GPIO instead of 
function IO.
And also CLKREQ and WAKEN should work in GPIO mode.
So keep the all PCIe IO to pinmux to function IO should not be correct.
Could you try with something like this:
&pcie3x2 {
     /delete-property/ pinctrl-names
     /delete-property/ pinctrl-0;
};

Thanks,
- Kever
>
> Drop the board u-boot.dtsi workaround now that the gpio and pinctrl
> drivers automatically use gpio pinmux when a gpio is requested.
>
> Signed-off-by: Jonas Karlman<jonas@kwiboo.se>
> ---
>   arch/arm/dts/rk3568-rock-3a-u-boot.dtsi | 12 ------------
>   1 file changed, 12 deletions(-)
>
> diff --git a/arch/arm/dts/rk3568-rock-3a-u-boot.dtsi b/arch/arm/dts/rk3568-rock-3a-u-boot.dtsi
> index 9d18f5d0b364..f4e2dc91ddfb 100644
> --- a/arch/arm/dts/rk3568-rock-3a-u-boot.dtsi
> +++ b/arch/arm/dts/rk3568-rock-3a-u-boot.dtsi
> @@ -6,18 +6,6 @@
>   
>   #include "rk356x-u-boot.dtsi"
>   
> -&pcie3x2 {
> -	pinctrl-0 = <&pcie3x2_reset_h>;
> -};
> -
> -&pinctrl {
> -	pcie {
> -		pcie3x2_reset_h: pcie3x2-reset-h {
> -			rockchip,pins = <2 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>;
> -		};
> -	};
> -};
> -
>   &sdhci {
>   	cap-mmc-highspeed;
>   	mmc-hs200-1_8v;
diff mbox series

Patch

diff --git a/arch/arm/dts/rk3568-rock-3a-u-boot.dtsi b/arch/arm/dts/rk3568-rock-3a-u-boot.dtsi
index 9d18f5d0b364..f4e2dc91ddfb 100644
--- a/arch/arm/dts/rk3568-rock-3a-u-boot.dtsi
+++ b/arch/arm/dts/rk3568-rock-3a-u-boot.dtsi
@@ -6,18 +6,6 @@ 
 
 #include "rk356x-u-boot.dtsi"
 
-&pcie3x2 {
-	pinctrl-0 = <&pcie3x2_reset_h>;
-};
-
-&pinctrl {
-	pcie {
-		pcie3x2_reset_h: pcie3x2-reset-h {
-			rockchip,pins = <2 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>;
-		};
-	};
-};
-
 &sdhci {
 	cap-mmc-highspeed;
 	mmc-hs200-1_8v;