Commit 9e71c414 authored by Rob Herring (Arm)'s avatar Rob Herring (Arm) Committed by Bjorn Helgaas
Browse files

dt-bindings: PCI: Convert marvell,armada-3700-pcie to DT schema



Convert the Marvell Armada 3700 PCIe binding to DT schema format.

The 'clocks' property was missing and has been added.

Signed-off-by: default avatarRob Herring (Arm) <robh@kernel.org>
Signed-off-by: default avatarManivannan Sadhasivam <mani@kernel.org>
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
Link: https://patch.msgid.link/20250710180811.2970846-1-robh@kernel.org
parent f6b5ad2c
Loading
Loading
Loading
Loading
+0 −59
Original line number Diff line number Diff line
Aardvark PCIe controller

This PCIe controller is used on the Marvell Armada 3700 ARM64 SoC.

The Device Tree node describing an Aardvark PCIe controller must
contain the following properties:

 - compatible: Should be "marvell,armada-3700-pcie"
 - reg: range of registers for the PCIe controller
 - interrupts: the interrupt line of the PCIe controller
 - #address-cells: set to <3>
 - #size-cells: set to <2>
 - device_type: set to "pci"
 - ranges: ranges for the PCI memory and I/O regions
 - #interrupt-cells: set to <1>
 - msi-controller: indicates that the PCIe controller can itself
   handle MSI interrupts
 - msi-parent: pointer to the MSI controller to be used
 - interrupt-map-mask and interrupt-map: standard PCI properties to
   define the mapping of the PCIe interface to interrupt numbers.
 - bus-range: PCI bus numbers covered
 - phys: the PCIe PHY handle
 - max-link-speed: see pci.txt
 - reset-gpios: see pci.txt

In addition, the Device Tree describing an Aardvark PCIe controller
must include a sub-node that describes the legacy interrupt controller
built into the PCIe controller. This sub-node must have the following
properties:

 - interrupt-controller
 - #interrupt-cells: set to <1>

Example:

	pcie0: pcie@d0070000 {
		compatible = "marvell,armada-3700-pcie";
		device_type = "pci";
		reg = <0 0xd0070000 0 0x20000>;
		#address-cells = <3>;
		#size-cells = <2>;
		bus-range = <0x00 0xff>;
		interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
		#interrupt-cells = <1>;
		msi-controller;
		msi-parent = <&pcie0>;
		ranges = <0x82000000 0 0xe8000000   0 0xe8000000 0 0x1000000 /* Port 0 MEM */
			  0x81000000 0 0xe9000000   0 0xe9000000 0 0x10000>; /* Port 0 IO*/
		interrupt-map-mask = <0 0 0 7>;
		interrupt-map = <0 0 0 1 &pcie_intc 0>,
				<0 0 0 2 &pcie_intc 1>,
				<0 0 0 3 &pcie_intc 2>,
				<0 0 0 4 &pcie_intc 3>;
		phys = <&comphy1 0>;
		pcie_intc: interrupt-controller {
			interrupt-controller;
			#interrupt-cells = <1>;
		};
	};
+99 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/pci/marvell,armada-3700-pcie.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Marvell Armada 3700 (Aardvark) PCIe Controller

maintainers:
  - Thomas Petazzoni <thomas.petazzoni@bootlin.com>
  - Pali Rohár <pali@kernel.org>

allOf:
  - $ref: /schemas/pci/pci-host-bridge.yaml#

properties:
  compatible:
    const: marvell,armada-3700-pcie

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  interrupts:
    maxItems: 1

  msi-controller: true

  msi-parent:
    maxItems: 1

  phys:
    maxItems: 1

  reset-gpios:
    description: PCIe reset GPIO signals.

  interrupt-controller:
    type: object
    additionalProperties: false

    properties:
      interrupt-controller: true

      '#interrupt-cells':
        const: 1

    required:
      - interrupt-controller
      - '#interrupt-cells'

required:
  - compatible
  - reg
  - interrupts
  - '#interrupt-cells'

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/gpio/gpio.h>

    bus {
        #address-cells = <2>;
        #size-cells = <2>;

        pcie@d0070000 {
            compatible = "marvell,armada-3700-pcie";
            device_type = "pci";
            reg = <0 0xd0070000 0 0x20000>;
            #address-cells = <3>;
            #size-cells = <2>;
            bus-range = <0x00 0xff>;
            interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
            msi-controller;
            msi-parent = <&pcie0>;
            ranges = <0x82000000 0 0xe8000000 0 0xe8000000 0 0x1000000>,
                    <0x81000000 0 0xe9000000 0 0xe9000000 0 0x10000>;

            #interrupt-cells = <1>;
            interrupt-map-mask = <0 0 0 7>;
            interrupt-map = <0 0 0 1 &pcie_intc 0>,
                            <0 0 0 2 &pcie_intc 1>,
                            <0 0 0 3 &pcie_intc 2>,
                            <0 0 0 4 &pcie_intc 3>;
            phys = <&comphy1 0>;
            max-link-speed = <2>;
            reset-gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;

            pcie_intc: interrupt-controller {
                interrupt-controller;
                #interrupt-cells = <1>;
            };
        };
    };
+1 −1
Original line number Diff line number Diff line
@@ -18898,7 +18898,7 @@ M: Pali Rohár <pali@kernel.org>
L:	linux-pci@vger.kernel.org
L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
S:	Maintained
F:	Documentation/devicetree/bindings/pci/aardvark-pci.txt
F:	Documentation/devicetree/bindings/pci/marvell,armada-3700-pcie.yaml
F:	drivers/pci/controller/pci-aardvark.c
PCI DRIVER FOR ALTERA PCIE IP