# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/pci/toshiba,visconti-pcie.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Toshiba Visconti5 SoC PCIe Host Controller maintainers: - Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp> description: Toshiba Visconti5 SoC PCIe host controller is based on the Synopsys DesignWare PCIe IP. allOf: - $ref: /schemas/pci/snps,dw-pcie.yaml# properties: compatible: const: toshiba,visconti-pcie reg: items: - description: Data Bus Interface (DBI) registers. - description: PCIe configuration space region. - description: Visconti specific additional registers. - description: Visconti specific SMU registers - description: Visconti specific memory protection unit registers (MPU) reg-names: items: - const: dbi - const: config - const: ulreg - const: smu - const: mpu interrupts: maxItems: 2 clocks: items: - description: PCIe reference clock - description: PCIe system clock - description: Auxiliary clock clock-names: items: - const: ref - const: core - const: aux num-lanes: const: 2 required: - reg - reg-names - interrupts - "#interrupt-cells" - interrupt-map - interrupt-map-mask - num-lanes - clocks - clock-names - max-link-speed unevaluatedProperties: false examples: - | #include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/arm-gic.h> soc { #address-cells = <2>; #size-cells = <2>; pcie: pcie@28400000 { compatible = "toshiba,visconti-pcie"; reg = <0x0 0x28400000 0x0 0x00400000>, <0x0 0x70000000 0x0 0x10000000>, <0x0 0x28050000 0x0 0x00010000>, <0x0 0x24200000 0x0 0x00002000>, <0x0 0x24162000 0x0 0x00001000>; reg-names = "dbi", "config", "ulreg", "smu", "mpu"; device_type = "pci"; bus-range = <0x00 0xff>; num-lanes = <2>; num-viewport = <8>; #address-cells = <3>; #size-cells = <2>; #interrupt-cells = <1>; ranges = <0x81000000 0 0x40000000 0 0x40000000 0 0x00010000>, <0x82000000 0 0x50000000 0 0x50000000 0 0x20000000>; interrupts = <GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "msi", "intr"; interrupt-map-mask = <0 0 0 7>; interrupt-map = <0 0 0 1 &gic GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH 0 0 0 2 &gic GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH 0 0 0 3 &gic GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH 0 0 0 4 &gic GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>; clocks = <&extclk100mhz>, <&clk600mhz>, <&clk25mhz>; clock-names = "ref", "core", "aux"; max-link-speed = <2>; }; }; ...