Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
138 changes: 138 additions & 0 deletions Documentation/devicetree/bindings/pci/eswin,eic7700-pcie.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/pci/eswin,eic7700-pcie.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Eswin EIC7700 PCIe host controller

maintainers:
- Yu Ning <ningyu@eswincomputing.com>
- Senchuan Zhang <zhangsenchuan@eswincomputing.com>

description:
The PCIe controller on EIC7700 SoC.

allOf:
- $ref: /schemas/pci/pci-host-bridge.yaml#

properties:
compatible:
const: eswin,eic7700-pcie

reg:
maxItems: 3

reg-names:
items:
- const: dbi
- const: config
- const: mgmt

'#interrupt-cells':
const: 1

interrupts:
minItems: 9
maxItems: 9

interrupt-names:
items:
- const: msi
- const: inta
- const: intb
- const: intc
- const: intd

interrupt-controller:
type: object

interrupt-map:
maxItems: 4

interrupt-map-mask:
items:
- const: 0
- const: 0
- const: 0
- const: 7

clocks:
maxItems: 4

clock-names:
items:
- const: aclk
- const: cfg
- const: cr
- const: aux

resets:
minItems: 1
maxItems: 3

reset-names:
items:
- const: cfg
- const: powerup
- const: pwren

required:
- compatible
- reg
- reg-names
- interrupts
- interrupt-names
- interrupt-map-mask
- interrupt-map
- '#interrupt-cells'
- clocks
- clock-names
- resets
- reset-names

unevaluatedProperties: false

examples:
- |
soc {
#address-cells = <2>;
#size-cells = <2>;

pcie: pcie@54000000 {
compatible = "eswin,eic7700-pcie";
reg = <0x0 0x54000000 0x0 0x4000000>,
<0x0 0x40000000 0x0 0x800000>,
<0x0 0x50000000 0x0 0x100000>;
reg-names = "dbi", "config", "mgmt";
ranges = <0x81000000 0x0 0x40800000 0x0 0x40800000 0x0 0x800000>,
<0x82000000 0x0 0x41000000 0x0 0x41000000 0x0 0xf000000>,
<0xc3000000 0x80 0x00000000 0x80 0x00000000 0x2 0x00000000>;

bus-range = <0x0 0xff>;
device_type = "pci";
num-lanes = <0x4>;

clocks = <&clock 562>,
<&clock 563>,
<&clock 564>,
<&clock 565>;
clock-names = "aclk", "cfg", "cr", "aux";
reset-names = "cfg", "powerup", "pwren";
resets = <&reset 8 (1 << 0)>,
<&reset 8 (1 << 1)>,
<&reset 8 (1 << 2)>;

#address-cells = <3>;
#size-cells = <2>;
#interrupt-cells = <1>;
interrupts = <220>, <179>, <180>, <181>, <182>;
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>;
};
};
12 changes: 12 additions & 0 deletions drivers/pci/controller/dwc/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -480,4 +480,16 @@ config PCIE_VISCONTI_HOST
Say Y here if you want PCIe controller support on Toshiba Visconti SoC.
This driver supports TMPV7708 SoC.

config PCIE_EIC7700
tristate "ESWIN PCIe host controller"
depends on PCI_MSI
depends on ARCH_ESWIN || COMPILE_TEST
select PCIE_DW_HOST
help
Enables support for the PCIe controller in the Eswin SoC
The PCI controller on Eswin is based on DesignWare hardware
It is a high-speed hardware bus standard used to connect
processors with external devices. Say Y here if you want
PCIe controller support for the ESWIN.

endmenu
1 change: 1 addition & 0 deletions drivers/pci/controller/dwc/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ obj-$(CONFIG_PCIE_UNIPHIER) += pcie-uniphier.o
obj-$(CONFIG_PCIE_UNIPHIER_EP) += pcie-uniphier-ep.o
obj-$(CONFIG_PCIE_VISCONTI_HOST) += pcie-visconti.o
obj-$(CONFIG_PCIE_RCAR_GEN4) += pcie-rcar-gen4.o
obj-$(CONFIG_PCIE_EIC7700) += pcie-eic7700.o

# The following drivers are for devices that use the generic ACPI
# pci_root.c driver but don't support standard ECAM config access.
Expand Down
Loading