Skip to content

Commit e329b76

Browse files
ConchuODbjorn-helgaas
authored andcommitted
dt-bindings: PCI: microchip,pcie-host: Add reg for Root Port 2
The PCI host controller on PolarFire SoC has multiple Root Port instances, each with their own bridge and ctrl address spaces. The original binding has an "apb" register region, and it is expected to be set to the base address of the Root Complex register space. Some defines in the Linux driver were used to compute the addresses of the bridge and ctrl address ranges corresponding to Root Port instance 1. Some customers want to use Root Port instance 2 however, which requires changing the defines in the driver, which is clearly not a portable solution. Remove this "apb" register region from the binding and add "bridge" & "ctrl" regions instead, that will directly communicate the address of these regions for a specific Root Port. Fixes: 6ee6c89 ("dt-bindings: PCI: microchip: Add Microchip PolarFire host binding") Link: https://lore.kernel.org/r/20241107-barcode-whinny-b1a4e8834b4f@spud Signed-off-by: Conor Dooley <conor.dooley@microchip.com> [bhelgaas: Capitalize PCIe spec terms] Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Acked-by: Daire McNamara <daire.mcnamara@microchip.com>
1 parent 9852d85 commit e329b76

File tree

3 files changed

+26
-6
lines changed

3 files changed

+26
-6
lines changed

Documentation/devicetree/bindings/pci/microchip,pcie-host.yaml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,12 @@ properties:
1717
compatible:
1818
const: microchip,pcie-host-1.0 # PolarFire
1919

20+
reg:
21+
minItems: 3
22+
23+
reg-names:
24+
minItems: 3
25+
2026
clocks:
2127
description:
2228
Fabric Interface Controllers, FICs, are the interface between the FPGA
@@ -62,8 +68,9 @@ examples:
6268
pcie0: pcie@2030000000 {
6369
compatible = "microchip,pcie-host-1.0";
6470
reg = <0x0 0x70000000 0x0 0x08000000>,
65-
<0x0 0x43000000 0x0 0x00010000>;
66-
reg-names = "cfg", "apb";
71+
<0x0 0x43008000 0x0 0x00002000>,
72+
<0x0 0x4300a000 0x0 0x00002000>;
73+
reg-names = "cfg", "bridge", "ctrl";
6774
device_type = "pci";
6875
#address-cells = <3>;
6976
#size-cells = <2>;

Documentation/devicetree/bindings/pci/plda,xpressrich3-axi-common.yaml

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,18 @@ allOf:
1818

1919
properties:
2020
reg:
21-
maxItems: 2
21+
maxItems: 3
22+
minItems: 2
2223

2324
reg-names:
24-
items:
25-
- const: cfg
26-
- const: apb
25+
oneOf:
26+
- items:
27+
- const: cfg
28+
- const: apb
29+
- items:
30+
- const: cfg
31+
- const: bridge
32+
- const: ctrl
2733

2834
interrupts:
2935
minItems: 1

Documentation/devicetree/bindings/pci/starfive,jh7110-pcie.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,13 @@ properties:
1616
compatible:
1717
const: starfive,jh7110-pcie
1818

19+
20+
reg:
21+
maxItems: 2
22+
23+
reg-names:
24+
maxItems: 2
25+
1926
clocks:
2027
items:
2128
- description: NOC bus clock

0 commit comments

Comments
 (0)