* [PATCH v2 0/4] Move to gated-fixed-clock for Theobroma/Cherry boards
@ 2026-02-10 8:02 Heiko Stuebner
2026-02-10 8:02 ` [PATCH v2 1/4] arm64: dts: rockchip: use gated-fixed-clock for pcie-refclk on rk3588-jaguar Heiko Stuebner
` (4 more replies)
0 siblings, 5 replies; 12+ messages in thread
From: Heiko Stuebner @ 2026-02-10 8:02 UTC (permalink / raw)
To: heiko; +Cc: quentin.schulz, linux-arm-kernel, linux-rockchip, linux-kernel
Both Tiger and Jaguar currently use a fixed-clock and gpio-gate-clock
to model the PCIe clock generator they have.
Ever since I wrote the gated-fixed-clock binding + driver, I carry
around conversion patches for those boards to use the new binding
and describe actual hardware.
I submitted different versions in the initial submission of the
then still named "clock-generator" binding, but have reworked
them now to use the gated-fixed-clock binding that actually landed.
changes in v2:
- trim down comment block on generator node (Quentin)
- re-use old clock-name (Quentin)
- update commit message about added regulator (Quentin)
- add patch fixing the pinconf of the Jaguar clkreq_m0 (Quentin)
Heiko Stuebner (4):
arm64: dts: rockchip: use gated-fixed-clock for pcie-refclk on
rk3588-jaguar
arm64: dts: rockchip: use gated-fixed-clock for pcie-refclk on
rk3588-tiger
arm64: dts: rockchip: add pinctrl for clk-generator GPIO on
rk3588-tiger
arm64: dts: rockchip: Make Jaguar PCIe-refclk pin use pull-up config
.../arm64/boot/dts/rockchip/rk3588-jaguar.dts | 21 +++++----------
.../arm64/boot/dts/rockchip/rk3588-tiger.dtsi | 27 +++++++++----------
2 files changed, 19 insertions(+), 29 deletions(-)
--
2.47.2
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v2 1/4] arm64: dts: rockchip: use gated-fixed-clock for pcie-refclk on rk3588-jaguar
2026-02-10 8:02 [PATCH v2 0/4] Move to gated-fixed-clock for Theobroma/Cherry boards Heiko Stuebner
@ 2026-02-10 8:02 ` Heiko Stuebner
2026-02-10 9:40 ` Quentin Schulz
2026-02-11 14:20 ` Shawn Lin
2026-02-10 8:03 ` [PATCH v2 2/4] arm64: dts: rockchip: use gated-fixed-clock for pcie-refclk on rk3588-tiger Heiko Stuebner
` (3 subsequent siblings)
4 siblings, 2 replies; 12+ messages in thread
From: Heiko Stuebner @ 2026-02-10 8:02 UTC (permalink / raw)
To: heiko
Cc: quentin.schulz, linux-arm-kernel, linux-rockchip, linux-kernel,
Heiko Stuebner
From: Heiko Stuebner <heiko.stuebner@cherry.de>
Using a combination of fixed clock and gpio-gate clock works but does
not describe the actual hardware. Use the gated-fixed-clock binding
to describe this in a nicer way.
Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
---
.../arm64/boot/dts/rockchip/rk3588-jaguar.dts | 19 +++++--------------
1 file changed, 5 insertions(+), 14 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts b/arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts
index 952affaf455c..e21ad7575cb6 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts
@@ -86,25 +86,16 @@ led-1 {
};
};
- /*
- * 100MHz reference clock for PCIe peripherals from PI6C557-05BLE
- * clock generator.
- * The clock output is gated via the OE pin on the clock generator.
- * This is modeled as a fixed-clock plus a gpio-gate-clock.
- */
- pcie_refclk_gen: pcie-refclk-gen-clock {
- compatible = "fixed-clock";
+ /* 100MHz PCIe reference clock from PI6C557-05BLE */
+ pcie_refclk: pcie-clock-generator {
+ compatible = "gated-fixed-clock";
#clock-cells = <0>;
clock-frequency = <100000000>;
- };
-
- pcie_refclk: pcie-refclk-clock {
- compatible = "gpio-gate-clock";
- clocks = <&pcie_refclk_gen>;
- #clock-cells = <0>;
+ clock-output-names = "pcie-refclk-clock";
enable-gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_LOW>; /* PCIE30X4_CLKREQN_M0 */
pinctrl-names = "default";
pinctrl-0 = <&pcie30x4_clkreqn_m0>;
+ vdd-supply = <&vcca_3v3_s0>;
};
pps {
--
2.47.2
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v2 2/4] arm64: dts: rockchip: use gated-fixed-clock for pcie-refclk on rk3588-tiger
2026-02-10 8:02 [PATCH v2 0/4] Move to gated-fixed-clock for Theobroma/Cherry boards Heiko Stuebner
2026-02-10 8:02 ` [PATCH v2 1/4] arm64: dts: rockchip: use gated-fixed-clock for pcie-refclk on rk3588-jaguar Heiko Stuebner
@ 2026-02-10 8:03 ` Heiko Stuebner
2026-02-10 9:41 ` Quentin Schulz
2026-02-11 14:24 ` Shawn Lin
2026-02-10 8:03 ` [PATCH v2 3/4] arm64: dts: rockchip: add pinctrl for clk-generator GPIO " Heiko Stuebner
` (2 subsequent siblings)
4 siblings, 2 replies; 12+ messages in thread
From: Heiko Stuebner @ 2026-02-10 8:03 UTC (permalink / raw)
To: heiko
Cc: quentin.schulz, linux-arm-kernel, linux-rockchip, linux-kernel,
Heiko Stuebner
From: Heiko Stuebner <heiko.stuebner@cherry.de>
Using a combination of fixed clock and gpio-gate clock works but does
not describe the actual hardware. Use the gated-fixed-clock binding
to describe this in a nicer way.
Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
---
.../arm64/boot/dts/rockchip/rk3588-tiger.dtsi | 19 +++++--------------
1 file changed, 5 insertions(+), 14 deletions(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-tiger.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-tiger.dtsi
index 27269b7b08aa..b4b8f305935f 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-tiger.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-tiger.dtsi
@@ -47,23 +47,14 @@ led-1 {
};
};
- /*
- * 100MHz reference clock for PCIe peripherals from PI6C557-05BLE
- * clock generator.
- * The clock output is gated via the OE pin on the clock generator.
- * This is modeled as a fixed-clock plus a gpio-gate-clock.
- */
- pcie_refclk_gen: pcie-refclk-gen-clock {
- compatible = "fixed-clock";
+ /* 100MHz PCIe reference clock from PI6C557-05BLE */
+ pcie_refclk: pcie-clock-generator {
+ compatible = "gated-fixed-clock";
#clock-cells = <0>;
clock-frequency = <100000000>;
- };
-
- pcie_refclk: pcie-refclk-clock {
- compatible = "gpio-gate-clock";
- clocks = <&pcie_refclk_gen>;
- #clock-cells = <0>;
+ clock-output-names = "pcie-refclk-clock";
enable-gpios = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>; /* PCIE30X4_CLKREQN_M1_L */
+ vdd-supply = <&vcca_3v3_s0>;
};
vcc_1v1_nldo_s3: regulator-vcc-1v1-nldo-s3 {
--
2.47.2
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v2 3/4] arm64: dts: rockchip: add pinctrl for clk-generator GPIO on rk3588-tiger
2026-02-10 8:02 [PATCH v2 0/4] Move to gated-fixed-clock for Theobroma/Cherry boards Heiko Stuebner
2026-02-10 8:02 ` [PATCH v2 1/4] arm64: dts: rockchip: use gated-fixed-clock for pcie-refclk on rk3588-jaguar Heiko Stuebner
2026-02-10 8:03 ` [PATCH v2 2/4] arm64: dts: rockchip: use gated-fixed-clock for pcie-refclk on rk3588-tiger Heiko Stuebner
@ 2026-02-10 8:03 ` Heiko Stuebner
2026-02-10 8:03 ` [PATCH v2 4/4] arm64: dts: rockchip: Make Jaguar PCIe-refclk pin use pull-up config Heiko Stuebner
2026-03-02 12:58 ` [PATCH v2 0/4] Move to gated-fixed-clock for Theobroma/Cherry boards Heiko Stuebner
4 siblings, 0 replies; 12+ messages in thread
From: Heiko Stuebner @ 2026-02-10 8:03 UTC (permalink / raw)
To: heiko
Cc: quentin.schulz, linux-arm-kernel, linux-rockchip, linux-kernel,
Heiko Stuebner
From: Heiko Stuebner <heiko.stuebner@cherry.de>
While specific driver in the Linux-Kernel handles GPIOs gracefully without
matching pinctrl entries, this might not be true for other operating
systems. So having pinctrl entries makes the hardware-description
more complete.
The somewhat similar rk3588-jaguar board has a pinctrl entry already,
so also add one for rk3588-tiger.
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
---
arch/arm64/boot/dts/rockchip/rk3588-tiger.dtsi | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-tiger.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-tiger.dtsi
index b4b8f305935f..a0e97481afb7 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-tiger.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588-tiger.dtsi
@@ -54,6 +54,8 @@ pcie_refclk: pcie-clock-generator {
clock-frequency = <100000000>;
clock-output-names = "pcie-refclk-clock";
enable-gpios = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>; /* PCIE30X4_CLKREQN_M1_L */
+ pinctrl-names = "default";
+ pinctrl-0 = <&pcie30x4_clkreqn_m1_l>;
vdd-supply = <&vcca_3v3_s0>;
};
@@ -353,6 +355,12 @@ module_led_pin: module-led-pin {
};
};
+ pcie30x4 {
+ pcie30x4_clkreqn_m1_l: pcie30x4-clkreqn-m1-l {
+ rockchip,pins = <4 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
+ };
+ };
+
usb3 {
usb3_id: usb3-id {
rockchip,pins =
--
2.47.2
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v2 4/4] arm64: dts: rockchip: Make Jaguar PCIe-refclk pin use pull-up config
2026-02-10 8:02 [PATCH v2 0/4] Move to gated-fixed-clock for Theobroma/Cherry boards Heiko Stuebner
` (2 preceding siblings ...)
2026-02-10 8:03 ` [PATCH v2 3/4] arm64: dts: rockchip: add pinctrl for clk-generator GPIO " Heiko Stuebner
@ 2026-02-10 8:03 ` Heiko Stuebner
2026-02-10 9:50 ` Quentin Schulz
2026-02-11 14:31 ` Shawn Lin
2026-03-02 12:58 ` [PATCH v2 0/4] Move to gated-fixed-clock for Theobroma/Cherry boards Heiko Stuebner
4 siblings, 2 replies; 12+ messages in thread
From: Heiko Stuebner @ 2026-02-10 8:03 UTC (permalink / raw)
To: heiko
Cc: quentin.schulz, linux-arm-kernel, linux-rockchip, linux-kernel,
Heiko Stuebner
From: Heiko Stuebner <heiko.stuebner@cherry.de>
Different to RK3588-Tiger, on RK3588-Jaguar the signal enabling the
PCIe-refclk generator controls a transistor which in turn controls the
output-enable input of the PI6C557 and there's no external Pull-Up or
Pull-Down between the SoC and the transistor gate.
On Tiger the pin is directly connected to the PDn input which has an
internal pull up.
So match that behaviour on Jaguar by changing the pin config to enable
the SoC's pull-up config.
Suggested-by: Quentin Schulz <quentin.schulz@cherry.de>
Fixes: 0ec7e1096332 ("arm64: dts: rockchip: add PCIe3 support on rk3588-jaguar")
Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
---
arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts b/arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts
index e21ad7575cb6..5f5d89a33a4a 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts
@@ -579,7 +579,7 @@ led1_pin: led1-pin {
pcie30x4 {
pcie30x4_clkreqn_m0: pcie30x4-clkreqn-m0 {
- rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
+ rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>;
};
pcie30x4_perstn_m0: pcie30x4-perstn-m0 {
--
2.47.2
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/4] arm64: dts: rockchip: use gated-fixed-clock for pcie-refclk on rk3588-jaguar
2026-02-10 8:02 ` [PATCH v2 1/4] arm64: dts: rockchip: use gated-fixed-clock for pcie-refclk on rk3588-jaguar Heiko Stuebner
@ 2026-02-10 9:40 ` Quentin Schulz
2026-02-11 14:20 ` Shawn Lin
1 sibling, 0 replies; 12+ messages in thread
From: Quentin Schulz @ 2026-02-10 9:40 UTC (permalink / raw)
To: Heiko Stuebner
Cc: linux-arm-kernel, linux-rockchip, linux-kernel, Heiko Stuebner
Hi Heiko,
On 2/10/26 9:02 AM, Heiko Stuebner wrote:
> From: Heiko Stuebner <heiko.stuebner@cherry.de>
>
> Using a combination of fixed clock and gpio-gate clock works but does
> not describe the actual hardware. Use the gated-fixed-clock binding
> to describe this in a nicer way.
>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Thanks!
Quentin
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 2/4] arm64: dts: rockchip: use gated-fixed-clock for pcie-refclk on rk3588-tiger
2026-02-10 8:03 ` [PATCH v2 2/4] arm64: dts: rockchip: use gated-fixed-clock for pcie-refclk on rk3588-tiger Heiko Stuebner
@ 2026-02-10 9:41 ` Quentin Schulz
2026-02-11 14:24 ` Shawn Lin
1 sibling, 0 replies; 12+ messages in thread
From: Quentin Schulz @ 2026-02-10 9:41 UTC (permalink / raw)
To: Heiko Stuebner
Cc: linux-arm-kernel, linux-rockchip, linux-kernel, Heiko Stuebner
Hi Heiko,
On 2/10/26 9:03 AM, Heiko Stuebner wrote:
> From: Heiko Stuebner <heiko.stuebner@cherry.de>
>
> Using a combination of fixed clock and gpio-gate clock works but does
> not describe the actual hardware. Use the gated-fixed-clock binding
> to describe this in a nicer way.
>
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Thanks!
Quentin
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 4/4] arm64: dts: rockchip: Make Jaguar PCIe-refclk pin use pull-up config
2026-02-10 8:03 ` [PATCH v2 4/4] arm64: dts: rockchip: Make Jaguar PCIe-refclk pin use pull-up config Heiko Stuebner
@ 2026-02-10 9:50 ` Quentin Schulz
2026-02-11 14:31 ` Shawn Lin
1 sibling, 0 replies; 12+ messages in thread
From: Quentin Schulz @ 2026-02-10 9:50 UTC (permalink / raw)
To: Heiko Stuebner
Cc: linux-arm-kernel, linux-rockchip, linux-kernel, Heiko Stuebner
Hi Heiko,
On 2/10/26 9:03 AM, Heiko Stuebner wrote:
> From: Heiko Stuebner <heiko.stuebner@cherry.de>
>
> Different to RK3588-Tiger, on RK3588-Jaguar the signal enabling the
> PCIe-refclk generator controls a transistor which in turn controls the
> output-enable input of the PI6C557 and there's no external Pull-Up or
> Pull-Down between the SoC and the transistor gate.
>
> On Tiger the pin is directly connected to the PDn input which has an
> internal pull up.
>
> So match that behaviour on Jaguar by changing the pin config to enable
> the SoC's pull-up config.
>
I think we've a different behavior on Jaguar and Tiger (see polarity of
enable-gpios), so this is a bit misleading. I would simply say this
matches the default PU/PD pinconf of the SoC after reset according to
the TRM. It also means we keep the clock generator in reset until the
device driver drives the enable pin. On Tiger, since we would need a
pull-down to have it disabled by default, but that it's only an internal
pull-down on RK3588-side and a pull-up on the clock generator IC-side, I
don't know if that would work and reliably at that if we were to have
opposite internal pull-up/down resistors on each side of the line, hence
the no PU/PD on RK3588 side.
With the commit log reworked:
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
Thanks!
Quentin
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/4] arm64: dts: rockchip: use gated-fixed-clock for pcie-refclk on rk3588-jaguar
2026-02-10 8:02 ` [PATCH v2 1/4] arm64: dts: rockchip: use gated-fixed-clock for pcie-refclk on rk3588-jaguar Heiko Stuebner
2026-02-10 9:40 ` Quentin Schulz
@ 2026-02-11 14:20 ` Shawn Lin
1 sibling, 0 replies; 12+ messages in thread
From: Shawn Lin @ 2026-02-11 14:20 UTC (permalink / raw)
To: Heiko Stuebner
Cc: shawn.lin, quentin.schulz, linux-arm-kernel, linux-rockchip,
linux-kernel, Heiko Stuebner
Hi Heiko
在 2026/02/10 星期二 16:02, Heiko Stuebner 写道:
> From: Heiko Stuebner <heiko.stuebner@cherry.de>
>
> Using a combination of fixed clock and gpio-gate clock works but does
> not describe the actual hardware. Use the gated-fixed-clock binding
> to describe this in a nicer way.
>
> Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
> ---
> .../arm64/boot/dts/rockchip/rk3588-jaguar.dts | 19 +++++--------------
> 1 file changed, 5 insertions(+), 14 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts b/arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts
> index 952affaf455c..e21ad7575cb6 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts
> @@ -86,25 +86,16 @@ led-1 {
> };
> };
>
> - /*
> - * 100MHz reference clock for PCIe peripherals from PI6C557-05BLE
> - * clock generator.
> - * The clock output is gated via the OE pin on the clock generator.
> - * This is modeled as a fixed-clock plus a gpio-gate-clock.
> - */
> - pcie_refclk_gen: pcie-refclk-gen-clock {
> - compatible = "fixed-clock";
> + /* 100MHz PCIe reference clock from PI6C557-05BLE */
> + pcie_refclk: pcie-clock-generator {
> + compatible = "gated-fixed-clock";
> #clock-cells = <0>;
> clock-frequency = <100000000>;
> - };
> -
> - pcie_refclk: pcie-refclk-clock {
> - compatible = "gpio-gate-clock";
> - clocks = <&pcie_refclk_gen>;
> - #clock-cells = <0>;
> + clock-output-names = "pcie-refclk-clock";
> enable-gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_LOW>; /* PCIE30X4_CLKREQN_M0 */
> pinctrl-names = "default";
> pinctrl-0 = <&pcie30x4_clkreqn_m0>;
This looks fine,
Reviewed-by: Shawn Lin <shawn.lin@rock-chips.com>
> + vdd-supply = <&vcca_3v3_s0>;
> };
>
> pps {
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 2/4] arm64: dts: rockchip: use gated-fixed-clock for pcie-refclk on rk3588-tiger
2026-02-10 8:03 ` [PATCH v2 2/4] arm64: dts: rockchip: use gated-fixed-clock for pcie-refclk on rk3588-tiger Heiko Stuebner
2026-02-10 9:41 ` Quentin Schulz
@ 2026-02-11 14:24 ` Shawn Lin
1 sibling, 0 replies; 12+ messages in thread
From: Shawn Lin @ 2026-02-11 14:24 UTC (permalink / raw)
To: Heiko Stuebner
Cc: shawn.lin, quentin.schulz, linux-arm-kernel, linux-rockchip,
linux-kernel, Heiko Stuebner
在 2026/02/10 星期二 16:03, Heiko Stuebner 写道:
> From: Heiko Stuebner <heiko.stuebner@cherry.de>
>
> Using a combination of fixed clock and gpio-gate clock works but does
> not describe the actual hardware. Use the gated-fixed-clock binding
> to describe this in a nicer way.
>
> Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
> ---
> .../arm64/boot/dts/rockchip/rk3588-tiger.dtsi | 19 +++++--------------
> 1 file changed, 5 insertions(+), 14 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk3588-tiger.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-tiger.dtsi
> index 27269b7b08aa..b4b8f305935f 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3588-tiger.dtsi
> +++ b/arch/arm64/boot/dts/rockchip/rk3588-tiger.dtsi
> @@ -47,23 +47,14 @@ led-1 {
> };
> };
>
> - /*
> - * 100MHz reference clock for PCIe peripherals from PI6C557-05BLE
> - * clock generator.
> - * The clock output is gated via the OE pin on the clock generator.
> - * This is modeled as a fixed-clock plus a gpio-gate-clock.
> - */
> - pcie_refclk_gen: pcie-refclk-gen-clock {
> - compatible = "fixed-clock";
> + /* 100MHz PCIe reference clock from PI6C557-05BLE */
> + pcie_refclk: pcie-clock-generator {
> + compatible = "gated-fixed-clock";
> #clock-cells = <0>;
> clock-frequency = <100000000>;
> - };
> -
> - pcie_refclk: pcie-refclk-clock {
> - compatible = "gpio-gate-clock";
> - clocks = <&pcie_refclk_gen>;
> - #clock-cells = <0>;
> + clock-output-names = "pcie-refclk-clock";
> enable-gpios = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>; /* PCIE30X4_CLKREQN_M1_L */
The change itself looks fine , so
Reviewed-by: Shawn Lin <shawn.lin@rock-chips.com>
However, if it's designed as active high, I would say Tiger is against
the the PCIe spec about how L1 substate work. Perhaps you could check
PCIe spec v7.0, Figure 5-16 Example: L1.2 Waveforms Illustrating
Upstream Port Initiated Exit.. When in L1.2, clkreq# should be released
by both ends, and the pull-up register by whatevery way will make it
into high, and thus refclk is gated automatically.
> + vdd-supply = <&vcca_3v3_s0>;
> };
>
> vcc_1v1_nldo_s3: regulator-vcc-1v1-nldo-s3 {
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 4/4] arm64: dts: rockchip: Make Jaguar PCIe-refclk pin use pull-up config
2026-02-10 8:03 ` [PATCH v2 4/4] arm64: dts: rockchip: Make Jaguar PCIe-refclk pin use pull-up config Heiko Stuebner
2026-02-10 9:50 ` Quentin Schulz
@ 2026-02-11 14:31 ` Shawn Lin
1 sibling, 0 replies; 12+ messages in thread
From: Shawn Lin @ 2026-02-11 14:31 UTC (permalink / raw)
To: Heiko Stuebner
Cc: shawn.lin, quentin.schulz, linux-arm-kernel, linux-rockchip,
linux-kernel, Heiko Stuebner
在 2026/02/10 星期二 16:03, Heiko Stuebner 写道:
> From: Heiko Stuebner <heiko.stuebner@cherry.de>
>
> Different to RK3588-Tiger, on RK3588-Jaguar the signal enabling the
> PCIe-refclk generator controls a transistor which in turn controls the
> output-enable input of the PI6C557 and there's no external Pull-Up or
> Pull-Down between the SoC and the transistor gate.
>
> On Tiger the pin is directly connected to the PDn input which has an
> internal pull up.
>
> So match that behaviour on Jaguar by changing the pin config to enable
> the SoC's pull-up config.
>
> Suggested-by: Quentin Schulz <quentin.schulz@cherry.de>
> Fixes: 0ec7e1096332 ("arm64: dts: rockchip: add PCIe3 support on rk3588-jaguar")
> Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
> ---
> arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts b/arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts
> index e21ad7575cb6..5f5d89a33a4a 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3588-jaguar.dts
> @@ -579,7 +579,7 @@ led1_pin: led1-pin {
>
> pcie30x4 {
> pcie30x4_clkreqn_m0: pcie30x4-clkreqn-m0 {
> - rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
> + rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>;
If Jaguar need support L1 substate, I guess it should be changed to
fucntion IO again instead of GPIO. From the refclk design which uses
pcie30x4_clkreqn_m0 as enable control in active low mode , it's fine to
support these low power mode.
Otherwise, fine with me
Reviewed-by: Shawn Lin <shawn.lin@rock-chips.com>
> };
>
> pcie30x4_perstn_m0: pcie30x4-perstn-m0 {
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH v2 0/4] Move to gated-fixed-clock for Theobroma/Cherry boards
2026-02-10 8:02 [PATCH v2 0/4] Move to gated-fixed-clock for Theobroma/Cherry boards Heiko Stuebner
` (3 preceding siblings ...)
2026-02-10 8:03 ` [PATCH v2 4/4] arm64: dts: rockchip: Make Jaguar PCIe-refclk pin use pull-up config Heiko Stuebner
@ 2026-03-02 12:58 ` Heiko Stuebner
4 siblings, 0 replies; 12+ messages in thread
From: Heiko Stuebner @ 2026-03-02 12:58 UTC (permalink / raw)
To: Heiko Stuebner
Cc: quentin.schulz, linux-arm-kernel, linux-rockchip, linux-kernel
On Tue, 10 Feb 2026 09:02:58 +0100, Heiko Stuebner wrote:
> Both Tiger and Jaguar currently use a fixed-clock and gpio-gate-clock
> to model the PCIe clock generator they have.
>
> Ever since I wrote the gated-fixed-clock binding + driver, I carry
> around conversion patches for those boards to use the new binding
> and describe actual hardware.
>
> [...]
Applied, thanks!
[1/4] arm64: dts: rockchip: use gated-fixed-clock for pcie-refclk on rk3588-jaguar
commit: f5e52701725c5c5c54d6511ca633a7566d1661a8
[2/4] arm64: dts: rockchip: use gated-fixed-clock for pcie-refclk on rk3588-tiger
commit: cfe2d65332eff95ac7308478897760888f957aeb
[3/4] arm64: dts: rockchip: add pinctrl for clk-generator GPIO on rk3588-tiger
commit: 603921cf88952c456bff8f22e48a822a077341b8
[4/4] arm64: dts: rockchip: Make Jaguar PCIe-refclk pin use pull-up config
commit: f45d4356feeba1c8dac3414b688f59292ddfc9f9
Reworded commit description in patch4, as suggested by Quentin.
Best regards,
--
Heiko Stuebner <heiko@sntech.de>
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2026-03-02 12:58 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-10 8:02 [PATCH v2 0/4] Move to gated-fixed-clock for Theobroma/Cherry boards Heiko Stuebner
2026-02-10 8:02 ` [PATCH v2 1/4] arm64: dts: rockchip: use gated-fixed-clock for pcie-refclk on rk3588-jaguar Heiko Stuebner
2026-02-10 9:40 ` Quentin Schulz
2026-02-11 14:20 ` Shawn Lin
2026-02-10 8:03 ` [PATCH v2 2/4] arm64: dts: rockchip: use gated-fixed-clock for pcie-refclk on rk3588-tiger Heiko Stuebner
2026-02-10 9:41 ` Quentin Schulz
2026-02-11 14:24 ` Shawn Lin
2026-02-10 8:03 ` [PATCH v2 3/4] arm64: dts: rockchip: add pinctrl for clk-generator GPIO " Heiko Stuebner
2026-02-10 8:03 ` [PATCH v2 4/4] arm64: dts: rockchip: Make Jaguar PCIe-refclk pin use pull-up config Heiko Stuebner
2026-02-10 9:50 ` Quentin Schulz
2026-02-11 14:31 ` Shawn Lin
2026-03-02 12:58 ` [PATCH v2 0/4] Move to gated-fixed-clock for Theobroma/Cherry boards Heiko Stuebner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox