162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/pci/socionext,uniphier-pcie.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Socionext UniPhier PCIe host controller 862306a36Sopenharmony_ci 962306a36Sopenharmony_cidescription: | 1062306a36Sopenharmony_ci UniPhier PCIe host controller is based on the Synopsys DesignWare 1162306a36Sopenharmony_ci PCI core. It shares common features with the PCIe DesignWare core and 1262306a36Sopenharmony_ci inherits common properties defined in 1362306a36Sopenharmony_ci Documentation/devicetree/bindings/pci/snps,dw-pcie.yaml. 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_cimaintainers: 1662306a36Sopenharmony_ci - Kunihiko Hayashi <hayashi.kunihiko@socionext.com> 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ciallOf: 1962306a36Sopenharmony_ci - $ref: /schemas/pci/snps,dw-pcie.yaml# 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ciproperties: 2262306a36Sopenharmony_ci compatible: 2362306a36Sopenharmony_ci enum: 2462306a36Sopenharmony_ci - socionext,uniphier-pcie 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci reg: 2762306a36Sopenharmony_ci minItems: 3 2862306a36Sopenharmony_ci maxItems: 4 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci reg-names: 3162306a36Sopenharmony_ci minItems: 3 3262306a36Sopenharmony_ci items: 3362306a36Sopenharmony_ci - const: dbi 3462306a36Sopenharmony_ci - const: link 3562306a36Sopenharmony_ci - const: config 3662306a36Sopenharmony_ci - const: atu 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci clocks: 3962306a36Sopenharmony_ci maxItems: 1 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci resets: 4262306a36Sopenharmony_ci maxItems: 1 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ci num-viewport: true 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci num-lanes: true 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci phys: 4962306a36Sopenharmony_ci maxItems: 1 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci phy-names: 5262306a36Sopenharmony_ci const: pcie-phy 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ci interrupt-controller: 5562306a36Sopenharmony_ci type: object 5662306a36Sopenharmony_ci additionalProperties: false 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci properties: 5962306a36Sopenharmony_ci interrupt-controller: true 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci '#interrupt-cells': 6262306a36Sopenharmony_ci const: 1 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ci interrupts: 6562306a36Sopenharmony_ci maxItems: 1 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_cirequired: 6862306a36Sopenharmony_ci - compatible 6962306a36Sopenharmony_ci - reg 7062306a36Sopenharmony_ci - reg-names 7162306a36Sopenharmony_ci - clocks 7262306a36Sopenharmony_ci - resets 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ciunevaluatedProperties: false 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_ciexamples: 7762306a36Sopenharmony_ci - | 7862306a36Sopenharmony_ci bus { 7962306a36Sopenharmony_ci gic: interrupt-controller { 8062306a36Sopenharmony_ci interrupt-controller; 8162306a36Sopenharmony_ci #interrupt-cells = <3>; 8262306a36Sopenharmony_ci }; 8362306a36Sopenharmony_ci }; 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci pcie: pcie@66000000 { 8662306a36Sopenharmony_ci compatible = "socionext,uniphier-pcie"; 8762306a36Sopenharmony_ci reg-names = "dbi", "link", "config"; 8862306a36Sopenharmony_ci reg = <0x66000000 0x1000>, <0x66010000 0x10000>, <0x2fff0000 0x10000>; 8962306a36Sopenharmony_ci #address-cells = <3>; 9062306a36Sopenharmony_ci #size-cells = <2>; 9162306a36Sopenharmony_ci clocks = <&sys_clk 24>; 9262306a36Sopenharmony_ci resets = <&sys_rst 24>; 9362306a36Sopenharmony_ci num-lanes = <1>; 9462306a36Sopenharmony_ci num-viewport = <1>; 9562306a36Sopenharmony_ci bus-range = <0x0 0xff>; 9662306a36Sopenharmony_ci device_type = "pci"; 9762306a36Sopenharmony_ci ranges = <0x81000000 0 0x00000000 0x2ffe0000 0 0x00010000>, 9862306a36Sopenharmony_ci <0x82000000 0 0x00000000 0x20000000 0 0x0ffe0000>; 9962306a36Sopenharmony_ci phy-names = "pcie-phy"; 10062306a36Sopenharmony_ci phys = <&pcie_phy>; 10162306a36Sopenharmony_ci #interrupt-cells = <1>; 10262306a36Sopenharmony_ci interrupt-names = "dma", "msi"; 10362306a36Sopenharmony_ci interrupt-parent = <&gic>; 10462306a36Sopenharmony_ci interrupts = <0 224 4>, <0 225 4>; 10562306a36Sopenharmony_ci interrupt-map-mask = <0 0 0 7>; 10662306a36Sopenharmony_ci interrupt-map = <0 0 0 1 &pcie_intc 0>, 10762306a36Sopenharmony_ci <0 0 0 2 &pcie_intc 1>, 10862306a36Sopenharmony_ci <0 0 0 3 &pcie_intc 2>, 10962306a36Sopenharmony_ci <0 0 0 4 &pcie_intc 3>; 11062306a36Sopenharmony_ci 11162306a36Sopenharmony_ci pcie_intc: interrupt-controller { 11262306a36Sopenharmony_ci interrupt-controller; 11362306a36Sopenharmony_ci #interrupt-cells = <1>; 11462306a36Sopenharmony_ci interrupt-parent = <&gic>; 11562306a36Sopenharmony_ci interrupts = <0 226 4>; 11662306a36Sopenharmony_ci }; 11762306a36Sopenharmony_ci }; 118