* [PATCH v2 1/3] PCI/pwrctrl: Add optional slot clock to pwrctrl driver for PCI slots
@ 2025-05-30 22:53 Marek Vasut
2025-05-30 22:53 ` [PATCH v2 2/3] arm64: dts: renesas: r8a779g0: Describe root port on R-Car V4H Marek Vasut
` (3 more replies)
0 siblings, 4 replies; 13+ messages in thread
From: Marek Vasut @ 2025-05-30 22:53 UTC (permalink / raw)
To: linux-arm-kernel
Cc: Marek Vasut, Anand Moon, Manivannan Sadhasivam,
Bartosz Golaszewski, Bjorn Helgaas, Conor Dooley,
Geert Uytterhoeven, Krzysztof Kozlowski, Magnus Damm, Rob Herring,
Yoshihiro Shimoda, devicetree, linux-kernel, linux-pci,
linux-renesas-soc
Add the ability to enable optional slot clock into the pwrctrl driver.
This is used to enable slot clock in split-clock topologies, where the
PCIe host/controller supply and PCIe slot supply are not provided by
the same clock. The PCIe host/controller clock should be described in
the controller node as the controller clock, while the slot clock should
be described in controller bridge/slot subnode.
Example DT snippet:
&pcicontroller {
clocks = <&clk_dif 0>; /* PCIe controller clock */
pci@0,0 {
#address-cells = <3>;
#size-cells = <2>;
reg = <0x0 0x0 0x0 0x0 0x0>;
compatible = "pciclass,0604";
device_type = "pci";
clocks = <&clk_dif 1>; /* PCIe slot clock */
vpcie3v3-supply = <®_3p3v>;
ranges;
};
};
Example clock topology:
____________ ____________
| PCIe host | | PCIe slot |
| | | |
| PCIe RX<|==================|>PCIe TX |
| PCIe TX<|==================|>PCIe RX |
| | | |
| PCIe CLK<|======.. ..======|>PCIe CLK |
'------------' || || '------------'
|| ||
____________ || ||
| 9FGV0441 | || ||
| | || ||
| CLK DIF0<|======'' ||
| CLK DIF1<|==========''
| CLK DIF2<|
| CLK DIF3<|
'------------'
Reviewed-by: Anand Moon <linux.amoon@gmail.com>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
---
Cc: Bartosz Golaszewski <brgl@bgdev.pl>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Conor Dooley <conor+dt@kernel.org>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>
Cc: Magnus Damm <magnus.damm@gmail.com>
Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Cc: Rob Herring <robh@kernel.org>
Cc: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-pci@vger.kernel.org
Cc: linux-renesas-soc@vger.kernel.org
---
V2: - Fold PTR_ERR() into dev_err_probe()
- Add RB from Anand and Manivannan
---
drivers/pci/pwrctrl/slot.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/pci/pwrctrl/slot.c b/drivers/pci/pwrctrl/slot.c
index 18becc144913e..dac1ae854f72e 100644
--- a/drivers/pci/pwrctrl/slot.c
+++ b/drivers/pci/pwrctrl/slot.c
@@ -4,6 +4,7 @@
* Author: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
*/
+#include <linux/clk.h>
#include <linux/device.h>
#include <linux/mod_devicetable.h>
#include <linux/module.h>
@@ -30,6 +31,7 @@ static int pci_pwrctrl_slot_probe(struct platform_device *pdev)
{
struct pci_pwrctrl_slot_data *slot;
struct device *dev = &pdev->dev;
+ struct clk *clk;
int ret;
slot = devm_kzalloc(dev, sizeof(*slot), GFP_KERNEL);
@@ -50,6 +52,13 @@ static int pci_pwrctrl_slot_probe(struct platform_device *pdev)
goto err_regulator_free;
}
+ clk = devm_clk_get_optional_enabled(dev, NULL);
+ if (IS_ERR(clk)) {
+ ret = dev_err_probe(dev, PTR_ERR(clk),
+ "Failed to enable slot clock\n");
+ goto err_regulator_disable;
+ }
+
ret = devm_add_action_or_reset(dev, devm_pci_pwrctrl_slot_power_off,
slot);
if (ret)
--
2.47.2
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v2 2/3] arm64: dts: renesas: r8a779g0: Describe root port on R-Car V4H
2025-05-30 22:53 [PATCH v2 1/3] PCI/pwrctrl: Add optional slot clock to pwrctrl driver for PCI slots Marek Vasut
@ 2025-05-30 22:53 ` Marek Vasut
2025-06-04 9:13 ` Geert Uytterhoeven
2025-06-04 17:26 ` Manivannan Sadhasivam
2025-05-30 22:53 ` [PATCH v2 3/3] arm64: dts: renesas: r8a779g3: Describe split PCIe clock on V4H Sparrow Hawk Marek Vasut
` (2 subsequent siblings)
3 siblings, 2 replies; 13+ messages in thread
From: Marek Vasut @ 2025-05-30 22:53 UTC (permalink / raw)
To: linux-arm-kernel
Cc: Marek Vasut, Bartosz Golaszewski, Bjorn Helgaas, Conor Dooley,
Geert Uytterhoeven, Krzysztof Kozlowski, Magnus Damm,
Manivannan Sadhasivam, Rob Herring, Yoshihiro Shimoda, devicetree,
linux-kernel, linux-pci, linux-renesas-soc
Add node which describes the root port into PCIe controller DT node.
This can be used together with pwrctrl driver to control clock and
power supply to a PCIe slot. For example usage, refer to V4H Sparrow
Hawk board.
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
---
Cc: Bartosz Golaszewski <brgl@bgdev.pl>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Conor Dooley <conor+dt@kernel.org>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>
Cc: Magnus Damm <magnus.damm@gmail.com>
Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Cc: Rob Herring <robh@kernel.org>
Cc: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-pci@vger.kernel.org
Cc: linux-renesas-soc@vger.kernel.org
---
V2: New patch
---
arch/arm64/boot/dts/renesas/r8a779g0.dtsi | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/arch/arm64/boot/dts/renesas/r8a779g0.dtsi b/arch/arm64/boot/dts/renesas/r8a779g0.dtsi
index 6dbf05a559357..8d9ca30c299c9 100644
--- a/arch/arm64/boot/dts/renesas/r8a779g0.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a779g0.dtsi
@@ -798,6 +798,16 @@ pciec0: pcie@e65d0000 {
<0 0 0 4 &gic GIC_SPI 449 IRQ_TYPE_LEVEL_HIGH>;
snps,enable-cdm-check;
status = "disabled";
+
+ /* PCIe bridge, Root Port */
+ pciec0_rp: pci@0,0 {
+ #address-cells = <3>;
+ #size-cells = <2>;
+ reg = <0x0 0x0 0x0 0x0 0x0>;
+ compatible = "pciclass,0604";
+ device_type = "pci";
+ ranges;
+ };
};
pciec1: pcie@e65d8000 {
@@ -835,6 +845,16 @@ pciec1: pcie@e65d8000 {
<0 0 0 4 &gic GIC_SPI 456 IRQ_TYPE_LEVEL_HIGH>;
snps,enable-cdm-check;
status = "disabled";
+
+ /* PCIe bridge, Root Port */
+ pciec1_rp: pci@0,0 {
+ #address-cells = <3>;
+ #size-cells = <2>;
+ reg = <0x0 0x0 0x0 0x0 0x0>;
+ compatible = "pciclass,0604";
+ device_type = "pci";
+ ranges;
+ };
};
pciec0_ep: pcie-ep@e65d0000 {
--
2.47.2
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH v2 3/3] arm64: dts: renesas: r8a779g3: Describe split PCIe clock on V4H Sparrow Hawk
2025-05-30 22:53 [PATCH v2 1/3] PCI/pwrctrl: Add optional slot clock to pwrctrl driver for PCI slots Marek Vasut
2025-05-30 22:53 ` [PATCH v2 2/3] arm64: dts: renesas: r8a779g0: Describe root port on R-Car V4H Marek Vasut
@ 2025-05-30 22:53 ` Marek Vasut
2025-06-04 9:24 ` Geert Uytterhoeven
2025-06-04 17:27 ` Manivannan Sadhasivam
2025-06-02 10:17 ` [PATCH v2 1/3] PCI/pwrctrl: Add optional slot clock to pwrctrl driver for PCI slots Bartosz Golaszewski
2025-06-04 8:40 ` Geert Uytterhoeven
3 siblings, 2 replies; 13+ messages in thread
From: Marek Vasut @ 2025-05-30 22:53 UTC (permalink / raw)
To: linux-arm-kernel
Cc: Marek Vasut, Bartosz Golaszewski, Bjorn Helgaas, Conor Dooley,
Geert Uytterhoeven, Krzysztof Kozlowski, Magnus Damm,
Manivannan Sadhasivam, Rob Herring, Yoshihiro Shimoda, devicetree,
linux-kernel, linux-pci, linux-renesas-soc
The V4H Sparrow Hawk board supplies PCIe controller input clock and PCIe
bus clock from separate outputs of Renesas 9FGV0441 clock generator chip.
Describe this split bus configuration in the board DT. The topology looks
as follows:
____________ _____________
| R-Car PCIe | | PCIe device |
| | | |
| PCIe RX<|==================|>PCIe TX |
| PCIe TX<|==================|>PCIe RX |
| | | |
| PCIe CLK<|======.. ..======|>PCIe CLK |
'------------' || || '-------------'
|| ||
____________ || ||
| 9FGV0441 | || ||
| | || ||
| CLK DIF0<|======'' ||
| CLK DIF1<|==========''
| CLK DIF2<|
| CLK DIF3<|
'------------'
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
---
Cc: Bartosz Golaszewski <brgl@bgdev.pl>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Conor Dooley <conor+dt@kernel.org>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>
Cc: Magnus Damm <magnus.damm@gmail.com>
Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Cc: Rob Herring <robh@kernel.org>
Cc: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-pci@vger.kernel.org
Cc: linux-renesas-soc@vger.kernel.org
---
V2: Use pciec0_rp/pciec1_rp phandles to refer to root port moved to core r8a779g0.dtsi
---
.../dts/renesas/r8a779g3-sparrow-hawk.dts | 31 +++++++++++++++++--
1 file changed, 29 insertions(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/renesas/r8a779g3-sparrow-hawk.dts b/arch/arm64/boot/dts/renesas/r8a779g3-sparrow-hawk.dts
index b8698e07add56..9ba23129e65ec 100644
--- a/arch/arm64/boot/dts/renesas/r8a779g3-sparrow-hawk.dts
+++ b/arch/arm64/boot/dts/renesas/r8a779g3-sparrow-hawk.dts
@@ -130,6 +130,13 @@ mini_dp_con_in: endpoint {
};
};
+ /* Page 26 / PCIe.0/1 CLK */
+ pcie_refclk: clk-x8 {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <25000000>;
+ };
+
reg_1p2v: regulator-1p2v {
compatible = "regulator-fixed";
regulator-name = "fixed-1.2V";
@@ -404,6 +411,14 @@ i2c0_mux2: i2c@2 {
reg = <2>;
#address-cells = <1>;
#size-cells = <0>;
+
+ /* Page 26 / PCIe.0/1 CLK */
+ pcie_clk: clk@68 {
+ compatible = "renesas,9fgv0441";
+ reg = <0x68>;
+ clocks = <&pcie_refclk>;
+ #clock-cells = <1>;
+ };
};
i2c0_mux3: i2c@3 {
@@ -487,26 +502,38 @@ msiof1_snd_endpoint: endpoint {
/* Page 26 / 2230 Key M M.2 */
&pcie0_clkref {
- clock-frequency = <100000000>;
+ status = "disabled";
};
&pciec0 {
+ clocks = <&cpg CPG_MOD 624>, <&pcie_clk 0>;
reset-gpios = <&gpio2 2 GPIO_ACTIVE_LOW>;
status = "okay";
};
+&pciec0_rp {
+ clocks = <&pcie_clk 1>;
+ vpcie3v3-supply = <®_3p3v>;
+};
+
/* Page 25 / PCIe to USB */
&pcie1_clkref {
- clock-frequency = <100000000>;
+ status = "disabled";
};
&pciec1 {
+ clocks = <&cpg CPG_MOD 625>, <&pcie_clk 2>;
/* uPD720201 is PCIe Gen2 x1 device */
num-lanes = <1>;
reset-gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
status = "okay";
};
+&pciec1_rp {
+ clocks = <&pcie_clk 3>;
+ vpcie3v3-supply = <®_3p3v>;
+};
+
&pfc {
pinctrl-0 = <&scif_clk_pins>;
pinctrl-names = "default";
--
2.47.2
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH v2 1/3] PCI/pwrctrl: Add optional slot clock to pwrctrl driver for PCI slots
2025-05-30 22:53 [PATCH v2 1/3] PCI/pwrctrl: Add optional slot clock to pwrctrl driver for PCI slots Marek Vasut
2025-05-30 22:53 ` [PATCH v2 2/3] arm64: dts: renesas: r8a779g0: Describe root port on R-Car V4H Marek Vasut
2025-05-30 22:53 ` [PATCH v2 3/3] arm64: dts: renesas: r8a779g3: Describe split PCIe clock on V4H Sparrow Hawk Marek Vasut
@ 2025-06-02 10:17 ` Bartosz Golaszewski
2025-06-04 8:40 ` Geert Uytterhoeven
3 siblings, 0 replies; 13+ messages in thread
From: Bartosz Golaszewski @ 2025-06-02 10:17 UTC (permalink / raw)
To: Marek Vasut
Cc: linux-arm-kernel, Anand Moon, Manivannan Sadhasivam,
Bjorn Helgaas, Conor Dooley, Geert Uytterhoeven,
Krzysztof Kozlowski, Magnus Damm, Rob Herring, Yoshihiro Shimoda,
devicetree, linux-kernel, linux-pci, linux-renesas-soc
On Sat, May 31, 2025 at 12:55 AM Marek Vasut
<marek.vasut+renesas@mailbox.org> wrote:
>
> Add the ability to enable optional slot clock into the pwrctrl driver.
> This is used to enable slot clock in split-clock topologies, where the
> PCIe host/controller supply and PCIe slot supply are not provided by
> the same clock. The PCIe host/controller clock should be described in
> the controller node as the controller clock, while the slot clock should
> be described in controller bridge/slot subnode.
>
> Example DT snippet:
> &pcicontroller {
> clocks = <&clk_dif 0>; /* PCIe controller clock */
>
> pci@0,0 {
> #address-cells = <3>;
> #size-cells = <2>;
> reg = <0x0 0x0 0x0 0x0 0x0>;
> compatible = "pciclass,0604";
> device_type = "pci";
> clocks = <&clk_dif 1>; /* PCIe slot clock */
> vpcie3v3-supply = <®_3p3v>;
> ranges;
> };
> };
>
> Example clock topology:
> ____________ ____________
> | PCIe host | | PCIe slot |
> | | | |
> | PCIe RX<|==================|>PCIe TX |
> | PCIe TX<|==================|>PCIe RX |
> | | | |
> | PCIe CLK<|======.. ..======|>PCIe CLK |
> '------------' || || '------------'
> || ||
> ____________ || ||
> | 9FGV0441 | || ||
> | | || ||
> | CLK DIF0<|======'' ||
> | CLK DIF1<|==========''
> | CLK DIF2<|
> | CLK DIF3<|
> '------------'
>
> Reviewed-by: Anand Moon <linux.amoon@gmail.com>
> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
> ---
Acked-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2 1/3] PCI/pwrctrl: Add optional slot clock to pwrctrl driver for PCI slots
2025-05-30 22:53 [PATCH v2 1/3] PCI/pwrctrl: Add optional slot clock to pwrctrl driver for PCI slots Marek Vasut
` (2 preceding siblings ...)
2025-06-02 10:17 ` [PATCH v2 1/3] PCI/pwrctrl: Add optional slot clock to pwrctrl driver for PCI slots Bartosz Golaszewski
@ 2025-06-04 8:40 ` Geert Uytterhoeven
2025-06-04 17:22 ` Manivannan Sadhasivam
2025-06-07 19:48 ` Marek Vasut
3 siblings, 2 replies; 13+ messages in thread
From: Geert Uytterhoeven @ 2025-06-04 8:40 UTC (permalink / raw)
To: Marek Vasut
Cc: linux-arm-kernel, Anand Moon, Manivannan Sadhasivam,
Bartosz Golaszewski, Bjorn Helgaas, Conor Dooley,
Krzysztof Kozlowski, Magnus Damm, Rob Herring, Yoshihiro Shimoda,
devicetree, linux-kernel, linux-pci, linux-renesas-soc
Hi Marek,
Thanks for your patch!
On Sat, 31 May 2025 at 00:55, Marek Vasut
<marek.vasut+renesas@mailbox.org> wrote:
> Add the ability to enable optional slot clock into the pwrctrl driver.
> This is used to enable slot clock in split-clock topologies, where the
> PCIe host/controller supply and PCIe slot supply are not provided by
> the same clock. The PCIe host/controller clock should be described in
> the controller node as the controller clock, while the slot clock should
> be described in controller bridge/slot subnode.
>
> Example DT snippet:
> &pcicontroller {
> clocks = <&clk_dif 0>; /* PCIe controller clock */
>
> pci@0,0 {
> #address-cells = <3>;
> #size-cells = <2>;
> reg = <0x0 0x0 0x0 0x0 0x0>;
> compatible = "pciclass,0604";
> device_type = "pci";
> clocks = <&clk_dif 1>; /* PCIe slot clock */
I assume this should be documented in
dtschema/schemas/pci/pci-bus-common.yaml, too?
> vpcie3v3-supply = <®_3p3v>;
> ranges;
> };
> };
>
> Example clock topology:
> ____________ ____________
> | PCIe host | | PCIe slot |
> | | | |
> | PCIe RX<|==================|>PCIe TX |
> | PCIe TX<|==================|>PCIe RX |
> | | | |
> | PCIe CLK<|======.. ..======|>PCIe CLK |
> '------------' || || '------------'
> || ||
> ____________ || ||
> | 9FGV0441 | || ||
> | | || ||
> | CLK DIF0<|======'' ||
> | CLK DIF1<|==========''
> | CLK DIF2<|
> | CLK DIF3<|
> '------------'
>
> Reviewed-by: Anand Moon <linux.amoon@gmail.com>
> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
> --- a/drivers/pci/pwrctrl/slot.c
> +++ b/drivers/pci/pwrctrl/slot.c
> @@ -30,6 +31,7 @@ static int pci_pwrctrl_slot_probe(struct platform_device *pdev)
> {
> struct pci_pwrctrl_slot_data *slot;
> struct device *dev = &pdev->dev;
> + struct clk *clk;
> int ret;
>
> slot = devm_kzalloc(dev, sizeof(*slot), GFP_KERNEL);
> @@ -50,6 +52,13 @@ static int pci_pwrctrl_slot_probe(struct platform_device *pdev)
> goto err_regulator_free;
> }
>
> + clk = devm_clk_get_optional_enabled(dev, NULL);
> + if (IS_ERR(clk)) {
> + ret = dev_err_probe(dev, PTR_ERR(clk),
> + "Failed to enable slot clock\n");
> + goto err_regulator_disable;
> + }
You are adding this block in the middle of the regulator handling.
Please move it below, under the devm_add_action_or_reset() call
(which is handled wrong, I have sent a patch[1]).
> +
> ret = devm_add_action_or_reset(dev, devm_pci_pwrctrl_slot_power_off,
> slot);
> if (ret)
[1] https://lore.kernel.org/f60c445e965ba309f08c33de78bd62f358e68cd0.1749025687.git.geert+renesas@glider.be
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2 2/3] arm64: dts: renesas: r8a779g0: Describe root port on R-Car V4H
2025-05-30 22:53 ` [PATCH v2 2/3] arm64: dts: renesas: r8a779g0: Describe root port on R-Car V4H Marek Vasut
@ 2025-06-04 9:13 ` Geert Uytterhoeven
2025-06-04 17:26 ` Manivannan Sadhasivam
1 sibling, 0 replies; 13+ messages in thread
From: Geert Uytterhoeven @ 2025-06-04 9:13 UTC (permalink / raw)
To: Marek Vasut
Cc: linux-arm-kernel, Bartosz Golaszewski, Bjorn Helgaas,
Conor Dooley, Geert Uytterhoeven, Krzysztof Kozlowski,
Magnus Damm, Manivannan Sadhasivam, Rob Herring,
Yoshihiro Shimoda, devicetree, linux-kernel, linux-pci,
linux-renesas-soc
Hi Marek,
On Sat, 31 May 2025 at 00:55, Marek Vasut
<marek.vasut+renesas@mailbox.org> wrote:
> Add node which describes the root port into PCIe controller DT node.
> This can be used together with pwrctrl driver to control clock and
> power supply to a PCIe slot. For example usage, refer to V4H Sparrow
> Hawk board.
>
> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Thanks for your patch!
LGTM, so
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
I will wait a bit for more comments (if any) before applying.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: renesas: r8a779g3: Describe split PCIe clock on V4H Sparrow Hawk
2025-05-30 22:53 ` [PATCH v2 3/3] arm64: dts: renesas: r8a779g3: Describe split PCIe clock on V4H Sparrow Hawk Marek Vasut
@ 2025-06-04 9:24 ` Geert Uytterhoeven
2025-06-04 17:31 ` Manivannan Sadhasivam
2025-06-04 17:27 ` Manivannan Sadhasivam
1 sibling, 1 reply; 13+ messages in thread
From: Geert Uytterhoeven @ 2025-06-04 9:24 UTC (permalink / raw)
To: Marek Vasut
Cc: linux-arm-kernel, Bartosz Golaszewski, Bjorn Helgaas,
Conor Dooley, Geert Uytterhoeven, Krzysztof Kozlowski,
Magnus Damm, Manivannan Sadhasivam, Rob Herring,
Yoshihiro Shimoda, devicetree, linux-kernel, linux-pci,
linux-renesas-soc
Hi Marek,
On Sat, 31 May 2025 at 00:55, Marek Vasut
<marek.vasut+renesas@mailbox.org> wrote:
> The V4H Sparrow Hawk board supplies PCIe controller input clock and PCIe
> bus clock from separate outputs of Renesas 9FGV0441 clock generator chip.
> Describe this split bus configuration in the board DT. The topology looks
> as follows:
>
> ____________ _____________
> | R-Car PCIe | | PCIe device |
> | | | |
> | PCIe RX<|==================|>PCIe TX |
> | PCIe TX<|==================|>PCIe RX |
> | | | |
> | PCIe CLK<|======.. ..======|>PCIe CLK |
> '------------' || || '-------------'
> || ||
> ____________ || ||
> | 9FGV0441 | || ||
> | | || ||
> | CLK DIF0<|======'' ||
> | CLK DIF1<|==========''
> | CLK DIF2<|
> | CLK DIF3<|
> '------------'
>
> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Thanks for your patch!
> V2: Use pciec0_rp/pciec1_rp phandles to refer to root port moved to core r8a779g0.dtsi
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
I understand this has a hard dependency on [PATCH v2 1/3] (and on
enabling CONFIG_PCI_PWRCTRL_SLOT), so I cannot apply this before that
patch is upstream?
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2 1/3] PCI/pwrctrl: Add optional slot clock to pwrctrl driver for PCI slots
2025-06-04 8:40 ` Geert Uytterhoeven
@ 2025-06-04 17:22 ` Manivannan Sadhasivam
2025-06-07 19:48 ` Marek Vasut
1 sibling, 0 replies; 13+ messages in thread
From: Manivannan Sadhasivam @ 2025-06-04 17:22 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: Marek Vasut, linux-arm-kernel, Anand Moon, Bartosz Golaszewski,
Bjorn Helgaas, Conor Dooley, Krzysztof Kozlowski, Magnus Damm,
Rob Herring, Yoshihiro Shimoda, devicetree, linux-kernel,
linux-pci, linux-renesas-soc
On Wed, Jun 04, 2025 at 10:40:25AM +0200, Geert Uytterhoeven wrote:
> Hi Marek,
>
> Thanks for your patch!
>
> On Sat, 31 May 2025 at 00:55, Marek Vasut
> <marek.vasut+renesas@mailbox.org> wrote:
> > Add the ability to enable optional slot clock into the pwrctrl driver.
> > This is used to enable slot clock in split-clock topologies, where the
> > PCIe host/controller supply and PCIe slot supply are not provided by
> > the same clock. The PCIe host/controller clock should be described in
> > the controller node as the controller clock, while the slot clock should
> > be described in controller bridge/slot subnode.
> >
> > Example DT snippet:
> > &pcicontroller {
> > clocks = <&clk_dif 0>; /* PCIe controller clock */
> >
> > pci@0,0 {
> > #address-cells = <3>;
> > #size-cells = <2>;
> > reg = <0x0 0x0 0x0 0x0 0x0>;
> > compatible = "pciclass,0604";
> > device_type = "pci";
> > clocks = <&clk_dif 1>; /* PCIe slot clock */
>
> I assume this should be documented in
> dtschema/schemas/pci/pci-bus-common.yaml, too?
You are right.
>
> > vpcie3v3-supply = <®_3p3v>;
> > ranges;
> > };
> > };
> >
> > Example clock topology:
> > ____________ ____________
> > | PCIe host | | PCIe slot |
> > | | | |
> > | PCIe RX<|==================|>PCIe TX |
> > | PCIe TX<|==================|>PCIe RX |
> > | | | |
> > | PCIe CLK<|======.. ..======|>PCIe CLK |
> > '------------' || || '------------'
> > || ||
> > ____________ || ||
> > | 9FGV0441 | || ||
> > | | || ||
> > | CLK DIF0<|======'' ||
> > | CLK DIF1<|==========''
> > | CLK DIF2<|
> > | CLK DIF3<|
> > '------------'
> >
> > Reviewed-by: Anand Moon <linux.amoon@gmail.com>
> > Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
> > Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
>
> > --- a/drivers/pci/pwrctrl/slot.c
> > +++ b/drivers/pci/pwrctrl/slot.c
>
> > @@ -30,6 +31,7 @@ static int pci_pwrctrl_slot_probe(struct platform_device *pdev)
> > {
> > struct pci_pwrctrl_slot_data *slot;
> > struct device *dev = &pdev->dev;
> > + struct clk *clk;
> > int ret;
> >
> > slot = devm_kzalloc(dev, sizeof(*slot), GFP_KERNEL);
> > @@ -50,6 +52,13 @@ static int pci_pwrctrl_slot_probe(struct platform_device *pdev)
> > goto err_regulator_free;
> > }
> >
> > + clk = devm_clk_get_optional_enabled(dev, NULL);
> > + if (IS_ERR(clk)) {
> > + ret = dev_err_probe(dev, PTR_ERR(clk),
> > + "Failed to enable slot clock\n");
> > + goto err_regulator_disable;
> > + }
>
> You are adding this block in the middle of the regulator handling.
> Please move it below, under the devm_add_action_or_reset() call
> (which is handled wrong, I have sent a patch[1]).
>
Good catch!
- Mani
--
மணிவண்ணன் சதாசிவம்
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2 2/3] arm64: dts: renesas: r8a779g0: Describe root port on R-Car V4H
2025-05-30 22:53 ` [PATCH v2 2/3] arm64: dts: renesas: r8a779g0: Describe root port on R-Car V4H Marek Vasut
2025-06-04 9:13 ` Geert Uytterhoeven
@ 2025-06-04 17:26 ` Manivannan Sadhasivam
1 sibling, 0 replies; 13+ messages in thread
From: Manivannan Sadhasivam @ 2025-06-04 17:26 UTC (permalink / raw)
To: Marek Vasut
Cc: linux-arm-kernel, Bartosz Golaszewski, Bjorn Helgaas,
Conor Dooley, Geert Uytterhoeven, Krzysztof Kozlowski,
Magnus Damm, Rob Herring, Yoshihiro Shimoda, devicetree,
linux-kernel, linux-pci, linux-renesas-soc
On Sat, May 31, 2025 at 12:53:20AM +0200, Marek Vasut wrote:
> Add node which describes the root port into PCIe controller DT node.
> This can be used together with pwrctrl driver to control clock and
> power supply to a PCIe slot. For example usage, refer to V4H Sparrow
> Hawk board.
>
> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Acked-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
- Mani
> ---
> Cc: Bartosz Golaszewski <brgl@bgdev.pl>
> Cc: Bjorn Helgaas <bhelgaas@google.com>
> Cc: Conor Dooley <conor+dt@kernel.org>
> Cc: Geert Uytterhoeven <geert+renesas@glider.be>
> Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>
> Cc: Magnus Damm <magnus.damm@gmail.com>
> Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
> Cc: Rob Herring <robh@kernel.org>
> Cc: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
> Cc: devicetree@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> Cc: linux-pci@vger.kernel.org
> Cc: linux-renesas-soc@vger.kernel.org
> ---
> V2: New patch
> ---
> arch/arm64/boot/dts/renesas/r8a779g0.dtsi | 20 ++++++++++++++++++++
> 1 file changed, 20 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/renesas/r8a779g0.dtsi b/arch/arm64/boot/dts/renesas/r8a779g0.dtsi
> index 6dbf05a559357..8d9ca30c299c9 100644
> --- a/arch/arm64/boot/dts/renesas/r8a779g0.dtsi
> +++ b/arch/arm64/boot/dts/renesas/r8a779g0.dtsi
> @@ -798,6 +798,16 @@ pciec0: pcie@e65d0000 {
> <0 0 0 4 &gic GIC_SPI 449 IRQ_TYPE_LEVEL_HIGH>;
> snps,enable-cdm-check;
> status = "disabled";
> +
> + /* PCIe bridge, Root Port */
> + pciec0_rp: pci@0,0 {
> + #address-cells = <3>;
> + #size-cells = <2>;
> + reg = <0x0 0x0 0x0 0x0 0x0>;
> + compatible = "pciclass,0604";
> + device_type = "pci";
> + ranges;
> + };
> };
>
> pciec1: pcie@e65d8000 {
> @@ -835,6 +845,16 @@ pciec1: pcie@e65d8000 {
> <0 0 0 4 &gic GIC_SPI 456 IRQ_TYPE_LEVEL_HIGH>;
> snps,enable-cdm-check;
> status = "disabled";
> +
> + /* PCIe bridge, Root Port */
> + pciec1_rp: pci@0,0 {
> + #address-cells = <3>;
> + #size-cells = <2>;
> + reg = <0x0 0x0 0x0 0x0 0x0>;
> + compatible = "pciclass,0604";
> + device_type = "pci";
> + ranges;
> + };
> };
>
> pciec0_ep: pcie-ep@e65d0000 {
> --
> 2.47.2
>
--
மணிவண்ணன் சதாசிவம்
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: renesas: r8a779g3: Describe split PCIe clock on V4H Sparrow Hawk
2025-05-30 22:53 ` [PATCH v2 3/3] arm64: dts: renesas: r8a779g3: Describe split PCIe clock on V4H Sparrow Hawk Marek Vasut
2025-06-04 9:24 ` Geert Uytterhoeven
@ 2025-06-04 17:27 ` Manivannan Sadhasivam
1 sibling, 0 replies; 13+ messages in thread
From: Manivannan Sadhasivam @ 2025-06-04 17:27 UTC (permalink / raw)
To: Marek Vasut
Cc: linux-arm-kernel, Bartosz Golaszewski, Bjorn Helgaas,
Conor Dooley, Geert Uytterhoeven, Krzysztof Kozlowski,
Magnus Damm, Rob Herring, Yoshihiro Shimoda, devicetree,
linux-kernel, linux-pci, linux-renesas-soc
On Sat, May 31, 2025 at 12:53:21AM +0200, Marek Vasut wrote:
> The V4H Sparrow Hawk board supplies PCIe controller input clock and PCIe
> bus clock from separate outputs of Renesas 9FGV0441 clock generator chip.
> Describe this split bus configuration in the board DT. The topology looks
> as follows:
>
> ____________ _____________
> | R-Car PCIe | | PCIe device |
> | | | |
> | PCIe RX<|==================|>PCIe TX |
> | PCIe TX<|==================|>PCIe RX |
> | | | |
> | PCIe CLK<|======.. ..======|>PCIe CLK |
> '------------' || || '-------------'
> || ||
> ____________ || ||
> | 9FGV0441 | || ||
> | | || ||
> | CLK DIF0<|======'' ||
> | CLK DIF1<|==========''
> | CLK DIF2<|
> | CLK DIF3<|
> '------------'
>
> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Acked-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
- Mani
> ---
> Cc: Bartosz Golaszewski <brgl@bgdev.pl>
> Cc: Bjorn Helgaas <bhelgaas@google.com>
> Cc: Conor Dooley <conor+dt@kernel.org>
> Cc: Geert Uytterhoeven <geert+renesas@glider.be>
> Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>
> Cc: Magnus Damm <magnus.damm@gmail.com>
> Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
> Cc: Rob Herring <robh@kernel.org>
> Cc: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
> Cc: devicetree@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> Cc: linux-pci@vger.kernel.org
> Cc: linux-renesas-soc@vger.kernel.org
> ---
> V2: Use pciec0_rp/pciec1_rp phandles to refer to root port moved to core r8a779g0.dtsi
> ---
> .../dts/renesas/r8a779g3-sparrow-hawk.dts | 31 +++++++++++++++++--
> 1 file changed, 29 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/renesas/r8a779g3-sparrow-hawk.dts b/arch/arm64/boot/dts/renesas/r8a779g3-sparrow-hawk.dts
> index b8698e07add56..9ba23129e65ec 100644
> --- a/arch/arm64/boot/dts/renesas/r8a779g3-sparrow-hawk.dts
> +++ b/arch/arm64/boot/dts/renesas/r8a779g3-sparrow-hawk.dts
> @@ -130,6 +130,13 @@ mini_dp_con_in: endpoint {
> };
> };
>
> + /* Page 26 / PCIe.0/1 CLK */
> + pcie_refclk: clk-x8 {
> + compatible = "fixed-clock";
> + #clock-cells = <0>;
> + clock-frequency = <25000000>;
> + };
> +
> reg_1p2v: regulator-1p2v {
> compatible = "regulator-fixed";
> regulator-name = "fixed-1.2V";
> @@ -404,6 +411,14 @@ i2c0_mux2: i2c@2 {
> reg = <2>;
> #address-cells = <1>;
> #size-cells = <0>;
> +
> + /* Page 26 / PCIe.0/1 CLK */
> + pcie_clk: clk@68 {
> + compatible = "renesas,9fgv0441";
> + reg = <0x68>;
> + clocks = <&pcie_refclk>;
> + #clock-cells = <1>;
> + };
> };
>
> i2c0_mux3: i2c@3 {
> @@ -487,26 +502,38 @@ msiof1_snd_endpoint: endpoint {
>
> /* Page 26 / 2230 Key M M.2 */
> &pcie0_clkref {
> - clock-frequency = <100000000>;
> + status = "disabled";
> };
>
> &pciec0 {
> + clocks = <&cpg CPG_MOD 624>, <&pcie_clk 0>;
> reset-gpios = <&gpio2 2 GPIO_ACTIVE_LOW>;
> status = "okay";
> };
>
> +&pciec0_rp {
> + clocks = <&pcie_clk 1>;
> + vpcie3v3-supply = <®_3p3v>;
> +};
> +
> /* Page 25 / PCIe to USB */
> &pcie1_clkref {
> - clock-frequency = <100000000>;
> + status = "disabled";
> };
>
> &pciec1 {
> + clocks = <&cpg CPG_MOD 625>, <&pcie_clk 2>;
> /* uPD720201 is PCIe Gen2 x1 device */
> num-lanes = <1>;
> reset-gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
> status = "okay";
> };
>
> +&pciec1_rp {
> + clocks = <&pcie_clk 3>;
> + vpcie3v3-supply = <®_3p3v>;
> +};
> +
> &pfc {
> pinctrl-0 = <&scif_clk_pins>;
> pinctrl-names = "default";
> --
> 2.47.2
>
--
மணிவண்ணன் சதாசிவம்
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: renesas: r8a779g3: Describe split PCIe clock on V4H Sparrow Hawk
2025-06-04 9:24 ` Geert Uytterhoeven
@ 2025-06-04 17:31 ` Manivannan Sadhasivam
2025-06-05 7:33 ` Geert Uytterhoeven
0 siblings, 1 reply; 13+ messages in thread
From: Manivannan Sadhasivam @ 2025-06-04 17:31 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: Marek Vasut, linux-arm-kernel, Bartosz Golaszewski, Bjorn Helgaas,
Conor Dooley, Geert Uytterhoeven, Krzysztof Kozlowski,
Magnus Damm, Rob Herring, Yoshihiro Shimoda, devicetree,
linux-kernel, linux-pci, linux-renesas-soc
On Wed, Jun 04, 2025 at 11:24:17AM +0200, Geert Uytterhoeven wrote:
> Hi Marek,
>
> On Sat, 31 May 2025 at 00:55, Marek Vasut
> <marek.vasut+renesas@mailbox.org> wrote:
> > The V4H Sparrow Hawk board supplies PCIe controller input clock and PCIe
> > bus clock from separate outputs of Renesas 9FGV0441 clock generator chip.
> > Describe this split bus configuration in the board DT. The topology looks
> > as follows:
> >
> > ____________ _____________
> > | R-Car PCIe | | PCIe device |
> > | | | |
> > | PCIe RX<|==================|>PCIe TX |
> > | PCIe TX<|==================|>PCIe RX |
> > | | | |
> > | PCIe CLK<|======.. ..======|>PCIe CLK |
> > '------------' || || '-------------'
> > || ||
> > ____________ || ||
> > | 9FGV0441 | || ||
> > | | || ||
> > | CLK DIF0<|======'' ||
> > | CLK DIF1<|==========''
> > | CLK DIF2<|
> > | CLK DIF3<|
> > '------------'
> >
> > Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
>
> Thanks for your patch!
>
> > V2: Use pciec0_rp/pciec1_rp phandles to refer to root port moved to core r8a779g0.dtsi
>
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
>
> I understand this has a hard dependency on [PATCH v2 1/3] (and on
> enabling CONFIG_PCI_PWRCTRL_SLOT), so I cannot apply this before that
> patch is upstream?
>
TBH, this patch is describing the binding properly. So even though the driver
change is necessary to make the device functional, I don't see it as a hard
dependency. But since people care about functionality, if both driver and DTS
changes go into the same release, it should be fine IMO.
- Mani
--
மணிவண்ணன் சதாசிவம்
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2 3/3] arm64: dts: renesas: r8a779g3: Describe split PCIe clock on V4H Sparrow Hawk
2025-06-04 17:31 ` Manivannan Sadhasivam
@ 2025-06-05 7:33 ` Geert Uytterhoeven
0 siblings, 0 replies; 13+ messages in thread
From: Geert Uytterhoeven @ 2025-06-05 7:33 UTC (permalink / raw)
To: Manivannan Sadhasivam
Cc: Marek Vasut, linux-arm-kernel, Bartosz Golaszewski, Bjorn Helgaas,
Conor Dooley, Geert Uytterhoeven, Krzysztof Kozlowski,
Magnus Damm, Rob Herring, Yoshihiro Shimoda, devicetree,
linux-kernel, linux-pci, linux-renesas-soc
Hi Mani,
On Wed, 4 Jun 2025 at 19:31, Manivannan Sadhasivam
<manivannan.sadhasivam@linaro.org> wrote:
> On Wed, Jun 04, 2025 at 11:24:17AM +0200, Geert Uytterhoeven wrote:
> > On Sat, 31 May 2025 at 00:55, Marek Vasut
> > <marek.vasut+renesas@mailbox.org> wrote:
> > > The V4H Sparrow Hawk board supplies PCIe controller input clock and PCIe
> > > bus clock from separate outputs of Renesas 9FGV0441 clock generator chip.
> > > Describe this split bus configuration in the board DT. The topology looks
> > > as follows:
> > >
> > > ____________ _____________
> > > | R-Car PCIe | | PCIe device |
> > > | | | |
> > > | PCIe RX<|==================|>PCIe TX |
> > > | PCIe TX<|==================|>PCIe RX |
> > > | | | |
> > > | PCIe CLK<|======.. ..======|>PCIe CLK |
> > > '------------' || || '-------------'
> > > || ||
> > > ____________ || ||
> > > | 9FGV0441 | || ||
> > > | | || ||
> > > | CLK DIF0<|======'' ||
> > > | CLK DIF1<|==========''
> > > | CLK DIF2<|
> > > | CLK DIF3<|
> > > '------------'
> > >
> > > Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
> >
> > Thanks for your patch!
> >
> > > V2: Use pciec0_rp/pciec1_rp phandles to refer to root port moved to core r8a779g0.dtsi
> >
> > Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
> >
> > I understand this has a hard dependency on [PATCH v2 1/3] (and on
> > enabling CONFIG_PCI_PWRCTRL_SLOT), so I cannot apply this before that
> > patch is upstream?
>
> TBH, this patch is describing the binding properly. So even though the driver
> change is necessary to make the device functional, I don't see it as a hard
> dependency. But since people care about functionality, if both driver and DTS
> changes go into the same release, it should be fine IMO.
Applying the DTS change without the driver change would introduce a
regression in my tree. While the regression would be fixed in linux-next,
it would still hurt bisectability.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2 1/3] PCI/pwrctrl: Add optional slot clock to pwrctrl driver for PCI slots
2025-06-04 8:40 ` Geert Uytterhoeven
2025-06-04 17:22 ` Manivannan Sadhasivam
@ 2025-06-07 19:48 ` Marek Vasut
1 sibling, 0 replies; 13+ messages in thread
From: Marek Vasut @ 2025-06-07 19:48 UTC (permalink / raw)
To: Geert Uytterhoeven, Marek Vasut
Cc: linux-arm-kernel, Anand Moon, Manivannan Sadhasivam,
Bartosz Golaszewski, Bjorn Helgaas, Conor Dooley,
Krzysztof Kozlowski, Magnus Damm, Rob Herring, Yoshihiro Shimoda,
devicetree, linux-kernel, linux-pci, linux-renesas-soc
On 6/4/25 10:40 AM, Geert Uytterhoeven wrote:
> Hi Marek,
Hi,
> Thanks for your patch!
>
> On Sat, 31 May 2025 at 00:55, Marek Vasut
> <marek.vasut+renesas@mailbox.org> wrote:
>> Add the ability to enable optional slot clock into the pwrctrl driver.
>> This is used to enable slot clock in split-clock topologies, where the
>> PCIe host/controller supply and PCIe slot supply are not provided by
>> the same clock. The PCIe host/controller clock should be described in
>> the controller node as the controller clock, while the slot clock should
>> be described in controller bridge/slot subnode.
>>
>> Example DT snippet:
>> &pcicontroller {
>> clocks = <&clk_dif 0>; /* PCIe controller clock */
>>
>> pci@0,0 {
>> #address-cells = <3>;
>> #size-cells = <2>;
>> reg = <0x0 0x0 0x0 0x0 0x0>;
>> compatible = "pciclass,0604";
>> device_type = "pci";
>> clocks = <&clk_dif 1>; /* PCIe slot clock */
>
> I assume this should be documented in
> dtschema/schemas/pci/pci-bus-common.yaml, too?
Patch posted:
https://lore.kernel.org/all/20250607194353.79124-1-marek.vasut+renesas@mailbox.org/
The rest is fixed in V3, thanks.
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2025-06-07 19:48 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-30 22:53 [PATCH v2 1/3] PCI/pwrctrl: Add optional slot clock to pwrctrl driver for PCI slots Marek Vasut
2025-05-30 22:53 ` [PATCH v2 2/3] arm64: dts: renesas: r8a779g0: Describe root port on R-Car V4H Marek Vasut
2025-06-04 9:13 ` Geert Uytterhoeven
2025-06-04 17:26 ` Manivannan Sadhasivam
2025-05-30 22:53 ` [PATCH v2 3/3] arm64: dts: renesas: r8a779g3: Describe split PCIe clock on V4H Sparrow Hawk Marek Vasut
2025-06-04 9:24 ` Geert Uytterhoeven
2025-06-04 17:31 ` Manivannan Sadhasivam
2025-06-05 7:33 ` Geert Uytterhoeven
2025-06-04 17:27 ` Manivannan Sadhasivam
2025-06-02 10:17 ` [PATCH v2 1/3] PCI/pwrctrl: Add optional slot clock to pwrctrl driver for PCI slots Bartosz Golaszewski
2025-06-04 8:40 ` Geert Uytterhoeven
2025-06-04 17:22 ` Manivannan Sadhasivam
2025-06-07 19:48 ` Marek Vasut
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).