1b80b848bSNeil Armstrong# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2b80b848bSNeil Armstrong%YAML 1.2 3b80b848bSNeil Armstrong--- 4b80b848bSNeil Armstrong$id: http://devicetree.org/schemas/pci/amlogic,axg-pcie.yaml# 5b80b848bSNeil Armstrong$schema: http://devicetree.org/meta-schemas/core.yaml# 6b80b848bSNeil Armstrong 7b80b848bSNeil Armstrongtitle: Amlogic Meson AXG DWC PCIe SoC controller 8b80b848bSNeil Armstrong 9b80b848bSNeil Armstrongmaintainers: 10b80b848bSNeil Armstrong - Neil Armstrong <neil.armstrong@linaro.org> 11b80b848bSNeil Armstrong 12b80b848bSNeil Armstrongdescription: 13b80b848bSNeil Armstrong Amlogic Meson PCIe host controller is based on the Synopsys DesignWare PCI core. 14b80b848bSNeil Armstrong 15b80b848bSNeil ArmstrongallOf: 16*5db62b7dSKrzysztof Kozlowski - $ref: /schemas/pci/pci-host-bridge.yaml# 17b80b848bSNeil Armstrong - $ref: /schemas/pci/snps,dw-pcie-common.yaml# 18b80b848bSNeil Armstrong 19b80b848bSNeil Armstrong# We need a select here so we don't match all nodes with 'snps,dw-pcie' 20b80b848bSNeil Armstrongselect: 21b80b848bSNeil Armstrong properties: 22b80b848bSNeil Armstrong compatible: 23b80b848bSNeil Armstrong enum: 24b80b848bSNeil Armstrong - amlogic,axg-pcie 25b80b848bSNeil Armstrong - amlogic,g12a-pcie 26b80b848bSNeil Armstrong required: 27b80b848bSNeil Armstrong - compatible 28b80b848bSNeil Armstrong 29b80b848bSNeil Armstrongproperties: 30b80b848bSNeil Armstrong compatible: 31b80b848bSNeil Armstrong items: 32b80b848bSNeil Armstrong - enum: 33b80b848bSNeil Armstrong - amlogic,axg-pcie 34b80b848bSNeil Armstrong - amlogic,g12a-pcie 35b80b848bSNeil Armstrong - const: snps,dw-pcie 36b80b848bSNeil Armstrong 37b80b848bSNeil Armstrong reg: 38b80b848bSNeil Armstrong items: 39b80b848bSNeil Armstrong - description: External local bus interface registers 40b80b848bSNeil Armstrong - description: Meson designed configuration registers 41b80b848bSNeil Armstrong - description: PCIe configuration space 42b80b848bSNeil Armstrong 43b80b848bSNeil Armstrong reg-names: 44b80b848bSNeil Armstrong items: 45b80b848bSNeil Armstrong - const: elbi 46b80b848bSNeil Armstrong - const: cfg 47b80b848bSNeil Armstrong - const: config 48b80b848bSNeil Armstrong 49b80b848bSNeil Armstrong interrupts: 50b80b848bSNeil Armstrong maxItems: 1 51b80b848bSNeil Armstrong 52b80b848bSNeil Armstrong clocks: 53b80b848bSNeil Armstrong items: 54b80b848bSNeil Armstrong - description: PCIe GEN 100M PLL clock 55b80b848bSNeil Armstrong - description: PCIe RC clock gate 56b80b848bSNeil Armstrong - description: PCIe PHY clock 57b80b848bSNeil Armstrong 58b80b848bSNeil Armstrong clock-names: 59b80b848bSNeil Armstrong items: 60b80b848bSNeil Armstrong - const: pclk 61b80b848bSNeil Armstrong - const: port 62b80b848bSNeil Armstrong - const: general 63b80b848bSNeil Armstrong 64b80b848bSNeil Armstrong phys: 65b80b848bSNeil Armstrong maxItems: 1 66b80b848bSNeil Armstrong 67b80b848bSNeil Armstrong phy-names: 68b80b848bSNeil Armstrong const: pcie 69b80b848bSNeil Armstrong 70b80b848bSNeil Armstrong resets: 71b80b848bSNeil Armstrong items: 72b80b848bSNeil Armstrong - description: Port Reset 73b80b848bSNeil Armstrong - description: Shared APB reset 74b80b848bSNeil Armstrong 75b80b848bSNeil Armstrong reset-names: 76b80b848bSNeil Armstrong items: 77b80b848bSNeil Armstrong - const: port 78b80b848bSNeil Armstrong - const: apb 79b80b848bSNeil Armstrong 80b80b848bSNeil Armstrong num-lanes: 81b80b848bSNeil Armstrong const: 1 82b80b848bSNeil Armstrong 83b80b848bSNeil Armstrong power-domains: 84b80b848bSNeil Armstrong maxItems: 1 85b80b848bSNeil Armstrong 86b80b848bSNeil Armstrongrequired: 87b80b848bSNeil Armstrong - compatible 88b80b848bSNeil Armstrong - reg 89b80b848bSNeil Armstrong - reg-names 90b80b848bSNeil Armstrong - interrupts 91b80b848bSNeil Armstrong - clock 92b80b848bSNeil Armstrong - clock-names 93b80b848bSNeil Armstrong - "#address-cells" 94b80b848bSNeil Armstrong - "#size-cells" 95b80b848bSNeil Armstrong - "#interrupt-cells" 96b80b848bSNeil Armstrong - interrupt-map 97b80b848bSNeil Armstrong - interrupt-map-mask 98b80b848bSNeil Armstrong - ranges 99b80b848bSNeil Armstrong - bus-range 100b80b848bSNeil Armstrong - device_type 101b80b848bSNeil Armstrong - num-lanes 102b80b848bSNeil Armstrong - phys 103b80b848bSNeil Armstrong - phy-names 104b80b848bSNeil Armstrong - resets 105b80b848bSNeil Armstrong - reset-names 106b80b848bSNeil Armstrong 107b80b848bSNeil ArmstrongunevaluatedProperties: false 108b80b848bSNeil Armstrong 109b80b848bSNeil Armstrongexamples: 110b80b848bSNeil Armstrong - | 111b80b848bSNeil Armstrong #include <dt-bindings/interrupt-controller/irq.h> 112b80b848bSNeil Armstrong #include <dt-bindings/interrupt-controller/arm-gic.h> 113b80b848bSNeil Armstrong pcie: pcie@f9800000 { 114b80b848bSNeil Armstrong compatible = "amlogic,axg-pcie", "snps,dw-pcie"; 115b80b848bSNeil Armstrong reg = <0xf9800000 0x400000>, <0xff646000 0x2000>, <0xf9f00000 0x100000>; 116b80b848bSNeil Armstrong reg-names = "elbi", "cfg", "config"; 117b80b848bSNeil Armstrong interrupts = <GIC_SPI 177 IRQ_TYPE_EDGE_RISING>; 118b80b848bSNeil Armstrong clocks = <&pclk>, <&clk_port>, <&clk_phy>; 119b80b848bSNeil Armstrong clock-names = "pclk", "port", "general"; 120b80b848bSNeil Armstrong resets = <&reset_pcie_port>, <&reset_pcie_apb>; 121b80b848bSNeil Armstrong reset-names = "port", "apb"; 122b80b848bSNeil Armstrong phys = <&pcie_phy>; 123b80b848bSNeil Armstrong phy-names = "pcie"; 124b80b848bSNeil Armstrong #interrupt-cells = <1>; 125b80b848bSNeil Armstrong interrupt-map-mask = <0 0 0 0>; 126b80b848bSNeil Armstrong interrupt-map = <0 0 0 0 &gic GIC_SPI 179 IRQ_TYPE_EDGE_RISING>; 127b80b848bSNeil Armstrong bus-range = <0x0 0xff>; 128b80b848bSNeil Armstrong #address-cells = <3>; 129b80b848bSNeil Armstrong #size-cells = <2>; 130b80b848bSNeil Armstrong device_type = "pci"; 131b80b848bSNeil Armstrong num-lanes = <1>; 132b80b848bSNeil Armstrong ranges = <0x82000000 0 0 0xf9c00000 0 0x00300000>; 133b80b848bSNeil Armstrong }; 134b80b848bSNeil Armstrong... 135