Skip to content

Commit 3f386cb

Browse files
committed
Merge tag 'pci-v6.11-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci
Pull pci updates from Bjorn Helgaas: "Enumeration: - Define PCIE_RESET_CONFIG_DEVICE_WAIT_MS for the generic 100ms required after reset before config access (Kevin Xie) - Define PCIE_T_RRS_READY_MS for the generic 100ms required after reset before config access (probably should be unified with PCIE_RESET_CONFIG_DEVICE_WAIT_MS) (Damien Le Moal) Resource management: - Rename find_resource() to find_resource_space() to be more descriptive (Ilpo Järvinen) - Export find_resource_space() for use by PCI core, which needs to learn whether there is available space for a bridge window (Ilpo Järvinen) - Prevent double counting of resources so window size doesn't grow on each remove/rescan cycle (Ilpo Järvinen) - Relax bridge window sizing algorithm so a device doesn't break simply because it was removed and rescanned (Ilpo Järvinen) - Evaluate the ACPI PRESERVE_BOOT_CONFIG _DSM in pci_register_host_bridge() (not acpi_pci_root_create()) so we can unify it with similar DT functionality (Vidya Sagar) - Extend use of DT "linux,pci-probe-only" property so it works per-host bridge as well as globally (Vidya Sagar) - Unify support for ACPI PRESERVE_BOOT_CONFIG _DSM and the DT "linux,pci-probe-only" property in pci_preserve_config() (Vidya Sagar) Driver binding: - Add devres infrastructure for managed request and map of partial BAR resources (Philipp Stanner) - Deprecate pcim_iomap_table() because uses like "pcim_iomap_table()[0]" have no good way to return errors (Philipp Stanner) - Add an always-managed pcim_request_region() for use instead of pci_request_region() and similar, which are sometimes managed depending on whether pcim_enable_device() has been called previously (Philipp Stanner) - Reimplement pcim_set_mwi() so it doesn't need to keep store MWI state (Philipp Stanner) - Add pcim_intx() for use instead of pci_intx(), which is sometimes managed depending on whether pcim_enable_device() has been called previously (Philipp Stanner) - Add managed pcim_iomap_range() to allow mapping of a partial BAR (Philipp Stanner) - Fix a devres mapping leak in drm/vboxvideo (Philipp Stanner) Error handling: - Add missing bridge locking in device reset path and add a warning for other possible lock issues (Dan Williams) - Fix use-after-free on concurrent DPC and hot-removal (Lukas Wunner) Power management: - Disable AER and DPC during suspend to avoid spurious wakeups if they share an interrupt with PME (Kai-Heng Feng) PCIe native device hotplug: - Detect if a device was removed or replaced during system sleep so we don't assume a new device is the one that used to be there (Lukas Wunner) Virtualization: - Add an ACS quirk for Broadcom BCM5760X multi-function NIC; it prevents transactions between functions even though it doesn't advertise ACS, so the functions can be attached individually via VFIO (Ajit Khaparde) Peer-to-peer DMA: - Add a "pci=config_acs=" kernel command-line parameter to relax default ACS settings to enable additional peer-to-peer configurations. Requires expert knowledge of topology and ACS operation (Vidya Sagar) Endpoint framework: - Remove unused struct pci_epf_group.type_group (Christophe JAILLET) - Fix error handling in vpci_scan_bus() and epf_ntb_epc_cleanup() (Dan Carpenter) - Make struct pci_epc_class constant (Greg Kroah-Hartman) - Remove unused pci_endpoint_test_bar_{readl,writel} functions (Jiapeng Chong) - Rename "BME" to "Bus Master Enable" (Manivannan Sadhasivam) - Rename struct pci_epc_event_ops.core_init() callback to epc_init() (Manivannan Sadhasivam) - Move DMA init to MHI .epc_init() callback for uniformity (Manivannan Sadhasivam) - Cancel EPF test delayed work when link goes down (Manivannan Sadhasivam) - Add struct pci_epc_event_ops.epc_deinit() callback for cleanup needed on fundamental reset (Manivannan Sadhasivam) - Add 64KB alignment to endpoint test to support Rockchip rk3588 (Niklas Cassel) - Optimize endpoint test by using memcpy() instead of readl() (Niklas Cassel) Device tree bindings: - Add generic "ats-supported" property to advertise that a PCIe Root Complex supports ATS (Jean-Philippe Brucker) Amazon Annapurna Labs PCIe controller driver: - Validate IORESOURCE_BUS presence to avoid NULL pointer dereference (Aleksandr Mishin) Axis ARTPEC-6 PCIe controller driver: - Rename .cpu_addr_fixup() parameter to reflect that it is a PCI address, not a CPU address (Niklas Cassel) Freescale i.MX6 PCIe controller driver: - Convert to agnostic GPIO API (Andy Shevchenko) Freescale Layerscape PCIe controller driver: - Make struct mobiveil_rp_ops constant (Christophe JAILLET) - Use new generic dw_pcie_ep_linkdown() to handle link-down events (Manivannan Sadhasivam) HiSilicon Kirin PCIe controller driver: - Convert to agnostic GPIO API (Andy Shevchenko) - Use _scoped() iterator for OF children to ensure refcounts are decremented at loop exit (Javier Carrasco) Intel VMD host bridge driver: - Create sysfs "domain" symlink before downstream devices are exposed to userspace by pci_bus_add_devices() (Jiwei Sun) Loongson PCIe controller driver: - Enable MSI when LS7A is used with new CPUs that have integrated PCIe Root Complex, e.g., Loongson-3C6000, so downstream devices can use MSI (Huacai Chen) Microchip AXI PolarFlare PCIe controller driver: - Move pcie-microchip-host.c to a new PLDA directory (Minda Chen) - Factor PLDA generic items out to a common plda,xpressrich3-axi-common.yaml binding (Minda Chen) - Factor PLDA generic data structures and code out to shared pcie-plda.h, pcie-plda-host.c (Minda Chen) - Add PLDA generic interrupt handling with a .request_event_irq() callback for vendor-specific events (Minda Chen) - Add PLDA generic host init/deinit and map bus functions for use by vendor-specific drivers (Minda Chen) - Rework to use PLDA core (Minda Chen) Microsoft Hyper-V host bridge driver: - Return zero, not garbage, when reading PCI_INTERRUPT_PIN (Wei Liu) NVIDIA Tegra194 PCIe controller driver: - Remove unused struct tegra_pcie_soc (Dr. David Alan Gilbert) - Set 64KB inbound ATU alignment restriction (Jon Hunter) Qualcomm PCIe controller driver: - Make the MHI reg region mandatory for X1E80100, since all PCIe controllers have it (Abel Vesa) - Prevent use of uninitialized data and possible error pointer dereference (Dan Carpenter) - Return error, not success, if dev_pm_opp_find_freq_floor() fails (Dan Carpenter) - Add Operating Performance Points (OPP) support to scale performance state based on aggregate link bandwidth to improve SoC power efficiency (Krishna chaitanya chundru) - Vote for the CPU-PCIe ICC (interconnect) path to ensure it stays active even if other drivers don't vote for it (Krishna chaitanya chundru) - Use devm_clk_bulk_get_all() to get all the clocks from DT to avoid writing out all the clock names (Manivannan Sadhasivam) - Add DT binding and driver support for the SA8775P SoC (Mrinmay Sarkar) - Add HDMA support for the SA8775P SoC (Mrinmay Sarkar) - Override the SA8775P NO_SNOOP default to avoid possible memory corruption (Mrinmay Sarkar) - Make sure resources are disabled during PERST# assertion, even if the link is already disabled (Manivannan Sadhasivam) - Use new generic dw_pcie_ep_linkdown() to handle link-down events (Manivannan Sadhasivam) - Add DT and endpoint driver support for the SA8775P SoC (Mrinmay Sarkar) - Add Hyper DMA (HDMA) support for the SA8775P SoC and enable it in the EPF MHI driver (Mrinmay Sarkar) - Set PCIE_PARF_NO_SNOOP_OVERIDE to override the default NO_SNOOP attribute on the SA8775P SoC (both Root Complex and Endpoint mode) to avoid possible memory corruption (Mrinmay Sarkar) Renesas R-Car PCIe controller driver: - Demote WARN() to dev_warn_ratelimited() in rcar_pcie_wakeup() to avoid unnecessary backtrace (Marek Vasut) - Add DT and driver support for R-Car V4H (R8A779G0) host and endpoint. This requires separate proprietary firmware (Yoshihiro Shimoda) Rockchip PCIe controller driver: - Assert PERST# for 100ms after power is stable (Damien Le Moal) - Wait PCIE_T_RRS_READY_MS (100ms) after reset before starting configuration (Damien Le Moal) - Use GPIOD_OUT_LOW flag while requesting ep_gpio to fix a firmware crash on Qcom-based modems with Rockpro64 board (Manivannan Sadhasivam) Rockchip DesignWare PCIe controller driver: - Factor common parts of rockchip-dw-pcie DT binding to be shared by Root Complex and Endpoint mode (Niklas Cassel) - Add missing INTx signals to common DT binding (Niklas Cassel) - Add eDMA items to DT binding for Endpoint controller (Niklas Cassel) - Fix initial dw-rockchip PERST# GPIO value to prevent unnecessary short assert/deassert that causes issues with some WLAN controllers (Niklas Cassel) - Refactor dw-rockchip and add support for Endpoint mode (Niklas Cassel) - Call pci_epc_init_notify() and drop dw_pcie_ep_init_notify() wrapper (Niklas Cassel) - Add error messages in .probe() error paths to improve user experience (Uwe Kleine-König) Samsung Exynos PCIe controller driver: - Use bulk clock APIs to simplify clock setup (Shradha Todi) StarFive PCIe controller driver: - Add DT binding and driver support for the StarFive JH7110 PLDA-based PCIe controller (Minda Chen) Synopsys DesignWare PCIe controller driver: - Add generic support for sending PME_Turn_Off when system suspends (Frank Li) - Fix incorrect interpretation of iATU slot 0 after PERST# assert/deassert (Frank Li) - Use msleep() instead of usleep_range() while waiting for link (Konrad Dybcio) - Refactor dw_pcie_edma_find_chip() to enable adding support for Hyper DMA (HDMA) (Manivannan Sadhasivam) - Enable drivers to supply the eDMA channel count since some can't auto detect this (Manivannan Sadhasivam) - Call pci_epc_init_notify() and drop dw_pcie_ep_init_notify() wrapper (Manivannan Sadhasivam) - Pass the eDMA mapping format directly from drivers instead of maintaining a capability for it (Manivannan Sadhasivam) - Add generic dw_pcie_ep_linkdown() to notify EPF drivers about link-down events and restore non-sticky DWC registers lost on link down (Manivannan Sadhasivam) - Add vendor-specific "apb" reg name, interrupt names, INTx names to generic binding (Niklas Cassel) - Enforce DWC restriction that 64-bit BARs must start with an even-numbered BAR (Niklas Cassel) - Consolidate args of dw_pcie_prog_outbound_atu() into a structure (Yoshihiro Shimoda) - Add support for endpoints to send Message TLPs, e.g., for INTx emulation (Yoshihiro Shimoda) TI DRA7xx PCIe controller driver: - Rename .cpu_addr_fixup() parameter to reflect that it is a PCI address, not a CPU address (Niklas Cassel) TI Keystone PCIe controller driver: - Validate IORESOURCE_BUS presence to avoid NULL pointer dereference (Aleksandr Mishin) - Work around AM65x/DRA80xM Errata #i2037 that corrupts TLPs and causes processor hangs by limiting Max_Read_Request_Size (MRRS) and Max_Payload_Size (MPS) (Kishon Vijay Abraham I) - Leave BAR 0 disabled for AM654x to fix a regression caused by 6ab15b5 ("PCI: dwc: keystone: Convert .scan_bus() callback to use add_bus"), which caused a 45-second boot delay (Siddharth Vadapalli) Xilinx Versal CPM PCIe controller driver: - Fix overlapping bridge registers and 32-bit BAR addresses in DT binding (Thippeswamy Havalige) MicroSemi Switchtec management driver: - Make struct switchtec_class constant (Greg Kroah-Hartman) Miscellaneous: - Remove unused struct acpi_handle_node (Dr. David Alan Gilbert) - Add missing MODULE_DESCRIPTION() macros (Jeff Johnson)" * tag 'pci-v6.11-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci: (154 commits) PCI: loongson: Enable MSI in LS7A Root Complex PCI: Extend ACS configurability PCI: Add missing bridge lock to pci_bus_lock() drm/vboxvideo: fix mapping leaks PCI: Add managed pcim_iomap_range() PCI: Remove legacy pcim_release() PCI: Add managed pcim_intx() PCI: vmd: Create domain symlink before pci_bus_add_devices() PCI: qcom: Prevent use of uninitialized data in qcom_pcie_suspend_noirq() PCI: qcom: Prevent potential error pointer dereference PCI: qcom: Fix missing error code in qcom_pcie_probe() PCI: Give pcim_set_mwi() its own devres cleanup callback PCI: Move struct pci_devres.pinned bit to struct pci_dev PCI: Remove struct pci_devres.enabled status bit PCI: Document hybrid devres hazards PCI: Add managed pcim_request_region() PCI: Deprecate pcim_iomap_table(), pcim_iomap_regions_request_all() PCI: Add managed partial-BAR request and map infrastructure PCI: Add devres helpers for iomap table PCI: Add and use devres helper for bit masks ...
2 parents 8e5c0ab + 4565927 commit 3f386cb

File tree

104 files changed

+5193
-1923
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

104 files changed

+5193
-1923
lines changed

Documentation/PCI/endpoint/pci-endpoint.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,8 +172,8 @@ by the PCI endpoint function driver.
172172
* bind: ops to perform when a EPC device has been bound to EPF device
173173
* unbind: ops to perform when a binding has been lost between a EPC
174174
device and EPF device
175-
* linkup: ops to perform when the EPC device has established a
176-
connection with a host system
175+
* add_cfs: optional ops to create function specific configfs
176+
attributes
177177

178178
The PCI Function driver can then register the PCI EPF driver by using
179179
pci_epf_register_driver().

Documentation/PCI/pciebus-howto.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ driver data structure.
139139

140140
static struct pcie_port_service_driver root_aerdrv = {
141141
.name = (char *)device_name,
142-
.id_table = &service_id[0],
142+
.id_table = service_id,
143143

144144
.probe = aerdrv_load,
145145
.remove = aerdrv_unload,

Documentation/admin-guide/kernel-parameters.txt

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4564,6 +4564,38 @@
45644564
bridges without forcing it upstream. Note:
45654565
this removes isolation between devices and
45664566
may put more devices in an IOMMU group.
4567+
config_acs=
4568+
Format:
4569+
<ACS flags>@<pci_dev>[; ...]
4570+
Specify one or more PCI devices (in the format
4571+
specified above) optionally prepended with flags
4572+
and separated by semicolons. The respective
4573+
capabilities will be enabled, disabled or
4574+
unchanged based on what is specified in
4575+
flags.
4576+
4577+
ACS Flags is defined as follows:
4578+
bit-0 : ACS Source Validation
4579+
bit-1 : ACS Translation Blocking
4580+
bit-2 : ACS P2P Request Redirect
4581+
bit-3 : ACS P2P Completion Redirect
4582+
bit-4 : ACS Upstream Forwarding
4583+
bit-5 : ACS P2P Egress Control
4584+
bit-6 : ACS Direct Translated P2P
4585+
Each bit can be marked as:
4586+
'0' – force disabled
4587+
'1' – force enabled
4588+
'x' – unchanged
4589+
For example,
4590+
pci=config_acs=10x
4591+
would configure all devices that support
4592+
ACS to enable P2P Request Redirect, disable
4593+
Translation Blocking, and leave Source
4594+
Validation unchanged from whatever power-up
4595+
or firmware set it to.
4596+
4597+
Note: this may remove isolation between devices
4598+
and may put more devices in an IOMMU group.
45674599
force_floating [S390] Force usage of floating interrupts.
45684600
nomio [S390] Do not use MIO instructions.
45694601
norid [S390] ignore the RID field and force use of

Documentation/devicetree/bindings/pci/mediatek,mt7621-pcie.yaml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,35 @@ description: |+
1313
MediaTek MT7621 PCIe subsys supports a single Root Complex (RC)
1414
with 3 Root Ports. Each Root Port supports a Gen1 1-lane Link
1515
16+
MT7621 PCIe HOST Topology
17+
18+
.-------.
19+
| |
20+
| CPU |
21+
| |
22+
'-------'
23+
|
24+
|
25+
|
26+
v
27+
.------------------.
28+
.-----------| HOST/PCI Bridge |------------.
29+
| '------------------' | Type1
30+
BUS0 | | | Access
31+
v v v On Bus0
32+
.-------------. .-------------. .-------------.
33+
| VIRTUAL P2P | | VIRTUAL P2P | | VIRTUAL P2P |
34+
| BUS0 | | BUS0 | | BUS0 |
35+
| DEV0 | | DEV1 | | DEV2 |
36+
'-------------' '-------------' '-------------'
37+
Type0 | Type0 | Type0 |
38+
Access BUS1 | Access BUS2| Access BUS3|
39+
On Bus1 v On Bus2 v On Bus3 v
40+
.----------. .----------. .----------.
41+
| Device 0 | | Device 0 | | Device 0 |
42+
| Func 0 | | Func 0 | | Func 0 |
43+
'----------' '----------' '----------'
44+
1645
allOf:
1746
- $ref: /schemas/pci/pci-host-bridge.yaml#
1847

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

Lines changed: 1 addition & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,13 @@ maintainers:
1010
- Daire McNamara <[email protected]>
1111

1212
allOf:
13-
- $ref: /schemas/pci/pci-host-bridge.yaml#
13+
- $ref: plda,xpressrich3-axi-common.yaml#
1414
- $ref: /schemas/interrupt-controller/msi-controller.yaml#
1515

1616
properties:
1717
compatible:
1818
const: microchip,pcie-host-1.0 # PolarFire
1919

20-
reg:
21-
maxItems: 2
22-
23-
reg-names:
24-
items:
25-
- const: cfg
26-
- const: apb
27-
2820
clocks:
2921
description:
3022
Fabric Interface Controllers, FICs, are the interface between the FPGA
@@ -52,18 +44,6 @@ properties:
5244
items:
5345
pattern: '^fic[0-3]$'
5446

55-
interrupts:
56-
minItems: 1
57-
items:
58-
- description: PCIe host controller
59-
- description: builtin MSI controller
60-
61-
interrupt-names:
62-
minItems: 1
63-
items:
64-
- const: pcie
65-
- const: msi
66-
6747
ranges:
6848
minItems: 1
6949
maxItems: 3
@@ -72,39 +52,6 @@ properties:
7252
minItems: 1
7353
maxItems: 6
7454

75-
msi-controller:
76-
description: Identifies the node as an MSI controller.
77-
78-
msi-parent:
79-
description: MSI controller the device is capable of using.
80-
81-
interrupt-controller:
82-
type: object
83-
properties:
84-
'#address-cells':
85-
const: 0
86-
87-
'#interrupt-cells':
88-
const: 1
89-
90-
interrupt-controller: true
91-
92-
required:
93-
- '#address-cells'
94-
- '#interrupt-cells'
95-
- interrupt-controller
96-
97-
additionalProperties: false
98-
99-
required:
100-
- reg
101-
- reg-names
102-
- "#interrupt-cells"
103-
- interrupts
104-
- interrupt-map-mask
105-
- interrupt-map
106-
- msi-controller
107-
10855
unevaluatedProperties: false
10956

11057
examples:
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/pci/plda,xpressrich3-axi-common.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: PLDA XpressRICH PCIe host common properties
8+
9+
maintainers:
10+
- Daire McNamara <[email protected]>
11+
- Kevin Xie <[email protected]>
12+
13+
description:
14+
Generic PLDA XpressRICH PCIe host common properties.
15+
16+
allOf:
17+
- $ref: /schemas/pci/pci-host-bridge.yaml#
18+
19+
properties:
20+
reg:
21+
maxItems: 2
22+
23+
reg-names:
24+
items:
25+
- const: cfg
26+
- const: apb
27+
28+
interrupts:
29+
minItems: 1
30+
items:
31+
- description: PCIe host controller
32+
- description: builtin MSI controller
33+
34+
interrupt-names:
35+
minItems: 1
36+
items:
37+
- const: pcie
38+
- const: msi
39+
40+
msi-controller:
41+
description: Identifies the node as an MSI controller.
42+
43+
msi-parent:
44+
description: MSI controller the device is capable of using.
45+
46+
interrupt-controller:
47+
type: object
48+
properties:
49+
'#address-cells':
50+
const: 0
51+
52+
'#interrupt-cells':
53+
const: 1
54+
55+
interrupt-controller: true
56+
57+
required:
58+
- '#address-cells'
59+
- '#interrupt-cells'
60+
- interrupt-controller
61+
62+
additionalProperties: false
63+
64+
required:
65+
- reg
66+
- reg-names
67+
- interrupts
68+
- msi-controller
69+
- "#interrupt-cells"
70+
- interrupt-map-mask
71+
- interrupt-map
72+
73+
additionalProperties: true
74+
75+
...

Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml

Lines changed: 62 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,36 +13,41 @@ properties:
1313
compatible:
1414
oneOf:
1515
- enum:
16+
- qcom,sa8775p-pcie-ep
1617
- qcom,sdx55-pcie-ep
1718
- qcom,sm8450-pcie-ep
1819
- items:
1920
- const: qcom,sdx65-pcie-ep
2021
- const: qcom,sdx55-pcie-ep
2122

2223
reg:
24+
minItems: 6
2325
items:
2426
- description: Qualcomm-specific PARF configuration registers
2527
- description: DesignWare PCIe registers
2628
- description: External local bus interface registers
2729
- description: Address Translation Unit (ATU) registers
2830
- description: Memory region used to map remote RC address space
2931
- description: BAR memory region
32+
- description: DMA register space
3033

3134
reg-names:
35+
minItems: 6
3236
items:
3337
- const: parf
3438
- const: dbi
3539
- const: elbi
3640
- const: atu
3741
- const: addr_space
3842
- const: mmio
43+
- const: dma
3944

4045
clocks:
41-
minItems: 7
46+
minItems: 5
4247
maxItems: 8
4348

4449
clock-names:
45-
minItems: 7
50+
minItems: 5
4651
maxItems: 8
4752

4853
qcom,perst-regs:
@@ -57,14 +62,18 @@ properties:
5762
- description: Perst separation enable offset
5863

5964
interrupts:
65+
minItems: 2
6066
items:
6167
- description: PCIe Global interrupt
6268
- description: PCIe Doorbell interrupt
69+
- description: DMA interrupt
6370

6471
interrupt-names:
72+
minItems: 2
6573
items:
6674
- const: global
6775
- const: doorbell
76+
- const: dma
6877

6978
reset-gpios:
7079
description: GPIO used as PERST# input signal
@@ -125,6 +134,10 @@ allOf:
125134
- qcom,sdx55-pcie-ep
126135
then:
127136
properties:
137+
reg:
138+
maxItems: 6
139+
reg-names:
140+
maxItems: 6
128141
clocks:
129142
items:
130143
- description: PCIe Auxiliary clock
@@ -143,6 +156,10 @@ allOf:
143156
- const: slave_q2a
144157
- const: sleep
145158
- const: ref
159+
interrupts:
160+
maxItems: 2
161+
interrupt-names:
162+
maxItems: 2
146163

147164
- if:
148165
properties:
@@ -152,6 +169,10 @@ allOf:
152169
- qcom,sm8450-pcie-ep
153170
then:
154171
properties:
172+
reg:
173+
maxItems: 6
174+
reg-names:
175+
maxItems: 6
155176
clocks:
156177
items:
157178
- description: PCIe Auxiliary clock
@@ -172,6 +193,45 @@ allOf:
172193
- const: ref
173194
- const: ddrss_sf_tbu
174195
- const: aggre_noc_axi
196+
interrupts:
197+
maxItems: 2
198+
interrupt-names:
199+
maxItems: 2
200+
201+
- if:
202+
properties:
203+
compatible:
204+
contains:
205+
enum:
206+
- qcom,sa8775p-pcie-ep
207+
then:
208+
properties:
209+
reg:
210+
minItems: 7
211+
maxItems: 7
212+
reg-names:
213+
minItems: 7
214+
maxItems: 7
215+
clocks:
216+
items:
217+
- description: PCIe Auxiliary clock
218+
- description: PCIe CFG AHB clock
219+
- description: PCIe Master AXI clock
220+
- description: PCIe Slave AXI clock
221+
- description: PCIe Slave Q2A AXI clock
222+
clock-names:
223+
items:
224+
- const: aux
225+
- const: cfg
226+
- const: bus_master
227+
- const: bus_slave
228+
- const: slave_q2a
229+
interrupts:
230+
minItems: 3
231+
maxItems: 3
232+
interrupt-names:
233+
minItems: 3
234+
maxItems: 3
175235

176236
unevaluatedProperties: false
177237

0 commit comments

Comments
 (0)