mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
Add Device Tree binding documentation for the ESWIN PCIe Root Complex. The Root Complex is based on Synopsys Designware PCIe IP. Signed-off-by: Yu Ning <ningyu@eswincomputing.com> Signed-off-by: Yanghui Ou <ouyanghui@eswincomputing.com> Signed-off-by: Senchuan Zhang <zhangsenchuan@eswincomputing.com> [mani: Renamed 'EIC7700' to 'ESWIN'] Signed-off-by: Manivannan Sadhasivam <mani@kernel.org> [bhelgaas: add driver tag in subject] Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Link: https://patch.msgid.link/20260227111732.1979-1-zhangsenchuan@eswincomputing.com
167 lines
3.7 KiB
YAML
167 lines
3.7 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/pci/eswin,pcie.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: ESWIN PCIe Root Complex
|
|
|
|
maintainers:
|
|
- Yu Ning <ningyu@eswincomputing.com>
|
|
- Senchuan Zhang <zhangsenchuan@eswincomputing.com>
|
|
- Yanghui Ou <ouyanghui@eswincomputing.com>
|
|
|
|
description:
|
|
ESWIN SoCs PCIe Root Complex is based on the Synopsys DesignWare PCIe IP.
|
|
|
|
properties:
|
|
compatible:
|
|
const: eswin,eic7700-pcie
|
|
|
|
reg:
|
|
maxItems: 3
|
|
|
|
reg-names:
|
|
items:
|
|
- const: dbi
|
|
- const: config
|
|
- const: elbi
|
|
|
|
ranges:
|
|
maxItems: 3
|
|
|
|
'#interrupt-cells':
|
|
const: 1
|
|
|
|
interrupt-names:
|
|
items:
|
|
- const: msi
|
|
- const: inta
|
|
- const: intb
|
|
- const: intc
|
|
- const: intd
|
|
|
|
interrupt-map:
|
|
maxItems: 4
|
|
|
|
interrupt-map-mask:
|
|
items:
|
|
- const: 0
|
|
- const: 0
|
|
- const: 0
|
|
- const: 7
|
|
|
|
clocks:
|
|
maxItems: 4
|
|
|
|
clock-names:
|
|
items:
|
|
- const: mstr
|
|
- const: dbi
|
|
- const: phy_reg
|
|
- const: aux
|
|
|
|
resets:
|
|
maxItems: 2
|
|
|
|
reset-names:
|
|
items:
|
|
- const: dbi
|
|
- const: pwr
|
|
|
|
patternProperties:
|
|
"^pcie@":
|
|
type: object
|
|
$ref: /schemas/pci/pci-pci-bridge.yaml#
|
|
|
|
properties:
|
|
reg:
|
|
maxItems: 1
|
|
|
|
num-lanes:
|
|
maximum: 4
|
|
|
|
resets:
|
|
maxItems: 1
|
|
|
|
reset-names:
|
|
items:
|
|
- const: perst
|
|
|
|
required:
|
|
- reg
|
|
- ranges
|
|
- num-lanes
|
|
- resets
|
|
- reset-names
|
|
|
|
unevaluatedProperties: false
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- ranges
|
|
- interrupts
|
|
- interrupt-names
|
|
- interrupt-map-mask
|
|
- interrupt-map
|
|
- '#interrupt-cells'
|
|
- clocks
|
|
- clock-names
|
|
- resets
|
|
- reset-names
|
|
|
|
allOf:
|
|
- $ref: /schemas/pci/snps,dw-pcie.yaml#
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
soc {
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
|
|
pcie@54000000 {
|
|
compatible = "eswin,eic7700-pcie";
|
|
reg = <0x0 0x54000000 0x0 0x4000000>,
|
|
<0x0 0x40000000 0x0 0x800000>,
|
|
<0x0 0x50000000 0x0 0x100000>;
|
|
reg-names = "dbi", "config", "elbi";
|
|
#address-cells = <3>;
|
|
#size-cells = <2>;
|
|
#interrupt-cells = <1>;
|
|
ranges = <0x01000000 0x0 0x40800000 0x0 0x40800000 0x0 0x800000>,
|
|
<0x02000000 0x0 0x41000000 0x0 0x41000000 0x0 0xf000000>,
|
|
<0x43000000 0x80 0x00000000 0x80 0x00000000 0x2 0x00000000>;
|
|
bus-range = <0x00 0xff>;
|
|
clocks = <&clock 144>,
|
|
<&clock 145>,
|
|
<&clock 146>,
|
|
<&clock 147>;
|
|
clock-names = "mstr", "dbi", "phy_reg", "aux";
|
|
resets = <&reset 97>,
|
|
<&reset 98>;
|
|
reset-names = "dbi", "pwr";
|
|
interrupts = <220>, <179>, <180>, <181>, <182>, <183>, <184>, <185>, <186>;
|
|
interrupt-names = "msi", "inta", "intb", "intc", "intd";
|
|
interrupt-parent = <&plic>;
|
|
interrupt-map-mask = <0x0 0x0 0x0 0x7>;
|
|
interrupt-map = <0x0 0x0 0x0 0x1 &plic 179>,
|
|
<0x0 0x0 0x0 0x2 &plic 180>,
|
|
<0x0 0x0 0x0 0x3 &plic 181>,
|
|
<0x0 0x0 0x0 0x4 &plic 182>;
|
|
device_type = "pci";
|
|
pcie@0 {
|
|
reg = <0x0 0x0 0x0 0x0 0x0>;
|
|
#address-cells = <3>;
|
|
#size-cells = <2>;
|
|
ranges;
|
|
device_type = "pci";
|
|
num-lanes = <4>;
|
|
resets = <&reset 99>;
|
|
reset-names = "perst";
|
|
};
|
|
};
|
|
};
|