mirror of
https://github.com/torvalds/linux.git
synced 2026-04-27 19:12:29 -04:00
With 'unevaluatedProperties' support implemented, there's a number of
warnings from the Designware PCIe based bindings:
Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.example.dt.yaml: pcie@1ffc000: Unevaluated properties are not allowed ('#address-cells', '#size-cells', 'device_type', 'bus-range', 'ranges', '#interrupt-cells', 'interrupt-map-mask', 'interrupt-map' were unexpected)
Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.example.dt.yaml: pcie@1ffc000: Unevaluated properties are not allowed ('clock-names' was unexpected)
Documentation/devicetree/bindings/pci/hisilicon,kirin-pcie.example.dt.yaml: pcie@f4000000: Unevaluated properties are not allowed ('bus-range', '#address-cells', '#size-cells', 'device_type', 'ranges', 'num-lanes', '#interrupt-cells', 'interrupts', 'interrupt-names', 'interrupt-map-mask', 'interrupt-map', 'clocks', 'clock-names' were unexpected)
Documentation/devicetree/bindings/pci/hisilicon,kirin-pcie.example.dt.yaml: pcie@f4000000: Unevaluated properties are not allowed ('clock-names' was unexpected)
Documentation/devicetree/bindings/pci/hisilicon,kirin-pcie.example.dt.yaml: pcie@f5000000: Unevaluated properties are not allowed ('bus-range', '#address-cells', '#size-cells', 'device_type', 'phys', 'ranges', 'num-lanes', '#interrupt-cells', 'interrupts', 'interrupt-names', 'interrupt-map-mask', 'interrupt-map', 'reset-gpios', 'pcie@0,0' were unexpected)
Documentation/devicetree/bindings/pci/hisilicon,kirin-pcie.example.dt.yaml: pcie@f5000000: Unevaluated properties are not allowed ('phys', 'hisilicon,clken-gpios' were unexpected)
Documentation/devicetree/bindings/pci/intel-gw-pcie.example.dt.yaml: pcie@d0e00000: Unevaluated properties are not allowed ('device_type', '#address-cells', '#size-cells', 'linux,pci-domain', 'bus-range', '#interrupt-cells', 'interrupt-map-mask', 'interrupt-map' were unexpected)
Documentation/devicetree/bindings/pci/intel-gw-pcie.example.dt.yaml: pcie@d0e00000: Unevaluated properties are not allowed ('resets', 'phys', 'phy-names', 'reset-assert-ms' were unexpected)
Documentation/devicetree/bindings/pci/rockchip-dw-pcie.example.dt.yaml: pcie@fe280000: Unevaluated properties are not allowed ('clock-names', 'msi-map', 'phys', 'phy-names', 'power-domains', 'resets', 'reset-names' were unexpected)
Documentation/devicetree/bindings/pci/samsung,exynos-pcie.example.dt.yaml: pcie@15700000: Unevaluated properties are not allowed ('#address-cells', '#size-cells', '#interrupt-cells', 'device_type', 'bus-range', 'ranges', 'interrupt-map-mask', 'interrupt-map' were unexpected)
Documentation/devicetree/bindings/pci/samsung,exynos-pcie.example.dt.yaml: pcie@15700000: Unevaluated properties are not allowed ('clock-names', 'phys', 'vdd10-supply', 'vdd18-supply' were unexpected)
Documentation/devicetree/bindings/pci/sifive,fu740-pcie.example.dt.yaml: pcie@e00000000: Unevaluated properties are not allowed ('#address-cells', '#size-cells', '#interrupt-cells', 'device_type', 'dma-coherent', 'bus-range', 'ranges', 'interrupts', 'interrupt-parent', 'interrupt-map-mask', 'interrupt-map', 'clock-names', 'clocks' were unexpected)
Documentation/devicetree/bindings/pci/sifive,fu740-pcie.example.dt.yaml: pcie@e00000000: Unevaluated properties are not allowed ('dma-coherent', 'clock-names', 'resets', 'pwren-gpios' were unexpected)
Documentation/devicetree/bindings/pci/socionext,uniphier-pcie-ep.example.dt.yaml: pcie-ep@66000000: Unevaluated properties are not allowed ('clock-names', 'clocks', 'reset-names', 'resets', 'phy-names', 'phys' were unexpected)
Documentation/devicetree/bindings/pci/toshiba,visconti-pcie.example.dt.yaml: pcie@28400000: Unevaluated properties are not allowed ('clock-names' was unexpected)
Documentation/devicetree/bindings/pci/toshiba,visconti-pcie.example.dt.yaml: pcie@28400000: Unevaluated properties are not allowed ('device_type', 'bus-range', 'num-viewport', '#address-cells', '#size-cells', '#interrupt-cells', 'ranges', 'interrupt-names', 'interrupt-map-mask', 'interrupt-map', 'max-link-speed' were unexpected)
The main problem is that snps,dw-pcie.yaml and snps,dw-pcie-ep.yaml
shouldn't set 'unevaluatedProperties: false'. Otherwise, bindings that
reference them cannot add additional properties. With that addressed,
there's a handful of other undocumented properties to add.
Cc: Xiaowei Song <songxiaowei@hisilicon.com>
Cc: Binghui Wang <wangbinghui@hisilicon.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Paul Walmsley <paul.walmsley@sifive.com>
Cc: Greentime Hu <greentime.hu@sifive.com>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: Jingoo Han <jingoohan1@gmail.com>
Cc: Gustavo Pimentel <gustavo.pimentel@synopsys.com>
Cc: linux-pci@vger.kernel.org
Cc: linux-riscv@lists.infradead.org
Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20211206194426.2470080-1-robh@kernel.org
103 lines
2.5 KiB
YAML
103 lines
2.5 KiB
YAML
# SPDX-License-Identifier: GPL-2.0
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/pci/snps,dw-pcie.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Synopsys DesignWare PCIe interface
|
|
|
|
maintainers:
|
|
- Jingoo Han <jingoohan1@gmail.com>
|
|
- Gustavo Pimentel <gustavo.pimentel@synopsys.com>
|
|
|
|
description: |
|
|
Synopsys DesignWare PCIe host controller
|
|
|
|
allOf:
|
|
- $ref: /schemas/pci/pci-bus.yaml#
|
|
|
|
properties:
|
|
compatible:
|
|
anyOf:
|
|
- {}
|
|
- const: snps,dw-pcie
|
|
|
|
reg:
|
|
description: |
|
|
It should contain Data Bus Interface (dbi) and config registers for all
|
|
versions.
|
|
For designware core version >= 4.80, it may contain ATU address space.
|
|
minItems: 2
|
|
maxItems: 5
|
|
|
|
reg-names:
|
|
minItems: 2
|
|
maxItems: 5
|
|
items:
|
|
enum: [ dbi, dbi2, config, atu, app, elbi, mgmt, ctrl, parf, cfg, link,
|
|
ulreg, smu, mpu, apb, phy ]
|
|
|
|
num-lanes:
|
|
description: |
|
|
number of lanes to use (this property should be specified unless
|
|
the link is brought already up in firmware)
|
|
maximum: 16
|
|
|
|
reset-gpio:
|
|
description: GPIO pin number of PERST# signal
|
|
maxItems: 1
|
|
deprecated: true
|
|
|
|
reset-gpios:
|
|
description: GPIO controlled connection to PERST# signal
|
|
maxItems: 1
|
|
|
|
interrupts: true
|
|
|
|
interrupt-names: true
|
|
|
|
clocks: true
|
|
|
|
snps,enable-cdm-check:
|
|
type: boolean
|
|
description: |
|
|
This is a boolean property and if present enables
|
|
automatic checking of CDM (Configuration Dependent Module) registers
|
|
for data corruption. CDM registers include standard PCIe configuration
|
|
space registers, Port Logic registers, DMA and iATU (internal Address
|
|
Translation Unit) registers.
|
|
|
|
num-viewport:
|
|
description: |
|
|
number of view ports configured in hardware. If a platform
|
|
does not specify it, the driver autodetects it.
|
|
deprecated: true
|
|
|
|
additionalProperties: true
|
|
|
|
required:
|
|
- reg
|
|
- reg-names
|
|
- compatible
|
|
|
|
examples:
|
|
- |
|
|
bus {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
pcie@dfc00000 {
|
|
device_type = "pci";
|
|
compatible = "snps,dw-pcie";
|
|
reg = <0xdfc00000 0x0001000>, /* IP registers */
|
|
<0xd0000000 0x0002000>; /* Configuration space */
|
|
reg-names = "dbi", "config";
|
|
#address-cells = <3>;
|
|
#size-cells = <2>;
|
|
ranges = <0x81000000 0 0x00000000 0xde000000 0 0x00010000>,
|
|
<0x82000000 0 0xd0400000 0xd0400000 0 0x0d000000>;
|
|
interrupts = <25>, <24>;
|
|
#interrupt-cells = <1>;
|
|
num-lanes = <1>;
|
|
};
|
|
};
|