Message ID | 20250227042454.907182-2-sai.krishna.musham@amd.com (mailing list archive) |
---|---|
State | New |
Delegated to: | Krzysztof WilczyĆski |
Headers | show |
Series | Add support for PCIe RP PERST# | expand |
On Thu, Feb 27, 2025 at 09:54:53AM +0530, Sai Krishna Musham wrote: > Introduce `reset-gpios` property to enable GPIO-based control of > the PCIe RP PERST# signal, generating assert and deassert signals. > > Traditionally, the reset was managed in hardware and enabled during > initialization. With this patch set, the reset will be handled by the > driver. Consequently, the `reset-gpios` property must be explicitly > provided to ensure proper functionality. > > Signed-off-by: Sai Krishna Musham <sai.krishna.musham@amd.com> > --- > This patch depends on the following patch series. > https://lore.kernel.org/all/20250217072713.635643-2-thippeswamy.havalige@amd.com/ > > Changes for v3: > - None > > Changes for v2: > - Add define from include/dt-bindings/gpio/gpio.h for PERST# polarity > - Update commit message > --- > .../devicetree/bindings/pci/xilinx-versal-cpm.yaml | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/Documentation/devicetree/bindings/pci/xilinx-versal-cpm.yaml b/Documentation/devicetree/bindings/pci/xilinx-versal-cpm.yaml > index b63a759ec2d7..6aaeb76f498b 100644 > --- a/Documentation/devicetree/bindings/pci/xilinx-versal-cpm.yaml > +++ b/Documentation/devicetree/bindings/pci/xilinx-versal-cpm.yaml > @@ -33,6 +33,9 @@ properties: > - const: cpm_csr > minItems: 2 > > + reset-gpios: > + description: GPIO used as PERST# signal. Please refer to pci.txt. Drop 'Please refer to pci.txt'. pci.txt or portions of it need to be removed as schemas have replaced them. > + > interrupts: > maxItems: 1 > > @@ -63,6 +66,7 @@ properties: > required: > - reg > - reg-names > + - reset-gpios > - "#interrupt-cells" > - interrupts > - interrupt-map > @@ -75,6 +79,7 @@ unevaluatedProperties: false > > examples: > - | > + #include <dt-bindings/gpio/gpio.h> > > versal { > #address-cells = <2>; > @@ -99,6 +104,7 @@ examples: > reg = <0x0 0xfca10000 0x0 0x1000>, > <0x6 0x00000000 0x0 0x10000000>; > reg-names = "cpm_slcr", "cfg"; > + reset-gpios = <&gpio1 38 GPIO_ACTIVE_LOW>; > pcie_intc_0: interrupt-controller { > #address-cells = <0>; > #interrupt-cells = <1>; > @@ -127,6 +133,7 @@ examples: > <0x06 0x00000000 0x00 0x1000000>, > <0x00 0xfce20000 0x00 0x1000000>; > reg-names = "cpm_slcr", "cfg", "cpm_csr"; > + reset-gpios = <&gpio1 38 GPIO_ACTIVE_LOW>; > > pcie_intc_1: interrupt-controller { > #address-cells = <0>; > -- > 2.44.1 >
On Thu, Feb 27, 2025 at 09:54:53AM +0530, Sai Krishna Musham wrote: > Introduce `reset-gpios` property to enable GPIO-based control of > the PCIe RP PERST# signal, generating assert and deassert signals. > > Traditionally, the reset was managed in hardware and enabled during > initialization. With this patch set, the reset will be handled by the > driver. Consequently, the `reset-gpios` property must be explicitly > provided to ensure proper functionality. > > Signed-off-by: Sai Krishna Musham <sai.krishna.musham@amd.com> Acked-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> - Mani > --- > This patch depends on the following patch series. > https://lore.kernel.org/all/20250217072713.635643-2-thippeswamy.havalige@amd.com/ > > Changes for v3: > - None > > Changes for v2: > - Add define from include/dt-bindings/gpio/gpio.h for PERST# polarity > - Update commit message > --- > .../devicetree/bindings/pci/xilinx-versal-cpm.yaml | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/Documentation/devicetree/bindings/pci/xilinx-versal-cpm.yaml b/Documentation/devicetree/bindings/pci/xilinx-versal-cpm.yaml > index b63a759ec2d7..6aaeb76f498b 100644 > --- a/Documentation/devicetree/bindings/pci/xilinx-versal-cpm.yaml > +++ b/Documentation/devicetree/bindings/pci/xilinx-versal-cpm.yaml > @@ -33,6 +33,9 @@ properties: > - const: cpm_csr > minItems: 2 > > + reset-gpios: > + description: GPIO used as PERST# signal. Please refer to pci.txt. > + > interrupts: > maxItems: 1 > > @@ -63,6 +66,7 @@ properties: > required: > - reg > - reg-names > + - reset-gpios > - "#interrupt-cells" > - interrupts > - interrupt-map > @@ -75,6 +79,7 @@ unevaluatedProperties: false > > examples: > - | > + #include <dt-bindings/gpio/gpio.h> > > versal { > #address-cells = <2>; > @@ -99,6 +104,7 @@ examples: > reg = <0x0 0xfca10000 0x0 0x1000>, > <0x6 0x00000000 0x0 0x10000000>; > reg-names = "cpm_slcr", "cfg"; > + reset-gpios = <&gpio1 38 GPIO_ACTIVE_LOW>; > pcie_intc_0: interrupt-controller { > #address-cells = <0>; > #interrupt-cells = <1>; > @@ -127,6 +133,7 @@ examples: > <0x06 0x00000000 0x00 0x1000000>, > <0x00 0xfce20000 0x00 0x1000000>; > reg-names = "cpm_slcr", "cfg", "cpm_csr"; > + reset-gpios = <&gpio1 38 GPIO_ACTIVE_LOW>; > > pcie_intc_1: interrupt-controller { > #address-cells = <0>; > -- > 2.44.1 >
diff --git a/Documentation/devicetree/bindings/pci/xilinx-versal-cpm.yaml b/Documentation/devicetree/bindings/pci/xilinx-versal-cpm.yaml index b63a759ec2d7..6aaeb76f498b 100644 --- a/Documentation/devicetree/bindings/pci/xilinx-versal-cpm.yaml +++ b/Documentation/devicetree/bindings/pci/xilinx-versal-cpm.yaml @@ -33,6 +33,9 @@ properties: - const: cpm_csr minItems: 2 + reset-gpios: + description: GPIO used as PERST# signal. Please refer to pci.txt. + interrupts: maxItems: 1 @@ -63,6 +66,7 @@ properties: required: - reg - reg-names + - reset-gpios - "#interrupt-cells" - interrupts - interrupt-map @@ -75,6 +79,7 @@ unevaluatedProperties: false examples: - | + #include <dt-bindings/gpio/gpio.h> versal { #address-cells = <2>; @@ -99,6 +104,7 @@ examples: reg = <0x0 0xfca10000 0x0 0x1000>, <0x6 0x00000000 0x0 0x10000000>; reg-names = "cpm_slcr", "cfg"; + reset-gpios = <&gpio1 38 GPIO_ACTIVE_LOW>; pcie_intc_0: interrupt-controller { #address-cells = <0>; #interrupt-cells = <1>; @@ -127,6 +133,7 @@ examples: <0x06 0x00000000 0x00 0x1000000>, <0x00 0xfce20000 0x00 0x1000000>; reg-names = "cpm_slcr", "cfg", "cpm_csr"; + reset-gpios = <&gpio1 38 GPIO_ACTIVE_LOW>; pcie_intc_1: interrupt-controller { #address-cells = <0>;
Introduce `reset-gpios` property to enable GPIO-based control of the PCIe RP PERST# signal, generating assert and deassert signals. Traditionally, the reset was managed in hardware and enabled during initialization. With this patch set, the reset will be handled by the driver. Consequently, the `reset-gpios` property must be explicitly provided to ensure proper functionality. Signed-off-by: Sai Krishna Musham <sai.krishna.musham@amd.com> --- This patch depends on the following patch series. https://lore.kernel.org/all/20250217072713.635643-2-thippeswamy.havalige@amd.com/ Changes for v3: - None Changes for v2: - Add define from include/dt-bindings/gpio/gpio.h for PERST# polarity - Update commit message --- .../devicetree/bindings/pci/xilinx-versal-cpm.yaml | 7 +++++++ 1 file changed, 7 insertions(+)