1aa222f93SRob Herring# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2aa222f93SRob Herring%YAML 1.2 3aa222f93SRob Herring--- 4aa222f93SRob Herring$id: http://devicetree.org/schemas/pci/rockchip,rk3399-pcie.yaml# 5aa222f93SRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml# 6aa222f93SRob Herring 7aa222f93SRob Herringtitle: Rockchip AXI PCIe Root Port Bridge Host 8aa222f93SRob Herring 9aa222f93SRob Herringmaintainers: 10aa222f93SRob Herring - Shawn Lin <shawn.lin@rock-chips.com> 11aa222f93SRob Herring 12aa222f93SRob HerringallOf: 135db62b7dSKrzysztof Kozlowski - $ref: /schemas/pci/pci-host-bridge.yaml# 14aa222f93SRob Herring - $ref: rockchip,rk3399-pcie-common.yaml# 15aa222f93SRob Herring 16aa222f93SRob Herringproperties: 17aa222f93SRob Herring compatible: 18aa222f93SRob Herring const: rockchip,rk3399-pcie 19aa222f93SRob Herring 20aa222f93SRob Herring reg: true 21aa222f93SRob Herring 22aa222f93SRob Herring reg-names: 23aa222f93SRob Herring items: 24aa222f93SRob Herring - const: axi-base 25aa222f93SRob Herring - const: apb-base 26aa222f93SRob Herring 27aa222f93SRob Herring interrupts: 28aa222f93SRob Herring maxItems: 3 29aa222f93SRob Herring 30aa222f93SRob Herring interrupt-names: 31aa222f93SRob Herring items: 32aa222f93SRob Herring - const: sys 33aa222f93SRob Herring - const: legacy 34aa222f93SRob Herring - const: client 35aa222f93SRob Herring 36aa222f93SRob Herring aspm-no-l0s: 37aa222f93SRob Herring description: This property is needed if using 24MHz OSC for RC's PHY. 38aa222f93SRob Herring 39aa222f93SRob Herring ep-gpios: 40*52d06636SKrzysztof Kozlowski maxItems: 1 41aa222f93SRob Herring description: pre-reset GPIO 42aa222f93SRob Herring 43aa222f93SRob Herring vpcie12v-supply: 44aa222f93SRob Herring description: The 12v regulator to use for PCIe. 45aa222f93SRob Herring 46aa222f93SRob Herring vpcie3v3-supply: 47aa222f93SRob Herring description: The 3.3v regulator to use for PCIe. 48aa222f93SRob Herring 49aa222f93SRob Herring vpcie1v8-supply: 50aa222f93SRob Herring description: The 1.8v regulator to use for PCIe. 51aa222f93SRob Herring 52aa222f93SRob Herring vpcie0v9-supply: 53aa222f93SRob Herring description: The 0.9v regulator to use for PCIe. 54aa222f93SRob Herring 55aa222f93SRob Herring interrupt-controller: 56aa222f93SRob Herring type: object 57aa222f93SRob Herring additionalProperties: false 58aa222f93SRob Herring 59aa222f93SRob Herring properties: 60aa222f93SRob Herring '#address-cells': 61aa222f93SRob Herring const: 0 62aa222f93SRob Herring 63aa222f93SRob Herring '#interrupt-cells': 64aa222f93SRob Herring const: 1 65aa222f93SRob Herring 66aa222f93SRob Herring interrupt-controller: true 67aa222f93SRob Herring 68aa222f93SRob Herringrequired: 69aa222f93SRob Herring - ranges 70aa222f93SRob Herring - "#interrupt-cells" 71aa222f93SRob Herring - interrupts 72aa222f93SRob Herring - interrupt-controller 73aa222f93SRob Herring - interrupt-map 74aa222f93SRob Herring - interrupt-map-mask 75aa222f93SRob Herring - msi-map 76aa222f93SRob Herring 77aa222f93SRob HerringunevaluatedProperties: false 78aa222f93SRob Herring 79aa222f93SRob Herringexamples: 80aa222f93SRob Herring - | 81aa222f93SRob Herring #include <dt-bindings/interrupt-controller/arm-gic.h> 82aa222f93SRob Herring #include <dt-bindings/gpio/gpio.h> 83aa222f93SRob Herring #include <dt-bindings/clock/rk3399-cru.h> 84aa222f93SRob Herring 85aa222f93SRob Herring bus { 86aa222f93SRob Herring #address-cells = <2>; 87aa222f93SRob Herring #size-cells = <2>; 88aa222f93SRob Herring 89aa222f93SRob Herring pcie@f8000000 { 90aa222f93SRob Herring compatible = "rockchip,rk3399-pcie"; 91aa222f93SRob Herring device_type = "pci"; 92aa222f93SRob Herring #address-cells = <3>; 93aa222f93SRob Herring #size-cells = <2>; 94aa222f93SRob Herring clocks = <&cru ACLK_PCIE>, <&cru ACLK_PERF_PCIE>, 95aa222f93SRob Herring <&cru PCLK_PCIE>, <&cru SCLK_PCIE_PM>; 96aa222f93SRob Herring clock-names = "aclk", "aclk-perf", 97aa222f93SRob Herring "hclk", "pm"; 98aa222f93SRob Herring interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH 0>, 99aa222f93SRob Herring <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH 0>, 100aa222f93SRob Herring <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH 0>; 101aa222f93SRob Herring interrupt-names = "sys", "legacy", "client"; 102aa222f93SRob Herring ep-gpios = <&gpio3 13 GPIO_ACTIVE_HIGH>; 103aa222f93SRob Herring ranges = <0x83000000 0x0 0xfa000000 0x0 0xfa000000 0x0 0x600000 104aa222f93SRob Herring 0x81000000 0x0 0xfa600000 0x0 0xfa600000 0x0 0x100000>; 105aa222f93SRob Herring num-lanes = <4>; 106aa222f93SRob Herring msi-map = <0x0 &its 0x0 0x1000>; 107aa222f93SRob Herring reg = <0x0 0xf8000000 0x0 0x2000000>, <0x0 0xfd000000 0x0 0x1000000>; 108aa222f93SRob Herring reg-names = "axi-base", "apb-base"; 109aa222f93SRob Herring resets = <&cru SRST_PCIE_CORE>, <&cru SRST_PCIE_MGMT>, 110aa222f93SRob Herring <&cru SRST_PCIE_MGMT_STICKY>, <&cru SRST_PCIE_PIPE> , 111aa222f93SRob Herring <&cru SRST_PCIE_PM>, <&cru SRST_P_PCIE>, <&cru SRST_A_PCIE>; 112aa222f93SRob Herring reset-names = "core", "mgmt", "mgmt-sticky", "pipe", 113aa222f93SRob Herring "pm", "pclk", "aclk"; 114aa222f93SRob Herring /* deprecated legacy PHY model */ 115aa222f93SRob Herring phys = <&pcie_phy>; 116aa222f93SRob Herring phy-names = "pcie-phy"; 117aa222f93SRob Herring pinctrl-names = "default"; 118aa222f93SRob Herring pinctrl-0 = <&pcie_clkreq>; 119aa222f93SRob Herring #interrupt-cells = <1>; 120aa222f93SRob Herring interrupt-map-mask = <0 0 0 7>; 121aa222f93SRob Herring interrupt-map = <0 0 0 1 &pcie0_intc 0>, 122aa222f93SRob Herring <0 0 0 2 &pcie0_intc 1>, 123aa222f93SRob Herring <0 0 0 3 &pcie0_intc 2>, 124aa222f93SRob Herring <0 0 0 4 &pcie0_intc 3>; 125aa222f93SRob Herring 126aa222f93SRob Herring pcie0_intc: interrupt-controller { 127aa222f93SRob Herring interrupt-controller; 128aa222f93SRob Herring #address-cells = <0>; 129aa222f93SRob Herring #interrupt-cells = <1>; 130aa222f93SRob Herring }; 131aa222f93SRob Herring }; 132aa222f93SRob Herring }; 133aa222f93SRob Herring... 134