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 snps,dw-pcie.yaml. 18 18 19 allOf: 19 allOf: 20 - $ref: /schemas/pci/snps,dw-pcie.yaml# 20 - $ref: /schemas/pci/snps,dw-pcie.yaml# 21 - $ref: /schemas/pci/rockchip-dw-pcie-common << 22 21 23 properties: 22 properties: 24 compatible: 23 compatible: 25 oneOf: 24 oneOf: 26 - const: rockchip,rk3568-pcie 25 - const: rockchip,rk3568-pcie 27 - items: 26 - items: 28 - enum: 27 - enum: 29 - rockchip,rk3588-pcie 28 - rockchip,rk3588-pcie 30 - const: rockchip,rk3568-pcie 29 - const: rockchip,rk3568-pcie 31 30 32 reg: 31 reg: 33 items: 32 items: 34 - description: Data Bus Interface (DBI) 33 - description: Data Bus Interface (DBI) registers 35 - description: Rockchip designed configu 34 - description: Rockchip designed configuration registers 36 - description: Config registers 35 - description: Config registers 37 36 38 reg-names: 37 reg-names: 39 items: 38 items: 40 - const: dbi 39 - const: dbi 41 - const: apb 40 - const: apb 42 - const: config 41 - const: config 43 42 44 legacy-interrupt-controller: !! 43 clocks: 45 description: Interrupt controller node for !! 44 items: 46 type: object !! 45 - description: AHB clock for PCIe master 47 additionalProperties: false !! 46 - description: AHB clock for PCIe slave 48 properties: !! 47 - description: AHB clock for PCIe dbi 49 "#address-cells": !! 48 - description: APB clock for PCIe 50 const: 0 !! 49 - description: Auxiliary clock for PCIe 51 !! 50 52 "#interrupt-cells": !! 51 clock-names: 53 const: 1 !! 52 items: 54 !! 53 - const: aclk_mst 55 interrupt-controller: true !! 54 - const: aclk_slv 56 !! 55 - const: aclk_dbi 57 interrupts: !! 56 - const: pclk 58 items: !! 57 - const: aux 59 - description: combined legacy inter << 60 required: << 61 - "#address-cells" << 62 - "#interrupt-cells" << 63 - interrupt-controller << 64 - interrupts << 65 58 66 msi-map: true 59 msi-map: true 67 60 >> 61 num-lanes: true >> 62 >> 63 phys: >> 64 maxItems: 1 >> 65 >> 66 phy-names: >> 67 const: pcie-phy >> 68 >> 69 power-domains: >> 70 maxItems: 1 >> 71 68 ranges: 72 ranges: 69 minItems: 2 !! 73 maxItems: 2 70 maxItems: 3 !! 74 >> 75 resets: >> 76 maxItems: 1 >> 77 >> 78 reset-names: >> 79 const: pipe 71 80 72 vpcie3v3-supply: true 81 vpcie3v3-supply: true 73 82 74 required: 83 required: >> 84 - compatible >> 85 - reg >> 86 - reg-names >> 87 - clocks >> 88 - clock-names 75 - msi-map 89 - msi-map >> 90 - num-lanes >> 91 - phys >> 92 - phy-names >> 93 - power-domains >> 94 - resets >> 95 - reset-names 76 96 77 unevaluatedProperties: false 97 unevaluatedProperties: false 78 98 79 examples: 99 examples: 80 - | 100 - | 81 #include <dt-bindings/interrupt-controller << 82 101 83 bus { 102 bus { 84 #address-cells = <2>; 103 #address-cells = <2>; 85 #size-cells = <2>; 104 #size-cells = <2>; 86 105 87 pcie3x2: pcie@fe280000 { 106 pcie3x2: pcie@fe280000 { 88 compatible = "rockchip,rk3568-pcie 107 compatible = "rockchip,rk3568-pcie"; 89 reg = <0x3 0xc0800000 0x0 0x390000 108 reg = <0x3 0xc0800000 0x0 0x390000>, 90 <0x0 0xfe280000 0x0 0x10000> 109 <0x0 0xfe280000 0x0 0x10000>, 91 <0x3 0x80000000 0x0 0x100000 110 <0x3 0x80000000 0x0 0x100000>; 92 reg-names = "dbi", "apb", "config" 111 reg-names = "dbi", "apb", "config"; 93 bus-range = <0x20 0x2f>; 112 bus-range = <0x20 0x2f>; 94 clocks = <&cru 143>, <&cru 144>, 113 clocks = <&cru 143>, <&cru 144>, 95 <&cru 145>, <&cru 146>, 114 <&cru 145>, <&cru 146>, 96 <&cru 147>; 115 <&cru 147>; 97 clock-names = "aclk_mst", "aclk_sl 116 clock-names = "aclk_mst", "aclk_slv", 98 "aclk_dbi", "pclk", 117 "aclk_dbi", "pclk", 99 "aux"; 118 "aux"; 100 device_type = "pci"; 119 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>; 120 linux,pci-domain = <2>; 108 max-link-speed = <2>; 121 max-link-speed = <2>; 109 msi-map = <0x2000 &its 0x2000 0x10 122 msi-map = <0x2000 &its 0x2000 0x1000>; 110 num-lanes = <2>; 123 num-lanes = <2>; 111 phys = <&pcie30phy>; 124 phys = <&pcie30phy>; 112 phy-names = "pcie-phy"; 125 phy-names = "pcie-phy"; 113 power-domains = <&power 15>; 126 power-domains = <&power 15>; 114 ranges = <0x81000000 0x0 0x8080000 127 ranges = <0x81000000 0x0 0x80800000 0x3 0x80800000 0x0 0x100000>, 115 <0x83000000 0x0 0x8090000 128 <0x83000000 0x0 0x80900000 0x3 0x80900000 0x0 0x3f700000>; 116 resets = <&cru 193>; 129 resets = <&cru 193>; 117 reset-names = "pipe"; 130 reset-names = "pipe"; 118 #address-cells = <3>; 131 #address-cells = <3>; 119 #size-cells = <2>; 132 #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 }; 133 }; 129 }; 134 }; 130 ... 135 ...
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.