From: Charalampos Mitrodimas <charmitro@posteo.net>
To: David Heidelberg via B4 Relay <devnull+david.ixit.cz@kernel.org>
Cc: Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Heiko Stuebner <heiko@sntech.de>,
Frank Wunderlich <frank-w@public-files.de>,
david@ixit.cz, Martin Filla <freebsd@sysctl.cz>,
devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 3/4] arm64: dts: rockchip: Use reference PCIe clock generator for BPI-R2-Pro
Date: Tue, 03 Mar 2026 20:13:01 +0000 [thread overview]
Message-ID: <m24imwd649.fsf@posteo.net> (raw)
In-Reply-To: <20260303-rk3568-bri-r2-pro-fix-pcie-v3-3-af5a5207b0a1@ixit.cz>
David Heidelberg via B4 Relay <devnull+david.ixit.cz@kernel.org> writes:
> From: David Heidelberg <david@ixit.cz>
>
> Describe properly PCIe clock, which allows us correct the
^^^^^^ ^^
Typo/missing words?
> toplogy (removing the vcc3v3-{minipcie,ngff} dependency on pi6c as
^^^^^^
Typo?
> supply) and adding the clock dependency in the PCIe nodes.
>
> Suggested-by: Heiko Stuebner <heiko@sntech.de>
> Tested-by: Martin Filla <freebsd@sysctl.cz>
> Signed-off-by: David Heidelberg <david@ixit.cz>
> ---
> arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts | 47 +++++++++++++++-------
> 1 file changed, 33 insertions(+), 14 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts b/arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts
> index d02b82c5f979a..3cdea9456a28c 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts
> @@ -120,18 +120,13 @@ pcie_refclk_gen: pcie-refclk-gen-clock {
> clock-frequency = <100000000>;
> };
>
> - vcc3v3_pi6c_05: regulator-vcc3v3-pi6c-05 {
> - compatible = "regulator-fixed";
> - regulator-name = "vcc3v3_pcie";
> - regulator-min-microvolt = <3300000>;
> - regulator-max-microvolt = <3300000>;
> - enable-active-high;
> - gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>;
> - startup-delay-us = <200000>;
> - vin-supply = <&vcc5v0_sys>;
> + pcie_refclk: pcie-refclk-clock {
> + compatible = "gpio-gate-clock";
> + clocks = <&pcie_refclk_gen>;
> + #clock-cells = <0>;
> + enable-gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>;
> };
>
> - /* actually fed by vcc3v3_sys, dependent on pi6c clock generator */
> vcc3v3_minipcie: regulator-vcc3v3-minipcie {
> compatible = "regulator-fixed";
> regulator-name = "vcc3v3_minipcie";
> @@ -142,10 +137,9 @@ vcc3v3_minipcie: regulator-vcc3v3-minipcie {
> pinctrl-names = "default";
> pinctrl-0 = <&minipcie_enable_h>;
> startup-delay-us = <50000>;
> - vin-supply = <&vcc3v3_pi6c_05>;
> + vin-supply = <&vcc3v3_sys>;
> };
>
> - /* actually fed by vcc3v3_sys, dependent on pi6c clock generator */
> vcc3v3_ngff: regulator-vcc3v3-ngff {
> compatible = "regulator-fixed";
> regulator-name = "vcc3v3_ngff";
> @@ -156,7 +150,7 @@ vcc3v3_ngff: regulator-vcc3v3-ngff {
> pinctrl-names = "default";
> pinctrl-0 = <&ngffpcie_enable_h>;
> startup-delay-us = <50000>;
> - vin-supply = <&vcc3v3_pi6c_05>;
> + vin-supply = <&vcc3v3_sys>;
> };
>
> vcc5v0_usb: regulator-vcc5v0-usb {
> @@ -586,12 +580,24 @@ rgmii_phy1: ethernet-phy@0 {
>
> &pcie30phy {
> data-lanes = <1 2>;
> - phy-supply = <&vcc3v3_pi6c_05>;
> +
> status = "okay";
> };
>
> &pcie3x1 {
> /* M.2 slot */
> + /*
> + * The board has a gpio-controlled "pcie_refclk" generator,
> + * so add it to the list of clocks.
> + */
> + clocks = <&cru ACLK_PCIE30X1_MST>, <&cru ACLK_PCIE30X1_SLV>,
> + <&cru ACLK_PCIE30X1_DBI>, <&cru PCLK_PCIE30X1>,
> + <&cru CLK_PCIE30X1_AUX_NDFT>,
> + <&cru CLK_PCIE30X1_PIPE_DFT>,
> + <&pcie_refclk>;
> + clock-names = "aclk_mst", "aclk_slv",
> + "aclk_dbi", "pclk", "aux",
> + "pipe", "ref";
> num-lanes = <1>;
> pinctrl-names = "default";
> pinctrl-0 = <&ngffpcie_reset_h>;
> @@ -602,6 +608,19 @@ &pcie3x1 {
>
> &pcie3x2 {
> /* mPCIe slot */
> + /*
> + * The board has a gpio-controlled "pcie_refclk" generator,
> + * so add it to the list of clocks.
> + */
> + 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>,
> + <&pcie_refclk>;
> + clock-names = "aclk_mst", "aclk_slv",
> + "aclk_dbi", "pclk", "aux",
> + "pipe", "ref";
> +
> num-lanes = <1>;
> pinctrl-names = "default";
> pinctrl-0 = <&minipcie_reset_h>;
WARNING: multiple messages have this Message-ID (diff)
From: Charalampos Mitrodimas <charmitro@posteo.net>
To: David Heidelberg via B4 Relay <devnull+david.ixit.cz@kernel.org>
Cc: Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Heiko Stuebner <heiko@sntech.de>,
Frank Wunderlich <frank-w@public-files.de>,
david@ixit.cz, Martin Filla <freebsd@sysctl.cz>,
devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 3/4] arm64: dts: rockchip: Use reference PCIe clock generator for BPI-R2-Pro
Date: Tue, 03 Mar 2026 20:13:01 +0000 [thread overview]
Message-ID: <m24imwd649.fsf@posteo.net> (raw)
In-Reply-To: <20260303-rk3568-bri-r2-pro-fix-pcie-v3-3-af5a5207b0a1@ixit.cz>
David Heidelberg via B4 Relay <devnull+david.ixit.cz@kernel.org> writes:
> From: David Heidelberg <david@ixit.cz>
>
> Describe properly PCIe clock, which allows us correct the
^^^^^^ ^^
Typo/missing words?
> toplogy (removing the vcc3v3-{minipcie,ngff} dependency on pi6c as
^^^^^^
Typo?
> supply) and adding the clock dependency in the PCIe nodes.
>
> Suggested-by: Heiko Stuebner <heiko@sntech.de>
> Tested-by: Martin Filla <freebsd@sysctl.cz>
> Signed-off-by: David Heidelberg <david@ixit.cz>
> ---
> arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts | 47 +++++++++++++++-------
> 1 file changed, 33 insertions(+), 14 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts b/arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts
> index d02b82c5f979a..3cdea9456a28c 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts
> @@ -120,18 +120,13 @@ pcie_refclk_gen: pcie-refclk-gen-clock {
> clock-frequency = <100000000>;
> };
>
> - vcc3v3_pi6c_05: regulator-vcc3v3-pi6c-05 {
> - compatible = "regulator-fixed";
> - regulator-name = "vcc3v3_pcie";
> - regulator-min-microvolt = <3300000>;
> - regulator-max-microvolt = <3300000>;
> - enable-active-high;
> - gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>;
> - startup-delay-us = <200000>;
> - vin-supply = <&vcc5v0_sys>;
> + pcie_refclk: pcie-refclk-clock {
> + compatible = "gpio-gate-clock";
> + clocks = <&pcie_refclk_gen>;
> + #clock-cells = <0>;
> + enable-gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>;
> };
>
> - /* actually fed by vcc3v3_sys, dependent on pi6c clock generator */
> vcc3v3_minipcie: regulator-vcc3v3-minipcie {
> compatible = "regulator-fixed";
> regulator-name = "vcc3v3_minipcie";
> @@ -142,10 +137,9 @@ vcc3v3_minipcie: regulator-vcc3v3-minipcie {
> pinctrl-names = "default";
> pinctrl-0 = <&minipcie_enable_h>;
> startup-delay-us = <50000>;
> - vin-supply = <&vcc3v3_pi6c_05>;
> + vin-supply = <&vcc3v3_sys>;
> };
>
> - /* actually fed by vcc3v3_sys, dependent on pi6c clock generator */
> vcc3v3_ngff: regulator-vcc3v3-ngff {
> compatible = "regulator-fixed";
> regulator-name = "vcc3v3_ngff";
> @@ -156,7 +150,7 @@ vcc3v3_ngff: regulator-vcc3v3-ngff {
> pinctrl-names = "default";
> pinctrl-0 = <&ngffpcie_enable_h>;
> startup-delay-us = <50000>;
> - vin-supply = <&vcc3v3_pi6c_05>;
> + vin-supply = <&vcc3v3_sys>;
> };
>
> vcc5v0_usb: regulator-vcc5v0-usb {
> @@ -586,12 +580,24 @@ rgmii_phy1: ethernet-phy@0 {
>
> &pcie30phy {
> data-lanes = <1 2>;
> - phy-supply = <&vcc3v3_pi6c_05>;
> +
> status = "okay";
> };
>
> &pcie3x1 {
> /* M.2 slot */
> + /*
> + * The board has a gpio-controlled "pcie_refclk" generator,
> + * so add it to the list of clocks.
> + */
> + clocks = <&cru ACLK_PCIE30X1_MST>, <&cru ACLK_PCIE30X1_SLV>,
> + <&cru ACLK_PCIE30X1_DBI>, <&cru PCLK_PCIE30X1>,
> + <&cru CLK_PCIE30X1_AUX_NDFT>,
> + <&cru CLK_PCIE30X1_PIPE_DFT>,
> + <&pcie_refclk>;
> + clock-names = "aclk_mst", "aclk_slv",
> + "aclk_dbi", "pclk", "aux",
> + "pipe", "ref";
> num-lanes = <1>;
> pinctrl-names = "default";
> pinctrl-0 = <&ngffpcie_reset_h>;
> @@ -602,6 +608,19 @@ &pcie3x1 {
>
> &pcie3x2 {
> /* mPCIe slot */
> + /*
> + * The board has a gpio-controlled "pcie_refclk" generator,
> + * so add it to the list of clocks.
> + */
> + 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>,
> + <&pcie_refclk>;
> + clock-names = "aclk_mst", "aclk_slv",
> + "aclk_dbi", "pclk", "aux",
> + "pipe", "ref";
> +
> num-lanes = <1>;
> pinctrl-names = "default";
> pinctrl-0 = <&minipcie_reset_h>;
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
next prev parent reply other threads:[~2026-03-03 20:13 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-03 19:52 [PATCH v3 0/4] Rework BPI-R2-Pro PCIe clock topology David Heidelberg
2026-03-03 19:52 ` David Heidelberg via B4 Relay
2026-03-03 19:52 ` David Heidelberg via B4 Relay
2026-03-03 19:52 ` [PATCH v3 1/4] arm64: dts: rockchip: assign pipe clock to rk3568 PCIe lanes David Heidelberg
2026-03-03 19:52 ` David Heidelberg via B4 Relay
2026-03-03 19:52 ` David Heidelberg via B4 Relay
2026-03-04 0:48 ` Shawn Lin
2026-03-04 0:48 ` Shawn Lin
2026-03-03 19:52 ` [PATCH v3 2/4] arm64: dts: rockchip: Introduce the reference PCIe clk generator for BPI-R2-Pro David Heidelberg
2026-03-03 19:52 ` David Heidelberg via B4 Relay
2026-03-03 19:52 ` David Heidelberg via B4 Relay
2026-03-03 19:52 ` [PATCH v3 3/4] arm64: dts: rockchip: Use reference PCIe clock " David Heidelberg
2026-03-03 19:52 ` David Heidelberg via B4 Relay
2026-03-03 19:52 ` David Heidelberg via B4 Relay
2026-03-03 20:13 ` Charalampos Mitrodimas [this message]
2026-03-03 20:13 ` Charalampos Mitrodimas
2026-03-03 19:52 ` [PATCH v3 4/4] arm64: dts: rockchip: Define PCIe clock pinctrl " David Heidelberg
2026-03-03 19:52 ` David Heidelberg via B4 Relay
2026-03-03 19:52 ` David Heidelberg via B4 Relay
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=m24imwd649.fsf@posteo.net \
--to=charmitro@posteo.net \
--cc=conor+dt@kernel.org \
--cc=david@ixit.cz \
--cc=devicetree@vger.kernel.org \
--cc=devnull+david.ixit.cz@kernel.org \
--cc=frank-w@public-files.de \
--cc=freebsd@sysctl.cz \
--cc=heiko@sntech.de \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=robh@kernel.org \
/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.