b408fad61d
The commitb92225b034
("dt-bindings: PCI: designware: Fix 'unevaluatedProperties' warnings") removed the clock-names property as a requirement and from the example as it triggered unevaluatedProperty warnings. dtbs_check was not able to pick up on this at the time, but now can: arch/riscv/boot/dts/sifive/hifive-unmatched-a00.dtb: pcie@e00000000: Unevaluated properties are not allowed ('clock-names' was unexpected) From schema: linux/Documentation/devicetree/bindings/pci/sifive,fu740-pcie.yaml The property was already in use by the FU740 DTS and the clock must be enabled. The Linux and FreeBSD drivers require the property to enable the clocks correctly Re-add the property and its "clocks" dependency, while making it required. Link: https://lore.kernel.org/r/20220819231415.3860210-2-mail@conchuod.ie Fixes:b92225b034
("dt-bindings: PCI: designware: Fix 'unevaluatedProperties' warnings") Fixes:43cea116be
("dt-bindings: PCI: Add SiFive FU740 PCIe host controller") Signed-off-by: Conor Dooley <conor.dooley@microchip.com> Signed-off-by: Lorenzo Pieralisi <lpieralisi@kernel.org> Reviewed-by: Rob Herring <robh@kernel.org>
121 lines
3.2 KiB
YAML
121 lines
3.2 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/pci/sifive,fu740-pcie.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: SiFive FU740 PCIe host controller
|
|
|
|
description: |+
|
|
SiFive FU740 PCIe host controller is based on the Synopsys DesignWare
|
|
PCI core. It shares common features with the PCIe DesignWare core and
|
|
inherits common properties defined in
|
|
Documentation/devicetree/bindings/pci/snps,dw-pcie.yaml.
|
|
|
|
maintainers:
|
|
- Paul Walmsley <paul.walmsley@sifive.com>
|
|
- Greentime Hu <greentime.hu@sifive.com>
|
|
|
|
allOf:
|
|
- $ref: /schemas/pci/snps,dw-pcie.yaml#
|
|
|
|
properties:
|
|
compatible:
|
|
const: sifive,fu740-pcie
|
|
|
|
reg:
|
|
maxItems: 3
|
|
|
|
reg-names:
|
|
items:
|
|
- const: dbi
|
|
- const: config
|
|
- const: mgmt
|
|
|
|
dma-coherent: true
|
|
|
|
num-lanes:
|
|
const: 8
|
|
|
|
msi-parent: true
|
|
|
|
interrupt-names:
|
|
items:
|
|
- const: msi
|
|
- const: inta
|
|
- const: intb
|
|
- const: intc
|
|
- const: intd
|
|
|
|
resets:
|
|
description: A phandle to the PCIe power up reset line.
|
|
maxItems: 1
|
|
|
|
clocks:
|
|
maxItems: 1
|
|
|
|
clock-names:
|
|
const: pcie_aux
|
|
|
|
pwren-gpios:
|
|
description: Should specify the GPIO for controlling the PCI bus device power on.
|
|
maxItems: 1
|
|
|
|
reset-gpios:
|
|
maxItems: 1
|
|
|
|
required:
|
|
- dma-coherent
|
|
- num-lanes
|
|
- interrupts
|
|
- interrupt-names
|
|
- interrupt-map-mask
|
|
- interrupt-map
|
|
- clocks
|
|
- clock-names
|
|
- resets
|
|
- pwren-gpios
|
|
- reset-gpios
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
bus {
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
#include <dt-bindings/clock/sifive-fu740-prci.h>
|
|
|
|
pcie@e00000000 {
|
|
compatible = "sifive,fu740-pcie";
|
|
#address-cells = <3>;
|
|
#size-cells = <2>;
|
|
#interrupt-cells = <1>;
|
|
reg = <0xe 0x00000000 0x0 0x80000000>,
|
|
<0xd 0xf0000000 0x0 0x10000000>,
|
|
<0x0 0x100d0000 0x0 0x1000>;
|
|
reg-names = "dbi", "config", "mgmt";
|
|
device_type = "pci";
|
|
dma-coherent;
|
|
bus-range = <0x0 0xff>;
|
|
ranges = <0x81000000 0x0 0x60080000 0x0 0x60080000 0x0 0x10000>, /* I/O */
|
|
<0x82000000 0x0 0x60090000 0x0 0x60090000 0x0 0xff70000>, /* mem */
|
|
<0x82000000 0x0 0x70000000 0x0 0x70000000 0x0 0x1000000>, /* mem */
|
|
<0xc3000000 0x20 0x00000000 0x20 0x00000000 0x20 0x00000000>; /* mem prefetchable */
|
|
num-lanes = <0x8>;
|
|
interrupts = <56>, <57>, <58>, <59>, <60>, <61>, <62>, <63>, <64>;
|
|
interrupt-names = "msi", "inta", "intb", "intc", "intd";
|
|
interrupt-parent = <&plic0>;
|
|
interrupt-map-mask = <0x0 0x0 0x0 0x7>;
|
|
interrupt-map = <0x0 0x0 0x0 0x1 &plic0 57>,
|
|
<0x0 0x0 0x0 0x2 &plic0 58>,
|
|
<0x0 0x0 0x0 0x3 &plic0 59>,
|
|
<0x0 0x0 0x0 0x4 &plic0 60>;
|
|
clock-names = "pcie_aux";
|
|
clocks = <&prci FU740_PRCI_CLK_PCIE_AUX>;
|
|
resets = <&prci 4>;
|
|
pwren-gpios = <&gpio 5 0>;
|
|
reset-gpios = <&gpio 8 0>;
|
|
};
|
|
};
|