Commit 207bcb73 authored by Bjorn Helgaas's avatar Bjorn Helgaas

Merge branch 'pci/dt-bindings'

- Drop minItems and maxItems from ranges in PCI generic host binding since
  host bridges may have several MMIO and I/O port apertures (Frank Li)

- Add kirin, rcar-gen2, uniphier DT binding top-level constraints for
  clocks (Krzysztof Kozlowski)

- Replace layerscape-pcie DT binding compatible fsl,lx2160a-pcie with
  fsl,lx2160ar2-pcie (Frank Li)

- Add layerscape-pcie DT binding deprecated 'num-viewport' property to
  address a DT checker warning (Frank Li)

- Change layerscape-pcie DT binding 'fsl,pcie-scfg' to phandle-array (Frank
  Li)

- Update qcom,pcie-sc7280 DT binding with eight interrupts (Rayyan Ansari)

- Convert altera DT bindings from text to YAML (Matthew Gerlach)

- Add imx6q-pcie 'dbi2' and 'atu' reg-names for i.MX8M Endpoints (Richard
  Zhu)

- Add back qcom 'vddpe-3v3-supply', which was incorrectly removed earlier
  (Johan Hovold)

* pci/dt-bindings:
  dt-bindings: PCI: qcom: Allow 'vddpe-3v3-supply' again
  dt-bindings: PCI: imx6q-pcie: Add reg-name "dbi2" and "atu" for i.MX8M PCIe Endpoint
  dt-bindings: PCI: altera: msi: Convert to YAML
  dt-bindings: PCI: altera: Convert to YAML
  dt-bindings: PCI: qcom,pcie-sc7280: Update bindings adding eight interrupts
  dt-bindings: PCI: layerscape-pci: Change property 'fsl,pcie-scfg' type
  dt-bindings: PCI: layerscape-pci: Add deprecated property 'num-viewport'
  dt-bindings: PCI: layerscape-pci: Replace fsl,lx2160a-pcie with fsl,lx2160ar2-pcie
  dt-bindings: PCI: socionext,uniphier-pcie-ep: Add top-level constraints
  dt-bindings: PCI: renesas,pci-rcar-gen2: Add top-level constraints
  dt-bindings: PCI: hisilicon,kirin-pcie: Add top-level constraints
  dt-bindings: PCI: host-generic-pci: Drop minItems and maxItems of ranges
parents ed072e44 3cd3b499
* Altera PCIe MSI controller
Required properties:
- compatible: should contain "altr,msi-1.0"
- reg: specifies the physical base address of the controller and
the length of the memory mapped region.
- reg-names: must include the following entries:
"csr": CSR registers
"vector_slave": vectors slave port region
- interrupts: specifies the interrupt source of the parent interrupt
controller. The format of the interrupt specifier depends on the
parent interrupt controller.
- num-vectors: number of vectors, range 1 to 32.
- msi-controller: indicates that this is MSI controller node
Example
msi0: msi@0xFF200000 {
compatible = "altr,msi-1.0";
reg = <0xFF200000 0x00000010
0xFF200010 0x00000080>;
reg-names = "csr", "vector_slave";
interrupt-parent = <&hps_0_arm_gic_0>;
interrupts = <0 42 4>;
msi-controller;
num-vectors = <32>;
};
* Altera PCIe controller
Required properties:
- compatible : should contain "altr,pcie-root-port-1.0" or "altr,pcie-root-port-2.0"
- reg: a list of physical base address and length for TXS and CRA.
For "altr,pcie-root-port-2.0", additional HIP base address and length.
- reg-names: must include the following entries:
"Txs": TX slave port region
"Cra": Control register access region
"Hip": Hard IP region (if "altr,pcie-root-port-2.0")
- interrupts: specifies the interrupt source of the parent interrupt
controller. The format of the interrupt specifier depends
on the parent interrupt controller.
- device_type: must be "pci"
- #address-cells: set to <3>
- #size-cells: set to <2>
- #interrupt-cells: set to <1>
- ranges: describes the translation of addresses for root ports and
standard PCI regions.
- interrupt-map-mask and interrupt-map: standard PCI properties to define the
mapping of the PCIe interface to interrupt numbers.
Optional properties:
- msi-parent: Link to the hardware entity that serves as the MSI controller
for this PCIe controller.
- bus-range: PCI bus numbers covered
Example
pcie_0: pcie@c00000000 {
compatible = "altr,pcie-root-port-1.0";
reg = <0xc0000000 0x20000000>,
<0xff220000 0x00004000>;
reg-names = "Txs", "Cra";
interrupt-parent = <&hps_0_arm_gic_0>;
interrupts = <0 40 4>;
interrupt-controller;
#interrupt-cells = <1>;
bus-range = <0x0 0xFF>;
device_type = "pci";
msi-parent = <&msi_to_gic_gen_0>;
#address-cells = <3>;
#size-cells = <2>;
interrupt-map-mask = <0 0 0 7>;
interrupt-map = <0 0 0 1 &pcie_0 1>,
<0 0 0 2 &pcie_0 2>,
<0 0 0 3 &pcie_0 3>,
<0 0 0 4 &pcie_0 4>;
ranges = <0x82000000 0x00000000 0x00000000 0xc0000000 0x00000000 0x10000000
0x82000000 0x00000000 0x10000000 0xd0000000 0x00000000 0x10000000>;
};
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
# Copyright (C) 2015, 2024, Intel Corporation
%YAML 1.2
---
$id: http://devicetree.org/schemas/altr,msi-controller.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Altera PCIe MSI controller
maintainers:
- Matthew Gerlach <matthew.gerlach@linux.intel.com>
properties:
compatible:
enum:
- altr,msi-1.0
reg:
items:
- description: CSR registers
- description: Vectors slave port region
reg-names:
items:
- const: csr
- const: vector_slave
interrupts:
maxItems: 1
msi-controller: true
num-vectors:
description: number of vectors
$ref: /schemas/types.yaml#/definitions/uint32
minimum: 1
maximum: 32
required:
- compatible
- reg
- reg-names
- interrupts
- msi-controller
- num-vectors
allOf:
- $ref: /schemas/interrupt-controller/msi-controller.yaml#
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/interrupt-controller/irq.h>
msi@ff200000 {
compatible = "altr,msi-1.0";
reg = <0xff200000 0x00000010>,
<0xff200010 0x00000080>;
reg-names = "csr", "vector_slave";
interrupt-parent = <&hps_0_arm_gic_0>;
interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
msi-controller;
num-vectors = <32>;
};
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
# Copyright (C) 2015, 2019, 2024, Intel Corporation
%YAML 1.2
---
$id: http://devicetree.org/schemas/altr,pcie-root-port.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Altera PCIe Root Port
maintainers:
- Matthew Gerlach <matthew.gerlach@linux.intel.com>
properties:
compatible:
enum:
- altr,pcie-root-port-1.0
- altr,pcie-root-port-2.0
reg:
items:
- description: TX slave port region
- description: Control register access region
- description: Hard IP region
minItems: 2
reg-names:
items:
- const: Txs
- const: Cra
- const: Hip
minItems: 2
interrupts:
maxItems: 1
interrupt-controller: true
interrupt-map-mask:
items:
- const: 0
- const: 0
- const: 0
- const: 7
interrupt-map:
maxItems: 4
"#interrupt-cells":
const: 1
msi-parent: true
required:
- compatible
- reg
- reg-names
- interrupts
- "#interrupt-cells"
- interrupt-controller
- interrupt-map
- interrupt-map-mask
allOf:
- $ref: /schemas/pci/pci-host-bridge.yaml#
- if:
properties:
compatible:
enum:
- altr,pcie-root-port-1.0
then:
properties:
reg:
maxItems: 2
reg-names:
maxItems: 2
else:
properties:
reg:
minItems: 3
reg-names:
minItems: 3
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/interrupt-controller/irq.h>
pcie_0: pcie@c00000000 {
compatible = "altr,pcie-root-port-1.0";
reg = <0xc0000000 0x20000000>,
<0xff220000 0x00004000>;
reg-names = "Txs", "Cra";
interrupt-parent = <&hps_0_arm_gic_0>;
interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
interrupt-controller;
#interrupt-cells = <1>;
bus-range = <0x0 0xff>;
device_type = "pci";
msi-parent = <&msi_to_gic_gen_0>;
#address-cells = <3>;
#size-cells = <2>;
interrupt-map-mask = <0 0 0 7>;
interrupt-map = <0 0 0 1 &pcie_0 0 0 0 1>,
<0 0 0 2 &pcie_0 0 0 0 2>,
<0 0 0 3 &pcie_0 0 0 0 3>,
<0 0 0 4 &pcie_0 0 0 0 4>;
ranges = <0x82000000 0x00000000 0x00000000 0xc0000000 0x00000000 0x10000000>,
<0x82000000 0x00000000 0x10000000 0xd0000000 0x00000000 0x10000000>;
};
...@@ -65,12 +65,14 @@ allOf: ...@@ -65,12 +65,14 @@ allOf:
then: then:
properties: properties:
reg: reg:
minItems: 2 minItems: 4
maxItems: 2 maxItems: 4
reg-names: reg-names:
items: items:
- const: dbi - const: dbi
- const: addr_space - const: addr_space
- const: dbi2
- const: atu
- if: - if:
properties: properties:
...@@ -129,8 +131,11 @@ examples: ...@@ -129,8 +131,11 @@ examples:
pcie_ep: pcie-ep@33800000 { pcie_ep: pcie-ep@33800000 {
compatible = "fsl,imx8mp-pcie-ep"; compatible = "fsl,imx8mp-pcie-ep";
reg = <0x33800000 0x000400000>, <0x18000000 0x08000000>; reg = <0x33800000 0x100000>,
reg-names = "dbi", "addr_space"; <0x18000000 0x8000000>,
<0x33900000 0x100000>,
<0x33b00000 0x100000>;
reg-names = "dbi", "addr_space", "dbi2", "atu";
clocks = <&clk IMX8MP_CLK_HSIO_ROOT>, clocks = <&clk IMX8MP_CLK_HSIO_ROOT>,
<&clk IMX8MP_CLK_HSIO_AXI>, <&clk IMX8MP_CLK_HSIO_AXI>,
<&clk IMX8MP_CLK_PCIE_ROOT>; <&clk IMX8MP_CLK_PCIE_ROOT>;
......
...@@ -22,18 +22,20 @@ description: ...@@ -22,18 +22,20 @@ description:
properties: properties:
compatible: compatible:
enum: oneOf:
- enum:
- fsl,ls1012a-pcie
- fsl,ls1021a-pcie - fsl,ls1021a-pcie
- fsl,ls1028a-pcie
- fsl,ls1043a-pcie
- fsl,ls1046a-pcie
- fsl,ls1088a-pcie
- fsl,ls2080a-pcie - fsl,ls2080a-pcie
- fsl,ls2085a-pcie - fsl,ls2085a-pcie
- fsl,ls2088a-pcie - fsl,ls2088a-pcie
- fsl,ls1088a-pcie - items:
- fsl,ls1046a-pcie - const: fsl,lx2160ar2-pcie
- fsl,ls1043a-pcie - const: fsl,ls2088a-pcie
- fsl,ls1012a-pcie
- fsl,ls1028a-pcie
- fsl,lx2160a-pcie
reg: reg:
maxItems: 2 maxItems: 2
...@@ -43,10 +45,15 @@ properties: ...@@ -43,10 +45,15 @@ properties:
- const: config - const: config
fsl,pcie-scfg: fsl,pcie-scfg:
$ref: /schemas/types.yaml#/definitions/phandle $ref: /schemas/types.yaml#/definitions/phandle-array
description: A phandle to the SCFG device node. The second entry is the description: A phandle to the SCFG device node. The second entry is the
physical PCIe controller index starting from '0'. This is used to get physical PCIe controller index starting from '0'. This is used to get
SCFG PEXN registers. SCFG PEXN registers.
items:
items:
- description: A phandle to the SCFG device node
- description: PCIe controller index starting from '0'
maxItems: 1
big-endian: big-endian:
$ref: /schemas/types.yaml#/definitions/flag $ref: /schemas/types.yaml#/definitions/flag
...@@ -67,6 +74,14 @@ properties: ...@@ -67,6 +74,14 @@ properties:
minItems: 1 minItems: 1
maxItems: 2 maxItems: 2
num-viewport:
$ref: /schemas/types.yaml#/definitions/uint32
deprecated: true
description:
Number of outbound view ports configured in hardware. It's the same as
the number of outbound AT windows.
maximum: 256
required: required:
- compatible - compatible
- reg - reg
......
...@@ -37,7 +37,8 @@ properties: ...@@ -37,7 +37,8 @@ properties:
minItems: 3 minItems: 3
maxItems: 4 maxItems: 4
clocks: true clocks:
maxItems: 5
clock-names: clock-names:
items: items:
......
...@@ -102,8 +102,6 @@ properties: ...@@ -102,8 +102,6 @@ properties:
As described in IEEE Std 1275-1994, but must provide at least a As described in IEEE Std 1275-1994, but must provide at least a
definition of non-prefetchable memory. One or both of prefetchable Memory definition of non-prefetchable memory. One or both of prefetchable Memory
and IO Space may also be provided. and IO Space may also be provided.
minItems: 1
maxItems: 3
dma-coherent: true dma-coherent: true
iommu-map: true iommu-map: true
......
...@@ -78,6 +78,9 @@ properties: ...@@ -78,6 +78,9 @@ properties:
description: GPIO controlled connection to WAKE# signal description: GPIO controlled connection to WAKE# signal
maxItems: 1 maxItems: 1
vddpe-3v3-supply:
description: PCIe endpoint power supply
required: required:
- reg - reg
- reg-names - reg-names
......
...@@ -53,11 +53,19 @@ properties: ...@@ -53,11 +53,19 @@ properties:
- const: aggre1 # Aggre NoC PCIe1 AXI clock - const: aggre1 # Aggre NoC PCIe1 AXI clock
interrupts: interrupts:
maxItems: 1 minItems: 8
maxItems: 8
interrupt-names: interrupt-names:
items: items:
- const: msi - const: msi0
- const: msi1
- const: msi2
- const: msi3
- const: msi4
- const: msi5
- const: msi6
- const: msi7
resets: resets:
maxItems: 1 maxItems: 1
...@@ -66,9 +74,6 @@ properties: ...@@ -66,9 +74,6 @@ properties:
items: items:
- const: pci - const: pci
vddpe-3v3-supply:
description: PCIe endpoint power supply
allOf: allOf:
- $ref: qcom,pcie-common.yaml# - $ref: qcom,pcie-common.yaml#
...@@ -137,8 +142,16 @@ examples: ...@@ -137,8 +142,16 @@ examples:
dma-coherent; dma-coherent;
interrupts = <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>,
interrupt-names = "msi"; <GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 375 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "msi0", "msi1", "msi2", "msi3",
"msi4", "msi5", "msi6", "msi7";
#interrupt-cells = <1>; #interrupt-cells = <1>;
interrupt-map-mask = <0 0 0 0x7>; interrupt-map-mask = <0 0 0 0x7>;
interrupt-map = <0 0 0 1 &intc 0 0 0 434 IRQ_TYPE_LEVEL_HIGH>, interrupt-map = <0 0 0 1 &intc 0 0 0 434 IRQ_TYPE_LEVEL_HIGH>,
......
...@@ -58,9 +58,6 @@ properties: ...@@ -58,9 +58,6 @@ properties:
items: items:
- const: pci - const: pci
vddpe-3v3-supply:
description: A phandle to the PCIe endpoint power supply
required: required:
- interconnects - interconnects
- interconnect-names - interconnect-names
......
...@@ -91,6 +91,9 @@ properties: ...@@ -91,6 +91,9 @@ properties:
vdda_refclk-supply: vdda_refclk-supply:
description: A phandle to the core analog power supply for IC which generates reference clock description: A phandle to the core analog power supply for IC which generates reference clock
vddpe-3v3-supply:
description: A phandle to the PCIe endpoint power supply
phys: phys:
maxItems: 1 maxItems: 1
......
...@@ -42,9 +42,13 @@ properties: ...@@ -42,9 +42,13 @@ properties:
interrupts: interrupts:
maxItems: 1 maxItems: 1
clocks: true clocks:
minItems: 1
maxItems: 3
clock-names: true clock-names:
minItems: 1
maxItems: 3
resets: resets:
maxItems: 1 maxItems: 1
......
...@@ -38,13 +38,17 @@ properties: ...@@ -38,13 +38,17 @@ properties:
minItems: 1 minItems: 1
maxItems: 2 maxItems: 2
clock-names: true clock-names:
minItems: 1
maxItems: 2
resets: resets:
minItems: 1 minItems: 1
maxItems: 2 maxItems: 2
reset-names: true reset-names:
minItems: 1
maxItems: 2
num-ib-windows: num-ib-windows:
const: 16 const: 16
......
...@@ -17372,7 +17372,7 @@ PCI DRIVER FOR ALTERA PCIE IP ...@@ -17372,7 +17372,7 @@ PCI DRIVER FOR ALTERA PCIE IP
M: Joyce Ooi <joyce.ooi@intel.com> M: Joyce Ooi <joyce.ooi@intel.com>
L: linux-pci@vger.kernel.org L: linux-pci@vger.kernel.org
S: Supported S: Supported
F: Documentation/devicetree/bindings/pci/altera-pcie.txt F: Documentation/devicetree/bindings/pci/altr,pcie-root-port.yaml
F: drivers/pci/controller/pcie-altera.c F: drivers/pci/controller/pcie-altera.c
PCI DRIVER FOR APPLIEDMICRO XGENE PCI DRIVER FOR APPLIEDMICRO XGENE
...@@ -17602,7 +17602,7 @@ PCI MSI DRIVER FOR ALTERA MSI IP ...@@ -17602,7 +17602,7 @@ PCI MSI DRIVER FOR ALTERA MSI IP
M: Joyce Ooi <joyce.ooi@intel.com> M: Joyce Ooi <joyce.ooi@intel.com>
L: linux-pci@vger.kernel.org L: linux-pci@vger.kernel.org
S: Supported S: Supported
F: Documentation/devicetree/bindings/pci/altera-pcie-msi.txt F: Documentation/devicetree/bindings/pci/altr,msi-controller.yaml
F: drivers/pci/controller/pcie-altera-msi.c F: drivers/pci/controller/pcie-altera-msi.c
PCI MSI DRIVER FOR APPLIEDMICRO XGENE PCI MSI DRIVER FOR APPLIEDMICRO XGENE
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment