Skip to content

Commit

Permalink
Merge branch 'pci/dt-bindings'
Browse files Browse the repository at this point in the history
- Add rcar-pci-host missing IOMMU properties (Geert Uytterhoeven)

- Add ti,j721e-pci-host J784S4 Device ID (Siddharth Vadapalli)

- Add ti,j721e-pci-host J722S compatible string (Siddharth Vadapalli)

- Add ti,am65 num-viewport, phys, and phy-name properties (Jan Kiszka)

- Drop cdns,cdns-pcie-host redundant msi-parent and pci-bus.yaml (Krzysztof
  Kozlowski)

- Add mediatek,mt7621 missing reg property for child Root Ports (Krzysztof
  Kozlowski)

- Switch bindings from pci-bus.yaml to pci-host-bridge.yaml (Krzysztof
  Kozlowski)

- Convert fsl,layerscape host and endpoint bindings to YAML (Frank Li)

- Add rcar-gen4-pci-host R-Car V4H (R8A779G0) compatible strings for both
  host and endpoint mode (Yoshihiro Shimoda)

- Add rockchip,rk3399-pcie maxItems for ep-gpios (Krzysztof Kozlowski)

* pci/dt-bindings:
  dt-bindings: PCI: rockchip,rk3399-pcie: Add missing maxItems to ep-gpios
  dt-bindings: PCI: rcar-gen4-pci-ep: Add R-Car V4H compatible
  dt-bindings: PCI: rcar-gen4-pci-host: Add R-Car V4H compatible
  dt-bindings: PCI: layerscape-pci: Convert to YAML format
  dt-bindings: PCI: mediatek,mt7621-pcie: Switch from deprecated pci-bus.yaml
  dt-bindings: PCI: host-bridges: Switch from deprecated pci-bus.yaml
  dt-bindings: PCI: mediatek,mt7621: Add missing child node reg
  dt-bindings: PCI: cdns,cdns-pcie-host: Drop redundant msi-parent and pci-bus.yaml
  dt-bindings: PCI: ti,am65: Fix remaining binding warnings
  dt-bindings: PCI: ti,j721e-pci-host: Add support for J722S SoC
  dt-bindings: PCI: rcar-pci-host: Add missing IOMMU properties
  dt-bindings: PCI: ti,j721e-pci-host: Add device-id for TI's J784S4 SoC
  • Loading branch information
bjorn-helgaas committed May 16, 2024
2 parents 12ff1ef + 52d0663 commit 14680b2
Show file tree
Hide file tree
Showing 32 changed files with 333 additions and 110 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ description:
Amlogic Meson PCIe host controller is based on the Synopsys DesignWare PCI core.

allOf:
- $ref: /schemas/pci/pci-bus.yaml#
- $ref: /schemas/pci/pci-host-bridge.yaml#
- $ref: /schemas/pci/snps,dw-pcie-common.yaml#

# We need a select here so we don't match all nodes with 'snps,dw-pcie'
Expand Down
2 changes: 1 addition & 1 deletion Documentation/devicetree/bindings/pci/apple,pcie.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ required:
unevaluatedProperties: false

allOf:
- $ref: /schemas/pci/pci-bus.yaml#
- $ref: /schemas/pci/pci-host-bridge.yaml#
- $ref: /schemas/interrupt-controller/msi-controller.yaml#
- if:
properties:
Expand Down
2 changes: 1 addition & 1 deletion Documentation/devicetree/bindings/pci/brcm,iproc-pcie.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ maintainers:
- Scott Branden <[email protected]>

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

properties:
compatible:
Expand Down
2 changes: 1 addition & 1 deletion Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ required:
- msi-controller

allOf:
- $ref: /schemas/pci/pci-bus.yaml#
- $ref: /schemas/pci/pci-host-bridge.yaml#
- $ref: /schemas/interrupt-controller/msi-controller.yaml#
- if:
properties:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ maintainers:
- Tom Joseph <[email protected]>

allOf:
- $ref: /schemas/pci/pci-bus.yaml#
- $ref: cdns-pcie-host.yaml#

properties:
Expand All @@ -25,8 +24,6 @@ properties:
- const: reg
- const: cfg

msi-parent: true

required:
- reg
- reg-names
Expand Down
2 changes: 1 addition & 1 deletion Documentation/devicetree/bindings/pci/cdns-pcie-host.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ maintainers:
- Tom Joseph <[email protected]>

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

properties:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ description: |
<0x6000 0 0 4 &pci_intc 2>;
allOf:
- $ref: /schemas/pci/pci-bus.yaml#
- $ref: /schemas/pci/pci-host-bridge.yaml#

properties:
compatible:
Expand Down
102 changes: 102 additions & 0 deletions Documentation/devicetree/bindings/pci/fsl,layerscape-pcie-ep.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/pci/fsl,layerscape-pcie-ep.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Freescale Layerscape PCIe Endpoint(EP) controller

maintainers:
- Frank Li <[email protected]>

description:
This PCIe EP controller is based on the Synopsys DesignWare PCIe IP.

This controller derives its clocks from the Reset Configuration Word (RCW)
which is used to describe the PLL settings at the time of chip-reset.

Also as per the available Reference Manuals, there is no specific 'version'
register available in the Freescale PCIe controller register set,
which can allow determining the underlying DesignWare PCIe controller version
information.

properties:
compatible:
enum:
- fsl,ls2088a-pcie-ep
- fsl,ls1088a-pcie-ep
- fsl,ls1046a-pcie-ep
- fsl,ls1028a-pcie-ep
- fsl,lx2160ar2-pcie-ep

reg:
maxItems: 2

reg-names:
items:
- const: regs
- const: addr_space

fsl,pcie-scfg:
$ref: /schemas/types.yaml#/definitions/phandle
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
SCFG PEXN registers.

big-endian:
$ref: /schemas/types.yaml#/definitions/flag
description: If the PEX_LUT and PF register block is in big-endian, specify
this property.

dma-coherent: true

interrupts:
minItems: 1
maxItems: 2

interrupt-names:
minItems: 1
maxItems: 2

required:
- compatible
- reg
- reg-names

allOf:
- if:
properties:
compatible:
enum:
- fsl,ls1028a-pcie-ep
- fsl,ls1046a-pcie-ep
- fsl,ls1088a-pcie-ep
then:
properties:
interrupt-names:
items:
- const: pme

unevaluatedProperties: false

examples:
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
soc {
#address-cells = <2>;
#size-cells = <2>;
pcie_ep1: pcie-ep@3400000 {
compatible = "fsl,ls1028a-pcie-ep";
reg = <0x00 0x03400000 0x0 0x00100000
0x80 0x00000000 0x8 0x00000000>;
reg-names = "regs", "addr_space";
interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; /* PME interrupt */
interrupt-names = "pme";
num-ib-windows = <6>;
num-ob-windows = <8>;
status = "disabled";
};
};
...
167 changes: 167 additions & 0 deletions Documentation/devicetree/bindings/pci/fsl,layerscape-pcie.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/pci/fsl,layerscape-pcie.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Freescale Layerscape PCIe Root Complex(RC) controller

maintainers:
- Frank Li <[email protected]>

description:
This PCIe RC controller is based on the Synopsys DesignWare PCIe IP

This controller derives its clocks from the Reset Configuration Word (RCW)
which is used to describe the PLL settings at the time of chip-reset.

Also as per the available Reference Manuals, there is no specific 'version'
register available in the Freescale PCIe controller register set,
which can allow determining the underlying DesignWare PCIe controller version
information.

properties:
compatible:
enum:
- fsl,ls1021a-pcie
- fsl,ls2080a-pcie
- fsl,ls2085a-pcie
- fsl,ls2088a-pcie
- fsl,ls1088a-pcie
- fsl,ls1046a-pcie
- fsl,ls1043a-pcie
- fsl,ls1012a-pcie
- fsl,ls1028a-pcie
- fsl,lx2160a-pcie

reg:
maxItems: 2

reg-names:
items:
- const: regs
- const: config

fsl,pcie-scfg:
$ref: /schemas/types.yaml#/definitions/phandle
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
SCFG PEXN registers.

big-endian:
$ref: /schemas/types.yaml#/definitions/flag
description: If the PEX_LUT and PF register block is in big-endian, specify
this property.

dma-coherent: true

msi-parent: true

iommu-map: true

interrupts:
minItems: 1
maxItems: 2

interrupt-names:
minItems: 1
maxItems: 2

required:
- compatible
- reg
- reg-names
- "#address-cells"
- "#size-cells"
- device_type
- bus-range
- ranges
- interrupts
- interrupt-names
- "#interrupt-cells"
- interrupt-map-mask
- interrupt-map

allOf:
- $ref: /schemas/pci/pci-bus.yaml#

- if:
properties:
compatible:
enum:
- fsl,ls1028a-pcie
- fsl,ls1046a-pcie
- fsl,ls1043a-pcie
- fsl,ls1012a-pcie
then:
properties:
interrupts:
maxItems: 2
interrupt-names:
items:
- const: pme
- const: aer

- if:
properties:
compatible:
enum:
- fsl,ls2080a-pcie
- fsl,ls2085a-pcie
- fsl,ls2088a-pcie
then:
properties:
interrupts:
maxItems: 1
interrupt-names:
items:
- const: intr

- if:
properties:
compatible:
enum:
- fsl,ls1088a-pcie
then:
properties:
interrupts:
maxItems: 1
interrupt-names:
items:
- const: aer

unevaluatedProperties: false

examples:
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
soc {
#address-cells = <2>;
#size-cells = <2>;
pcie@3400000 {
compatible = "fsl,ls1088a-pcie";
reg = <0x00 0x03400000 0x0 0x00100000>, /* controller registers */
<0x20 0x00000000 0x0 0x00002000>; /* configuration space */
reg-names = "regs", "config";
interrupts = <0 108 IRQ_TYPE_LEVEL_HIGH>; /* aer interrupt */
interrupt-names = "aer";
#address-cells = <3>;
#size-cells = <2>;
dma-coherent;
device_type = "pci";
bus-range = <0x0 0xff>;
ranges = <0x81000000 0x0 0x00000000 0x20 0x00010000 0x0 0x00010000 /* downstream I/O */
0x82000000 0x0 0x40000000 0x20 0x40000000 0x0 0x40000000>; /* non-prefetchable memory */
msi-parent = <&its>;
#interrupt-cells = <1>;
interrupt-map-mask = <0 0 0 7>;
interrupt-map = <0000 0 0 1 &gic 0 0 0 109 IRQ_TYPE_LEVEL_HIGH>,
<0000 0 0 2 &gic 0 0 0 110 IRQ_TYPE_LEVEL_HIGH>,
<0000 0 0 3 &gic 0 0 0 111 IRQ_TYPE_LEVEL_HIGH>,
<0000 0 0 4 &gic 0 0 0 112 IRQ_TYPE_LEVEL_HIGH>;
iommu-map = <0 &smmu 0 1>; /* Fixed-up by bootloader */
};
};
...
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ required:
- ranges

allOf:
- $ref: /schemas/pci/pci-bus.yaml#
- $ref: /schemas/pci/pci-host-bridge.yaml#
- if:
properties:
compatible:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ maintainers:
description: PCI host controller found in the Intel IXP4xx SoC series.

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

properties:
compatible:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ maintainers:
- Srikanth Thokala <[email protected]>

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

properties:
compatible:
Expand Down
Loading

0 comments on commit 14680b2

Please sign in to comment.