1af7cda83SSimon Xue# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2af7cda83SSimon Xue%YAML 1.2 3af7cda83SSimon Xue--- 4af7cda83SSimon Xue$id: http://devicetree.org/schemas/pci/rockchip-dw-pcie.yaml# 5af7cda83SSimon Xue$schema: http://devicetree.org/meta-schemas/core.yaml# 6af7cda83SSimon Xue 7*9b0b9b58SNiklas Casseltitle: DesignWare based PCIe Root Complex controller on Rockchip SoCs 8af7cda83SSimon Xue 9af7cda83SSimon Xuemaintainers: 10af7cda83SSimon Xue - Shawn Lin <shawn.lin@rock-chips.com> 11af7cda83SSimon Xue - Simon Xue <xxm@rock-chips.com> 12af7cda83SSimon Xue - Heiko Stuebner <heiko@sntech.de> 13af7cda83SSimon Xue 14af7cda83SSimon Xuedescription: |+ 15*9b0b9b58SNiklas Cassel RK3568 SoC PCIe Root Complex controller is based on the Synopsys DesignWare 16af7cda83SSimon Xue PCIe IP and thus inherits all the common properties defined in 1798b59129SSerge Semin snps,dw-pcie.yaml. 18af7cda83SSimon Xue 19af7cda83SSimon XueallOf: 20591d3833SSebastian Reichel - $ref: /schemas/pci/snps,dw-pcie.yaml# 21*9b0b9b58SNiklas Cassel - $ref: /schemas/pci/rockchip-dw-pcie-common.yaml# 22af7cda83SSimon Xue 23af7cda83SSimon Xueproperties: 24af7cda83SSimon Xue compatible: 2513803c86SLucas Tanure oneOf: 2613803c86SLucas Tanure - const: rockchip,rk3568-pcie 2713803c86SLucas Tanure - items: 2813803c86SLucas Tanure - enum: 2913803c86SLucas Tanure - rockchip,rk3588-pcie 30af7cda83SSimon Xue - const: rockchip,rk3568-pcie 31af7cda83SSimon Xue 32af7cda83SSimon Xue reg: 33af7cda83SSimon Xue items: 34af7cda83SSimon Xue - description: Data Bus Interface (DBI) registers 35af7cda83SSimon Xue - description: Rockchip designed configuration registers 36af7cda83SSimon Xue - description: Config registers 37af7cda83SSimon Xue 38af7cda83SSimon Xue reg-names: 39af7cda83SSimon Xue items: 40af7cda83SSimon Xue - const: dbi 41af7cda83SSimon Xue - const: apb 42af7cda83SSimon Xue - const: config 43af7cda83SSimon Xue 447cd8f2abSSebastian Reichel legacy-interrupt-controller: 457cd8f2abSSebastian Reichel description: Interrupt controller node for handling legacy PCI interrupts. 467cd8f2abSSebastian Reichel type: object 477cd8f2abSSebastian Reichel additionalProperties: false 487cd8f2abSSebastian Reichel properties: 497cd8f2abSSebastian Reichel "#address-cells": 507cd8f2abSSebastian Reichel const: 0 517cd8f2abSSebastian Reichel 527cd8f2abSSebastian Reichel "#interrupt-cells": 537cd8f2abSSebastian Reichel const: 1 547cd8f2abSSebastian Reichel 557cd8f2abSSebastian Reichel interrupt-controller: true 567cd8f2abSSebastian Reichel 577cd8f2abSSebastian Reichel interrupts: 587cd8f2abSSebastian Reichel items: 597cd8f2abSSebastian Reichel - description: combined legacy interrupt 607cd8f2abSSebastian Reichel required: 617cd8f2abSSebastian Reichel - "#address-cells" 627cd8f2abSSebastian Reichel - "#interrupt-cells" 637cd8f2abSSebastian Reichel - interrupt-controller 647cd8f2abSSebastian Reichel - interrupts 657cd8f2abSSebastian Reichel 66af7cda83SSimon Xue msi-map: true 67af7cda83SSimon Xue 68af7cda83SSimon Xue ranges: 693216ceebSSebastian Reichel minItems: 2 703216ceebSSebastian Reichel maxItems: 3 71af7cda83SSimon Xue 72af7cda83SSimon Xue vpcie3v3-supply: true 73af7cda83SSimon Xue 74af7cda83SSimon Xuerequired: 75af7cda83SSimon Xue - msi-map 76af7cda83SSimon Xue 77af7cda83SSimon XueunevaluatedProperties: false 78af7cda83SSimon Xue 79af7cda83SSimon Xueexamples: 80af7cda83SSimon Xue - | 81ebce9f66SSebastian Reichel #include <dt-bindings/interrupt-controller/arm-gic.h> 82af7cda83SSimon Xue 83af7cda83SSimon Xue bus { 84af7cda83SSimon Xue #address-cells = <2>; 85af7cda83SSimon Xue #size-cells = <2>; 86af7cda83SSimon Xue 87af7cda83SSimon Xue pcie3x2: pcie@fe280000 { 88931262e6SPeter Geis compatible = "rockchip,rk3568-pcie"; 89af7cda83SSimon Xue reg = <0x3 0xc0800000 0x0 0x390000>, 90af7cda83SSimon Xue <0x0 0xfe280000 0x0 0x10000>, 91af7cda83SSimon Xue <0x3 0x80000000 0x0 0x100000>; 92af7cda83SSimon Xue reg-names = "dbi", "apb", "config"; 93af7cda83SSimon Xue bus-range = <0x20 0x2f>; 94af7cda83SSimon Xue clocks = <&cru 143>, <&cru 144>, 95af7cda83SSimon Xue <&cru 145>, <&cru 146>, 96af7cda83SSimon Xue <&cru 147>; 97af7cda83SSimon Xue clock-names = "aclk_mst", "aclk_slv", 98af7cda83SSimon Xue "aclk_dbi", "pclk", 99af7cda83SSimon Xue "aux"; 100af7cda83SSimon Xue device_type = "pci"; 101ebce9f66SSebastian Reichel interrupts = <GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>, 102ebce9f66SSebastian Reichel <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>, 103ebce9f66SSebastian Reichel <GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>, 104ebce9f66SSebastian Reichel <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>, 105ebce9f66SSebastian Reichel <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH>; 106ebce9f66SSebastian Reichel interrupt-names = "sys", "pmc", "msg", "legacy", "err"; 107af7cda83SSimon Xue linux,pci-domain = <2>; 108af7cda83SSimon Xue max-link-speed = <2>; 109af7cda83SSimon Xue msi-map = <0x2000 &its 0x2000 0x1000>; 110af7cda83SSimon Xue num-lanes = <2>; 111af7cda83SSimon Xue phys = <&pcie30phy>; 112af7cda83SSimon Xue phy-names = "pcie-phy"; 113af7cda83SSimon Xue power-domains = <&power 15>; 114af7cda83SSimon Xue ranges = <0x81000000 0x0 0x80800000 0x3 0x80800000 0x0 0x100000>, 115af7cda83SSimon Xue <0x83000000 0x0 0x80900000 0x3 0x80900000 0x0 0x3f700000>; 116af7cda83SSimon Xue resets = <&cru 193>; 117af7cda83SSimon Xue reset-names = "pipe"; 118af7cda83SSimon Xue #address-cells = <3>; 119af7cda83SSimon Xue #size-cells = <2>; 1207cd8f2abSSebastian Reichel 1217cd8f2abSSebastian Reichel legacy-interrupt-controller { 1227cd8f2abSSebastian Reichel interrupt-controller; 1237cd8f2abSSebastian Reichel #address-cells = <0>; 1247cd8f2abSSebastian Reichel #interrupt-cells = <1>; 1257cd8f2abSSebastian Reichel interrupt-parent = <&gic>; 1267cd8f2abSSebastian Reichel interrupts = <GIC_SPI 72 IRQ_TYPE_EDGE_RISING>; 1277cd8f2abSSebastian Reichel }; 128af7cda83SSimon Xue }; 129af7cda83SSimon Xue }; 130af7cda83SSimon Xue... 131