1 # SPDX-License-Identifier: (GPL-2.0-only OR BS 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/pci/rockchi 4 $id: http://devicetree.org/schemas/pci/rockchip-dw-pcie.yaml# 5 $schema: http://devicetree.org/meta-schemas/co 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 title: DesignWare based PCIe Root Complex cont !! 7 title: DesignWare based PCIe controller on Rockchip SoCs 8 8 9 maintainers: 9 maintainers: 10 - Shawn Lin <shawn.lin@rock-chips.com> 10 - Shawn Lin <shawn.lin@rock-chips.com> 11 - Simon Xue <xxm@rock-chips.com> 11 - Simon Xue <xxm@rock-chips.com> 12 - Heiko Stuebner <heiko@sntech.de> 12 - Heiko Stuebner <heiko@sntech.de> 13 13 14 description: |+ 14 description: |+ 15 RK3568 SoC PCIe Root Complex controller is b !! 15 RK3568 SoC PCIe host controller is based on the Synopsys DesignWare 16 PCIe IP and thus inherits all the common pro 16 PCIe IP and thus inherits all the common properties defined in 17 snps,dw-pcie.yaml. !! 17 designware-pcie.txt. 18 18 19 allOf: 19 allOf: 20 - $ref: /schemas/pci/snps,dw-pcie.yaml# !! 20 - $ref: /schemas/pci/pci-bus.yaml# 21 - $ref: /schemas/pci/rockchip-dw-pcie-common << 22 21 23 properties: 22 properties: 24 compatible: 23 compatible: 25 oneOf: !! 24 items: 26 - const: rockchip,rk3568-pcie 25 - const: rockchip,rk3568-pcie 27 - items: << 28 - enum: << 29 - rockchip,rk3588-pcie << 30 - const: rockchip,rk3568-pcie << 31 26 32 reg: 27 reg: 33 items: 28 items: 34 - description: Data Bus Interface (DBI) 29 - description: Data Bus Interface (DBI) registers 35 - description: Rockchip designed configu 30 - description: Rockchip designed configuration registers 36 - description: Config registers 31 - description: Config registers 37 32 38 reg-names: 33 reg-names: 39 items: 34 items: 40 - const: dbi 35 - const: dbi 41 - const: apb 36 - const: apb 42 - const: config 37 - const: config 43 38 44 legacy-interrupt-controller: !! 39 clocks: 45 description: Interrupt controller node for !! 40 items: 46 type: object !! 41 - description: AHB clock for PCIe master 47 additionalProperties: false !! 42 - description: AHB clock for PCIe slave 48 properties: !! 43 - description: AHB clock for PCIe dbi 49 "#address-cells": !! 44 - description: APB clock for PCIe 50 const: 0 !! 45 - description: Auxiliary clock for PCIe 51 !! 46 52 "#interrupt-cells": !! 47 clock-names: 53 const: 1 !! 48 items: 54 !! 49 - const: aclk_mst 55 interrupt-controller: true !! 50 - const: aclk_slv 56 !! 51 - const: aclk_dbi 57 interrupts: !! 52 - const: pclk 58 items: !! 53 - const: aux 59 - description: combined legacy inter << 60 required: << 61 - "#address-cells" << 62 - "#interrupt-cells" << 63 - interrupt-controller << 64 - interrupts << 65 54 66 msi-map: true 55 msi-map: true 67 56 >> 57 num-lanes: true >> 58 >> 59 phys: >> 60 maxItems: 1 >> 61 >> 62 phy-names: >> 63 const: pcie-phy >> 64 >> 65 power-domains: >> 66 maxItems: 1 >> 67 68 ranges: 68 ranges: 69 minItems: 2 !! 69 maxItems: 2 70 maxItems: 3 !! 70 >> 71 resets: >> 72 maxItems: 1 >> 73 >> 74 reset-names: >> 75 const: pipe 71 76 72 vpcie3v3-supply: true 77 vpcie3v3-supply: true 73 78 74 required: 79 required: >> 80 - compatible >> 81 - reg >> 82 - reg-names >> 83 - clocks >> 84 - clock-names 75 - msi-map 85 - msi-map >> 86 - num-lanes >> 87 - phys >> 88 - phy-names >> 89 - power-domains >> 90 - resets >> 91 - reset-names 76 92 77 unevaluatedProperties: false 93 unevaluatedProperties: false 78 94 79 examples: 95 examples: 80 - | 96 - | 81 #include <dt-bindings/interrupt-controller << 82 97 83 bus { 98 bus { 84 #address-cells = <2>; 99 #address-cells = <2>; 85 #size-cells = <2>; 100 #size-cells = <2>; 86 101 87 pcie3x2: pcie@fe280000 { 102 pcie3x2: pcie@fe280000 { 88 compatible = "rockchip,rk3568-pcie 103 compatible = "rockchip,rk3568-pcie"; 89 reg = <0x3 0xc0800000 0x0 0x390000 104 reg = <0x3 0xc0800000 0x0 0x390000>, 90 <0x0 0xfe280000 0x0 0x10000> 105 <0x0 0xfe280000 0x0 0x10000>, 91 <0x3 0x80000000 0x0 0x100000 106 <0x3 0x80000000 0x0 0x100000>; 92 reg-names = "dbi", "apb", "config" 107 reg-names = "dbi", "apb", "config"; 93 bus-range = <0x20 0x2f>; 108 bus-range = <0x20 0x2f>; 94 clocks = <&cru 143>, <&cru 144>, 109 clocks = <&cru 143>, <&cru 144>, 95 <&cru 145>, <&cru 146>, 110 <&cru 145>, <&cru 146>, 96 <&cru 147>; 111 <&cru 147>; 97 clock-names = "aclk_mst", "aclk_sl 112 clock-names = "aclk_mst", "aclk_slv", 98 "aclk_dbi", "pclk", 113 "aclk_dbi", "pclk", 99 "aux"; 114 "aux"; 100 device_type = "pci"; 115 device_type = "pci"; 101 interrupts = <GIC_SPI 160 IRQ_TYPE << 102 <GIC_SPI 159 IRQ_TYPE << 103 <GIC_SPI 158 IRQ_TYPE << 104 <GIC_SPI 157 IRQ_TYPE << 105 <GIC_SPI 156 IRQ_TYPE << 106 interrupt-names = "sys", "pmc", "m << 107 linux,pci-domain = <2>; 116 linux,pci-domain = <2>; 108 max-link-speed = <2>; 117 max-link-speed = <2>; 109 msi-map = <0x2000 &its 0x2000 0x10 118 msi-map = <0x2000 &its 0x2000 0x1000>; 110 num-lanes = <2>; 119 num-lanes = <2>; 111 phys = <&pcie30phy>; 120 phys = <&pcie30phy>; 112 phy-names = "pcie-phy"; 121 phy-names = "pcie-phy"; 113 power-domains = <&power 15>; 122 power-domains = <&power 15>; 114 ranges = <0x81000000 0x0 0x8080000 123 ranges = <0x81000000 0x0 0x80800000 0x3 0x80800000 0x0 0x100000>, 115 <0x83000000 0x0 0x8090000 124 <0x83000000 0x0 0x80900000 0x3 0x80900000 0x0 0x3f700000>; 116 resets = <&cru 193>; 125 resets = <&cru 193>; 117 reset-names = "pipe"; 126 reset-names = "pipe"; 118 #address-cells = <3>; 127 #address-cells = <3>; 119 #size-cells = <2>; 128 #size-cells = <2>; 120 << 121 legacy-interrupt-controller { << 122 interrupt-controller; << 123 #address-cells = <0>; << 124 #interrupt-cells = <1>; << 125 interrupt-parent = <&gic>; << 126 interrupts = <GIC_SPI 72 IRQ_T << 127 }; << 128 }; 129 }; 129 }; 130 }; 130 ... 131 ...
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.