* [PATCH v3] arm64: dts: rockchip: rock-3b: Model PI6C20100 as gated-fixed-clock
@ 2026-03-19 10:22 MidG971
2026-03-19 12:38 ` Shawn Lin
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: MidG971 @ 2026-03-19 10:22 UTC (permalink / raw)
To: linux-rockchip
Cc: linux-arm-kernel, devicetree, heiko, jonas, shawn.lin, MidG971
The Radxa ROCK 3B uses a PI6C20100 PCIe reference clock buffer to
provide a 100MHz reference clock to the PCIe 3.0 PHY and controllers.
This chip is currently modeled only as a fixed regulator
(vcc3v3_pi6c_03), with no clock output representation.
The PI6C20100 is a clock generator, not a power supply. Model it
properly as a gated-fixed-clock, following the pattern established
for the Rock 5 ITX and other boards with similar PCIe clock buffer
chips.
The regulator node is kept as-is since it controls the power supply
to the PI6C20100 chip via GPIO0_D4. The new gated-fixed-clock node
references this regulator as its vdd-supply and provides a proper
100MHz clock output. The pcie3x2 node is updated to include the
pipe and reference clocks, matching the approach used in
rk3588-rock-5-itx.dts.
Assisted-by: Claude:claude-3-opus
Signed-off-by: MidG971 <midgy971@gmail.com>
---
Changes since v2 [1]:
- Fix AI attribution: use Assisted-by tag instead of Signed-off-by (Shawn)
- Add missing pipe clock (CLK_PCIE30X2_PIPE_DFT) to pcie3x2 clocks
override (Shawn, referencing David's patch [2])
Changes since v1 [3]:
- Drop phy-supply approach entirely (Jonas, Shawn)
- Model PI6C20100 as gated-fixed-clock instead
- Wire reference clock to pcie3x2 controller
- Follow pattern from rk3588-rock-5-itx.dts
[1] https://lore.kernel.org/linux-rockchip/20260304132957.684616-1-midgy971@gmail.com/
[2] https://lore.kernel.org/linux-rockchip/d981fa84-bd05-ac9d-98ca-89ee47177829@rock-chips.com/T/#m6a8289609e6a60691d3c06358b6322c7aa5e43d1
[3] https://lore.kernel.org/linux-rockchip/20260213151452.535527-1-midgy971@gmail.com/
arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts | 21 ++++++++++++++++++++-
1 file changed, 20 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts b/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
index c5f67dd6dfd9..1a2b3c4d5e6f 100644
--- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
@@ -56,7 +56,16 @@
};
};
- /* pi6c pcie clock generator */
+ /* PI6C20100 PCIe reference clock buffer (100MHz) */
+ pcie30_refclk: pcie-clock-generator {
+ compatible = "gated-fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <100000000>;
+ clock-output-names = "pcie30_refclk";
+ vdd-supply = <&vcc3v3_pi6c_03>;
+ };
+
+ /* PI6C20100 power supply - active-high GPIO0_D4 */
vcc3v3_pi6c_03: regulator-3v3-vcc-pi6c-03 {
compatible = "regulator-fixed";
enable-active-high;
@@ -553,6 +562,15 @@
};
&pcie3x2 {
+ clocks = <&cru ACLK_PCIE30X2_MST>, <&cru ACLK_PCIE30X2_SLV>,
+ <&cru ACLK_PCIE30X2_DBI>, <&cru PCLK_PCIE30X2>,
+ <&cru CLK_PCIE30X2_AUX_NDFT>,
+ <&cru CLK_PCIE30X2_PIPE_DFT>,
+ <&pcie30_refclk>;
+ clock-names = "aclk_mst", "aclk_slv",
+ "aclk_dbi", "pclk", "aux",
+ "pipe", "ref";
pinctrl-names = "default";
pinctrl-0 = <&pcie30x2m1_pins>;
reset-gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>;
--
2.39.5
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v3] arm64: dts: rockchip: rock-3b: Model PI6C20100 as gated-fixed-clock
2026-03-19 10:22 [PATCH v3] arm64: dts: rockchip: rock-3b: Model PI6C20100 as gated-fixed-clock MidG971
@ 2026-03-19 12:38 ` Shawn Lin
2026-03-19 13:19 ` Jonas Karlman
2026-03-19 13:36 ` Krzysztof Kozlowski
2 siblings, 0 replies; 6+ messages in thread
From: Shawn Lin @ 2026-03-19 12:38 UTC (permalink / raw)
To: MidG971
Cc: shawn.lin, linux-arm-kernel, devicetree, heiko, jonas,
linux-rockchip
在 2026/03/19 星期四 18:22, MidG971 写道:
> The Radxa ROCK 3B uses a PI6C20100 PCIe reference clock buffer to
> provide a 100MHz reference clock to the PCIe 3.0 PHY and controllers.
> This chip is currently modeled only as a fixed regulator
> (vcc3v3_pi6c_03), with no clock output representation.
>
> The PI6C20100 is a clock generator, not a power supply. Model it
> properly as a gated-fixed-clock, following the pattern established
> for the Rock 5 ITX and other boards with similar PCIe clock buffer
> chips.
>
> The regulator node is kept as-is since it controls the power supply
> to the PI6C20100 chip via GPIO0_D4. The new gated-fixed-clock node
> references this regulator as its vdd-supply and provides a proper
> 100MHz clock output. The pcie3x2 node is updated to include the
> pipe and reference clocks, matching the approach used in
> rk3588-rock-5-itx.dts.
Reviewed-by: Shawn Lin <shawn.lin@rock-chips.com>
>
> Assisted-by: Claude:claude-3-opus
> Signed-off-by: MidG971 <midgy971@gmail.com>
> ---
>
> Changes since v2 [1]:
> - Fix AI attribution: use Assisted-by tag instead of Signed-off-by (Shawn)
> - Add missing pipe clock (CLK_PCIE30X2_PIPE_DFT) to pcie3x2 clocks
> override (Shawn, referencing David's patch [2])
>
> Changes since v1 [3]:
> - Drop phy-supply approach entirely (Jonas, Shawn)
> - Model PI6C20100 as gated-fixed-clock instead
> - Wire reference clock to pcie3x2 controller
> - Follow pattern from rk3588-rock-5-itx.dts
>
> [1] https://lore.kernel.org/linux-rockchip/20260304132957.684616-1-midgy971@gmail.com/
> [2] https://lore.kernel.org/linux-rockchip/d981fa84-bd05-ac9d-98ca-89ee47177829@rock-chips.com/T/#m6a8289609e6a60691d3c06358b6322c7aa5e43d1
> [3] https://lore.kernel.org/linux-rockchip/20260213151452.535527-1-midgy971@gmail.com/
>
> arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts | 21 ++++++++++++++++++++-
> 1 file changed, 20 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts b/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
> index c5f67dd6dfd9..1a2b3c4d5e6f 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
> @@ -56,7 +56,16 @@
> };
> };
>
> - /* pi6c pcie clock generator */
> + /* PI6C20100 PCIe reference clock buffer (100MHz) */
> + pcie30_refclk: pcie-clock-generator {
> + compatible = "gated-fixed-clock";
> + #clock-cells = <0>;
> + clock-frequency = <100000000>;
> + clock-output-names = "pcie30_refclk";
> + vdd-supply = <&vcc3v3_pi6c_03>;
> + };
> +
> + /* PI6C20100 power supply - active-high GPIO0_D4 */
> vcc3v3_pi6c_03: regulator-3v3-vcc-pi6c-03 {
> compatible = "regulator-fixed";
> enable-active-high;
> @@ -553,6 +562,15 @@
> };
>
> &pcie3x2 {
> + clocks = <&cru ACLK_PCIE30X2_MST>, <&cru ACLK_PCIE30X2_SLV>,
> + <&cru ACLK_PCIE30X2_DBI>, <&cru PCLK_PCIE30X2>,
> + <&cru CLK_PCIE30X2_AUX_NDFT>,
> + <&cru CLK_PCIE30X2_PIPE_DFT>,
> + <&pcie30_refclk>;
> + clock-names = "aclk_mst", "aclk_slv",
> + "aclk_dbi", "pclk", "aux",
> + "pipe", "ref";
> pinctrl-names = "default";
> pinctrl-0 = <&pcie30x2m1_pins>;
> reset-gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>;
> --
> 2.39.5
>
>
> _______________________________________________
> Linux-rockchip mailing list
> Linux-rockchip@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-rockchip
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v3] arm64: dts: rockchip: rock-3b: Model PI6C20100 as gated-fixed-clock
2026-03-19 10:22 [PATCH v3] arm64: dts: rockchip: rock-3b: Model PI6C20100 as gated-fixed-clock MidG971
2026-03-19 12:38 ` Shawn Lin
@ 2026-03-19 13:19 ` Jonas Karlman
2026-03-19 13:29 ` Jonas Karlman
2026-03-19 13:36 ` Krzysztof Kozlowski
2 siblings, 1 reply; 6+ messages in thread
From: Jonas Karlman @ 2026-03-19 13:19 UTC (permalink / raw)
To: MidG971
Cc: linux-rockchip@lists.infradead.org,
linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
heiko@sntech.de, shawn.lin@rock-chips.com
Hi,
On 3/19/2026 11:22 AM, MidG971 wrote:
> The Radxa ROCK 3B uses a PI6C20100 PCIe reference clock buffer to
> provide a 100MHz reference clock to the PCIe 3.0 PHY and controllers.
> This chip is currently modeled only as a fixed regulator
> (vcc3v3_pi6c_03), with no clock output representation.
>
> The PI6C20100 is a clock generator, not a power supply. Model it
> properly as a gated-fixed-clock, following the pattern established
> for the Rock 5 ITX and other boards with similar PCIe clock buffer
> chips.
>
> The regulator node is kept as-is since it controls the power supply
> to the PI6C20100 chip via GPIO0_D4. The new gated-fixed-clock node
> references this regulator as its vdd-supply and provides a proper
> 100MHz clock output. The pcie3x2 node is updated to include the
> pipe and reference clocks, matching the approach used in
> rk3588-rock-5-itx.dts.
>
> Assisted-by: Claude:claude-3-opus
> Signed-off-by: MidG971 <midgy971@gmail.com>
Typically you should use your real name in SoB line, kernel docs state:
using a known identity (sorry, no anonymous contributions.)
https://docs.kernel.org/process/submitting-patches.html
> ---
>
> Changes since v2 [1]:
> - Fix AI attribution: use Assisted-by tag instead of Signed-off-by (Shawn)
> - Add missing pipe clock (CLK_PCIE30X2_PIPE_DFT) to pcie3x2 clocks
> override (Shawn, referencing David's patch [2])
>
> Changes since v1 [3]:
> - Drop phy-supply approach entirely (Jonas, Shawn)
> - Model PI6C20100 as gated-fixed-clock instead
> - Wire reference clock to pcie3x2 controller
> - Follow pattern from rk3588-rock-5-itx.dts
>
> [1] https://lore.kernel.org/linux-rockchip/20260304132957.684616-1-midgy971@gmail.com/
> [2] https://lore.kernel.org/linux-rockchip/d981fa84-bd05-ac9d-98ca-89ee47177829@rock-chips.com/T/#m6a8289609e6a60691d3c06358b6322c7aa5e43d1
> [3] https://lore.kernel.org/linux-rockchip/20260213151452.535527-1-midgy971@gmail.com/
>
> arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts | 21 ++++++++++++++++++++-
> 1 file changed, 20 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts b/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
> index c5f67dd6dfd9..1a2b3c4d5e6f 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
> @@ -56,7 +56,16 @@
> };
> };
>
> - /* pi6c pcie clock generator */
> + /* PI6C20100 PCIe reference clock buffer (100MHz) */
> + pcie30_refclk: pcie-clock-generator {
> + compatible = "gated-fixed-clock";
> + #clock-cells = <0>;
> + clock-frequency = <100000000>;
> + clock-output-names = "pcie30_refclk";
> + vdd-supply = <&vcc3v3_pi6c_03>;
The vcc3v3_pi6c_03 regulator should also be removed in this patch,
as you state in the commit message, it is not a power supply.
Please convert to use enable-gpios prop.
Regards,
Jonas
> + };
> +
> + /* PI6C20100 power supply - active-high GPIO0_D4 */
> vcc3v3_pi6c_03: regulator-3v3-vcc-pi6c-03 {
> compatible = "regulator-fixed";
> enable-active-high;
> @@ -553,6 +562,15 @@
> };
>
> &pcie3x2 {
> + clocks = <&cru ACLK_PCIE30X2_MST>, <&cru ACLK_PCIE30X2_SLV>,
> + <&cru ACLK_PCIE30X2_DBI>, <&cru PCLK_PCIE30X2>,
> + <&cru CLK_PCIE30X2_AUX_NDFT>,
> + <&cru CLK_PCIE30X2_PIPE_DFT>,
> + <&pcie30_refclk>;
> + clock-names = "aclk_mst", "aclk_slv",
> + "aclk_dbi", "pclk", "aux",
> + "pipe", "ref";
> pinctrl-names = "default";
> pinctrl-0 = <&pcie30x2m1_pins>;
> reset-gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>;
> --
> 2.39.5
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v3] arm64: dts: rockchip: rock-3b: Model PI6C20100 as gated-fixed-clock
2026-03-19 13:19 ` Jonas Karlman
@ 2026-03-19 13:29 ` Jonas Karlman
2026-03-19 13:51 ` Jonas Karlman
0 siblings, 1 reply; 6+ messages in thread
From: Jonas Karlman @ 2026-03-19 13:29 UTC (permalink / raw)
To: MidG971
Cc: linux-rockchip@lists.infradead.org,
linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
heiko@sntech.de, shawn.lin@rock-chips.com
Hi again,
On 3/19/2026 2:19 PM, Jonas Karlman wrote:
> Hi,
>
> On 3/19/2026 11:22 AM, MidG971 wrote:
>> The Radxa ROCK 3B uses a PI6C20100 PCIe reference clock buffer to
>> provide a 100MHz reference clock to the PCIe 3.0 PHY and controllers.
>> This chip is currently modeled only as a fixed regulator
>> (vcc3v3_pi6c_03), with no clock output representation.
>>
>> The PI6C20100 is a clock generator, not a power supply. Model it
>> properly as a gated-fixed-clock, following the pattern established
>> for the Rock 5 ITX and other boards with similar PCIe clock buffer
>> chips.
>>
>> The regulator node is kept as-is since it controls the power supply
>> to the PI6C20100 chip via GPIO0_D4. The new gated-fixed-clock node
>> references this regulator as its vdd-supply and provides a proper
>> 100MHz clock output. The pcie3x2 node is updated to include the
>> pipe and reference clocks, matching the approach used in
>> rk3588-rock-5-itx.dts.
>>
>> Assisted-by: Claude:claude-3-opus
>> Signed-off-by: MidG971 <midgy971@gmail.com>
>
> Typically you should use your real name in SoB line, kernel docs state:
>
> using a known identity (sorry, no anonymous contributions.)
>
> https://docs.kernel.org/process/submitting-patches.html
>
>> ---
>>
>> Changes since v2 [1]:
>> - Fix AI attribution: use Assisted-by tag instead of Signed-off-by (Shawn)
>> - Add missing pipe clock (CLK_PCIE30X2_PIPE_DFT) to pcie3x2 clocks
>> override (Shawn, referencing David's patch [2])
>>
>> Changes since v1 [3]:
>> - Drop phy-supply approach entirely (Jonas, Shawn)
>> - Model PI6C20100 as gated-fixed-clock instead
>> - Wire reference clock to pcie3x2 controller
>> - Follow pattern from rk3588-rock-5-itx.dts
>>
>> [1] https://lore.kernel.org/linux-rockchip/20260304132957.684616-1-midgy971@gmail.com/
>> [2] https://lore.kernel.org/linux-rockchip/d981fa84-bd05-ac9d-98ca-89ee47177829@rock-chips.com/T/#m6a8289609e6a60691d3c06358b6322c7aa5e43d1
>> [3] https://lore.kernel.org/linux-rockchip/20260213151452.535527-1-midgy971@gmail.com/
>>
>> arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts | 21 ++++++++++++++++++++-
>> 1 file changed, 20 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts b/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
>> index c5f67dd6dfd9..1a2b3c4d5e6f 100644
>> --- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
>> +++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
>> @@ -56,7 +56,16 @@
>> };
>> };
>>
>> - /* pi6c pcie clock generator */
>> + /* PI6C20100 PCIe reference clock buffer (100MHz) */
>> + pcie30_refclk: pcie-clock-generator {
>> + compatible = "gated-fixed-clock";
>> + #clock-cells = <0>;
>> + clock-frequency = <100000000>;
>> + clock-output-names = "pcie30_refclk";
>> + vdd-supply = <&vcc3v3_pi6c_03>;
>
> The vcc3v3_pi6c_03 regulator should also be removed in this patch,
> as you state in the commit message, it is not a power supply.
>
> Please convert to use enable-gpios prop.
I looked at wrong schematics, please disregard this comment :-)
Regards.
Jonas
>
> Regards,
> Jonas
>
>> + };
>> +
>> + /* PI6C20100 power supply - active-high GPIO0_D4 */
>> vcc3v3_pi6c_03: regulator-3v3-vcc-pi6c-03 {
>> compatible = "regulator-fixed";
>> enable-active-high;
>> @@ -553,6 +562,15 @@
>> };
>>
>> &pcie3x2 {
>> + clocks = <&cru ACLK_PCIE30X2_MST>, <&cru ACLK_PCIE30X2_SLV>,
>> + <&cru ACLK_PCIE30X2_DBI>, <&cru PCLK_PCIE30X2>,
>> + <&cru CLK_PCIE30X2_AUX_NDFT>,
>> + <&cru CLK_PCIE30X2_PIPE_DFT>,
>> + <&pcie30_refclk>;
>> + clock-names = "aclk_mst", "aclk_slv",
>> + "aclk_dbi", "pclk", "aux",
>> + "pipe", "ref";
>> pinctrl-names = "default";
>> pinctrl-0 = <&pcie30x2m1_pins>;
>> reset-gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>;
>> --
>> 2.39.5
>>
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v3] arm64: dts: rockchip: rock-3b: Model PI6C20100 as gated-fixed-clock
2026-03-19 10:22 [PATCH v3] arm64: dts: rockchip: rock-3b: Model PI6C20100 as gated-fixed-clock MidG971
2026-03-19 12:38 ` Shawn Lin
2026-03-19 13:19 ` Jonas Karlman
@ 2026-03-19 13:36 ` Krzysztof Kozlowski
2 siblings, 0 replies; 6+ messages in thread
From: Krzysztof Kozlowski @ 2026-03-19 13:36 UTC (permalink / raw)
To: MidG971, linux-rockchip
Cc: linux-arm-kernel, devicetree, heiko, jonas, shawn.lin
On 19/03/2026 11:22, MidG971 wrote:
> The Radxa ROCK 3B uses a PI6C20100 PCIe reference clock buffer to
> provide a 100MHz reference clock to the PCIe 3.0 PHY and controllers.
> This chip is currently modeled only as a fixed regulator
> (vcc3v3_pi6c_03), with no clock output representation.
>
> The PI6C20100 is a clock generator, not a power supply. Model it
> properly as a gated-fixed-clock, following the pattern established
> for the Rock 5 ITX and other boards with similar PCIe clock buffer
> chips.
>
> The regulator node is kept as-is since it controls the power supply
> to the PI6C20100 chip via GPIO0_D4. The new gated-fixed-clock node
> references this regulator as its vdd-supply and provides a proper
> 100MHz clock output. The pcie3x2 node is updated to include the
> pipe and reference clocks, matching the approach used in
> rk3588-rock-5-itx.dts.
>
> Assisted-by: Claude:claude-3-opus
> Signed-off-by: MidG971 <midgy971@gmail.com>
Anonymous contributions are not accepted. You must use your full name or
known to us identity (nickname is not a "known identity").
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v3] arm64: dts: rockchip: rock-3b: Model PI6C20100 as gated-fixed-clock
2026-03-19 13:29 ` Jonas Karlman
@ 2026-03-19 13:51 ` Jonas Karlman
0 siblings, 0 replies; 6+ messages in thread
From: Jonas Karlman @ 2026-03-19 13:51 UTC (permalink / raw)
To: MidG971
Cc: linux-rockchip@lists.infradead.org,
linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
heiko@sntech.de, shawn.lin@rock-chips.com
On 3/19/2026 2:29 PM, Jonas Karlman wrote:
> Hi again,
>
> On 3/19/2026 2:19 PM, Jonas Karlman wrote:
>> Hi,
>>
>> On 3/19/2026 11:22 AM, MidG971 wrote:
>>> The Radxa ROCK 3B uses a PI6C20100 PCIe reference clock buffer to
>>> provide a 100MHz reference clock to the PCIe 3.0 PHY and controllers.
>>> This chip is currently modeled only as a fixed regulator
>>> (vcc3v3_pi6c_03), with no clock output representation.
>>>
>>> The PI6C20100 is a clock generator, not a power supply. Model it
>>> properly as a gated-fixed-clock, following the pattern established
>>> for the Rock 5 ITX and other boards with similar PCIe clock buffer
>>> chips.
>>>
>>> The regulator node is kept as-is since it controls the power supply
>>> to the PI6C20100 chip via GPIO0_D4. The new gated-fixed-clock node
>>> references this regulator as its vdd-supply and provides a proper
>>> 100MHz clock output. The pcie3x2 node is updated to include the
>>> pipe and reference clocks, matching the approach used in
>>> rk3588-rock-5-itx.dts.
>>>
>>> Assisted-by: Claude:claude-3-opus
>>> Signed-off-by: MidG971 <midgy971@gmail.com>
>>
>> Typically you should use your real name in SoB line, kernel docs state:
>>
>> using a known identity (sorry, no anonymous contributions.)
>>
>> https://docs.kernel.org/process/submitting-patches.html
>>
>>> ---
>>>
>>> Changes since v2 [1]:
>>> - Fix AI attribution: use Assisted-by tag instead of Signed-off-by (Shawn)
>>> - Add missing pipe clock (CLK_PCIE30X2_PIPE_DFT) to pcie3x2 clocks
>>> override (Shawn, referencing David's patch [2])
>>>
>>> Changes since v1 [3]:
>>> - Drop phy-supply approach entirely (Jonas, Shawn)
>>> - Model PI6C20100 as gated-fixed-clock instead
>>> - Wire reference clock to pcie3x2 controller
>>> - Follow pattern from rk3588-rock-5-itx.dts
>>>
>>> [1] https://lore.kernel.org/linux-rockchip/20260304132957.684616-1-midgy971@gmail.com/
>>> [2] https://lore.kernel.org/linux-rockchip/d981fa84-bd05-ac9d-98ca-89ee47177829@rock-chips.com/T/#m6a8289609e6a60691d3c06358b6322c7aa5e43d1
>>> [3] https://lore.kernel.org/linux-rockchip/20260213151452.535527-1-midgy971@gmail.com/
>>>
>>> arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts | 21 ++++++++++++++++++++-
>>> 1 file changed, 20 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts b/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
>>> index c5f67dd6dfd9..1a2b3c4d5e6f 100644
>>> --- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
>>> +++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
>>> @@ -56,7 +56,16 @@
>>> };
>>> };
>>>
>>> - /* pi6c pcie clock generator */
>>> + /* PI6C20100 PCIe reference clock buffer (100MHz) */
The 100MHz part is redundant, clock-frequency already describe this.
>>> + pcie30_refclk: pcie-clock-generator {
>>> + compatible = "gated-fixed-clock";
>>> + #clock-cells = <0>;
>>> + clock-frequency = <100000000>;
>>> + clock-output-names = "pcie30_refclk";
>>> + vdd-supply = <&vcc3v3_pi6c_03>;
>>
>> The vcc3v3_pi6c_03 regulator should also be removed in this patch,
>> as you state in the commit message, it is not a power supply.
>>
>> Please convert to use enable-gpios prop.
>
> I looked at wrong schematics, please disregard this comment :-)
>
> Regards.
> Jonas
>
>>
>> Regards,
>> Jonas
>>
>>> + };
>>> +
>>> + /* PI6C20100 power supply - active-high GPIO0_D4 */
The active-high and pin part is redundant, already described with
enable-active-high and gpios props.
>>> vcc3v3_pi6c_03: regulator-3v3-vcc-pi6c-03 {
The regulator-always-on and possible also the boot-on should be removed
here now that we have a proper description of the ref clock.
Removing boot-on may cause NVMe boot issue for U-Boot, but that should
probably be addressed with a proper gated-fixed-clock driver in U-Boot.
Regards,
Jonas
>>> compatible = "regulator-fixed";
>>> enable-active-high;
>>> @@ -553,6 +562,15 @@
>>> };
>>>
>>> &pcie3x2 {
>>> + clocks = <&cru ACLK_PCIE30X2_MST>, <&cru ACLK_PCIE30X2_SLV>,
>>> + <&cru ACLK_PCIE30X2_DBI>, <&cru PCLK_PCIE30X2>,
>>> + <&cru CLK_PCIE30X2_AUX_NDFT>,
>>> + <&cru CLK_PCIE30X2_PIPE_DFT>,
>>> + <&pcie30_refclk>;
>>> + clock-names = "aclk_mst", "aclk_slv",
>>> + "aclk_dbi", "pclk", "aux",
>>> + "pipe", "ref";
>>> pinctrl-names = "default";
>>> pinctrl-0 = <&pcie30x2m1_pins>;
>>> reset-gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>;
>>> --
>>> 2.39.5
>>>
>>
>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-03-19 13:51 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-19 10:22 [PATCH v3] arm64: dts: rockchip: rock-3b: Model PI6C20100 as gated-fixed-clock MidG971
2026-03-19 12:38 ` Shawn Lin
2026-03-19 13:19 ` Jonas Karlman
2026-03-19 13:29 ` Jonas Karlman
2026-03-19 13:51 ` Jonas Karlman
2026-03-19 13:36 ` Krzysztof Kozlowski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox