Commit 38fcbfbd authored by Krishna Chaitanya Chundru's avatar Krishna Chaitanya Chundru Committed by Bjorn Helgaas
Browse files

dt-bindings: PCI: qcom: Move PHY & reset GPIO to Root Port node

Move the phys, phy-names, reset-gpios properties to the PCIe Root Port node
from Host Bridge node, as agreed upon here [1].

Update the qcom,pcie-common.yaml to include the 'phys' property in the Root
Port node. 'phy-names' property is not needed in Root Port since each Root
Port supports only one PHY. Also, there is already 'reset-gpios' property
defined for PERST# in pci-bus-common.yaml, so use that property instead of
'perst-gpios'.

For backward compatibility, do not remove any existing properties in the
bridge node, but mark them as 'deprecated' instead.

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



Signed-off-by: default avatarKrishna Chaitanya Chundru <krishna.chundru@oss.qualcomm.com>
[mani: commit message rewording]
Signed-off-by: default avatarManivannan Sadhasivam <mani@kernel.org>
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
Reviewed-by: default avatarRob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20250702-perst-v5-1-920b3d1f6ee1@qti.qualcomm.com
parent 7d944c0f
Loading
Loading
Loading
Loading
+30 −2
Original line number Diff line number Diff line
@@ -51,10 +51,18 @@ properties:

  phys:
    maxItems: 1
    deprecated: true
    description:
      This property is deprecated, instead of referencing this property from
      the host bridge node, use the property from the PCIe root port node.

  phy-names:
    items:
      - const: pciephy
    deprecated: true
    description:
      Phandle to the register map node. This property is deprecated, and not
      required to add in the root port also, as the root port has only one phy.

  power-domains:
    maxItems: 1
@@ -71,12 +79,18 @@ properties:
    maxItems: 12

  perst-gpios:
    description: GPIO controlled connection to PERST# signal
    description: GPIO controlled connection to PERST# signal. This property is
      deprecated, instead of referencing this property from the host bridge node,
      use the reset-gpios property from the root port node.
    maxItems: 1
    deprecated: true

  wake-gpios:
    description: GPIO controlled connection to WAKE# signal
    description: GPIO controlled connection to WAKE# signal. This property is
      deprecated, instead of referencing this property from the host bridge node,
      use the property from the PCIe root port node.
    maxItems: 1
    deprecated: true

  vddpe-3v3-supply:
    description: PCIe endpoint power supply
@@ -85,6 +99,20 @@ properties:
  opp-table:
    type: object

patternProperties:
  "^pcie@":
    type: object
    $ref: /schemas/pci/pci-pci-bridge.yaml#

    properties:
      reg:
        maxItems: 1

      phys:
        maxItems: 1

    unevaluatedProperties: false

required:
  - reg
  - reg-names
+12 −4
Original line number Diff line number Diff line
@@ -165,9 +165,6 @@ examples:
            iommu-map = <0x0 &apps_smmu 0x1c80 0x1>,
                        <0x100 &apps_smmu 0x1c81 0x1>;

            phys = <&pcie1_phy>;
            phy-names = "pciephy";

            pinctrl-names = "default";
            pinctrl-0 = <&pcie1_clkreq_n>;

@@ -176,7 +173,18 @@ examples:
            resets = <&gcc GCC_PCIE_1_BCR>;
            reset-names = "pci";

            perst-gpios = <&tlmm 2 GPIO_ACTIVE_LOW>;
            vddpe-3v3-supply = <&pp3300_ssd>;
            pcie1_port0: pcie@0 {
                device_type = "pci";
                reg = <0x0 0x0 0x0 0x0 0x0>;
                bus-range = <0x01 0xff>;

                #address-cells = <3>;
                #size-cells = <2>;
                ranges;
                phys = <&pcie1_phy>;

                reset-gpios = <&tlmm 2 GPIO_ACTIVE_LOW>;
            };
        };
    };