Re: [PATCH 1/3] dt-bindings: PCI: qcom: Move phy, wake & reset gpio's to root port

From: Krishna Chaitanya Chundru
Date: Tue Mar 25 2025 - 00:42:10 EST




On 3/24/2025 10:09 PM, Rob Herring wrote:
On Sat, Mar 22, 2025 at 08:30:43AM +0530, Krishna Chaitanya Chundru wrote:
Move the phy, phy-names, wake-gpio's to the pcie root port node instead of
the bridge node, as agreed upon in multiple places one instance is[1].

You aren't really moving them except in the example. This is an ABI
break for sc7280. Is anyone going to care?

You need to deprecate the properties in the old location.

Hi Rob,

we are actually moving these properties in the driver also
patch 3 https://lore.kernel.org/linux-arm-msm/20250322-perst-v1-3-e5e4da74a204@xxxxxxxxxxxxxxxx/T/#m168bec3f5d218a7f0c18293ff7380cba07a12e0e
is the driver change in this series.

Update the qcom,pcie-common.yaml to include the phy, phy-names, and
wake-gpios properties in the root port node. There is already reset-gpio
defined for PERST# in pci-bus-common.yaml, start using that property
instead of perst-gpio.

For backward compatibility, do not remove any existing properties in the
bridge node.

[1] https://lore.kernel.org/linux-pci/20241211192014.GA3302752@bhelgaas/

Signed-off-by: Krishna Chaitanya Chundru <krishna.chundru@xxxxxxxxxxxxxxxx>
---
.../devicetree/bindings/pci/qcom,pcie-common.yaml | 22 ++++++++++++++++++++++
.../devicetree/bindings/pci/qcom,pcie-sc7280.yaml | 18 ++++++++++++++----
2 files changed, 36 insertions(+), 4 deletions(-)

diff --git a/Documentation/devicetree/bindings/pci/qcom,pcie-common.yaml b/Documentation/devicetree/bindings/pci/qcom,pcie-common.yaml
index 0480c58f7d99..258c21c01c72 100644
--- a/Documentation/devicetree/bindings/pci/qcom,pcie-common.yaml
+++ b/Documentation/devicetree/bindings/pci/qcom,pcie-common.yaml
@@ -85,6 +85,28 @@ properties:
opp-table:
type: object
+patternProperties:
+ "^pcie@":
+ type: object
+ $ref: /schemas/pci/pci-pci-bridge.yaml#
+
+ properties:
+ reg:
+ maxItems: 1
+
+ phys:
+ maxItems: 1
+
+ phy-names:
+ items:
+ - const: pciephy

Just drop phy-names in the new location. It's pointless especially when
foo-names is just "${module}foo".
ack

- Krishna Chaitanya.

+
+ wake-gpios:
+ description: GPIO controlled connection to WAKE# signal
+ maxItems: 1
+
+ unevaluatedProperties: false
+
required:
- reg
- reg-names