1*833e5d42SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*833e5d42SEmmanuel Vadot# Copyright 2025 Axis AB 3*833e5d42SEmmanuel Vadot%YAML 1.2 4*833e5d42SEmmanuel Vadot--- 5*833e5d42SEmmanuel Vadot$id: http://devicetree.org/schemas/pci/axis,artpec6-pcie.yaml# 6*833e5d42SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 7*833e5d42SEmmanuel Vadot 8*833e5d42SEmmanuel Vadottitle: Axis ARTPEC-6 PCIe host controller 9*833e5d42SEmmanuel Vadot 10*833e5d42SEmmanuel Vadotmaintainers: 11*833e5d42SEmmanuel Vadot - Jesper Nilsson <jesper.nilsson@axis.com> 12*833e5d42SEmmanuel Vadot 13*833e5d42SEmmanuel Vadotdescription: 14*833e5d42SEmmanuel Vadot This PCIe host controller is based on the Synopsys DesignWare PCIe IP. 15*833e5d42SEmmanuel Vadot 16*833e5d42SEmmanuel Vadotselect: 17*833e5d42SEmmanuel Vadot properties: 18*833e5d42SEmmanuel Vadot compatible: 19*833e5d42SEmmanuel Vadot contains: 20*833e5d42SEmmanuel Vadot enum: 21*833e5d42SEmmanuel Vadot - axis,artpec6-pcie 22*833e5d42SEmmanuel Vadot - axis,artpec6-pcie-ep 23*833e5d42SEmmanuel Vadot - axis,artpec7-pcie 24*833e5d42SEmmanuel Vadot - axis,artpec7-pcie-ep 25*833e5d42SEmmanuel Vadot required: 26*833e5d42SEmmanuel Vadot - compatible 27*833e5d42SEmmanuel Vadot 28*833e5d42SEmmanuel Vadotproperties: 29*833e5d42SEmmanuel Vadot compatible: 30*833e5d42SEmmanuel Vadot items: 31*833e5d42SEmmanuel Vadot - enum: 32*833e5d42SEmmanuel Vadot - axis,artpec6-pcie 33*833e5d42SEmmanuel Vadot - axis,artpec6-pcie-ep 34*833e5d42SEmmanuel Vadot - axis,artpec7-pcie 35*833e5d42SEmmanuel Vadot - axis,artpec7-pcie-ep 36*833e5d42SEmmanuel Vadot - const: snps,dw-pcie 37*833e5d42SEmmanuel Vadot 38*833e5d42SEmmanuel Vadot reg: 39*833e5d42SEmmanuel Vadot minItems: 3 40*833e5d42SEmmanuel Vadot maxItems: 4 41*833e5d42SEmmanuel Vadot 42*833e5d42SEmmanuel Vadot reg-names: 43*833e5d42SEmmanuel Vadot minItems: 3 44*833e5d42SEmmanuel Vadot maxItems: 4 45*833e5d42SEmmanuel Vadot 46*833e5d42SEmmanuel Vadot interrupts: 47*833e5d42SEmmanuel Vadot maxItems: 1 48*833e5d42SEmmanuel Vadot 49*833e5d42SEmmanuel Vadot interrupt-names: 50*833e5d42SEmmanuel Vadot items: 51*833e5d42SEmmanuel Vadot - const: msi 52*833e5d42SEmmanuel Vadot 53*833e5d42SEmmanuel Vadot axis,syscon-pcie: 54*833e5d42SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle 55*833e5d42SEmmanuel Vadot description: 56*833e5d42SEmmanuel Vadot System controller phandle used to enable and control the Synopsys IP. 57*833e5d42SEmmanuel Vadot 58*833e5d42SEmmanuel Vadotrequired: 59*833e5d42SEmmanuel Vadot - compatible 60*833e5d42SEmmanuel Vadot - reg 61*833e5d42SEmmanuel Vadot - reg-names 62*833e5d42SEmmanuel Vadot - interrupts 63*833e5d42SEmmanuel Vadot - interrupt-names 64*833e5d42SEmmanuel Vadot - axis,syscon-pcie 65*833e5d42SEmmanuel Vadot 66*833e5d42SEmmanuel VadotoneOf: 67*833e5d42SEmmanuel Vadot - $ref: snps,dw-pcie.yaml# 68*833e5d42SEmmanuel Vadot properties: 69*833e5d42SEmmanuel Vadot reg: 70*833e5d42SEmmanuel Vadot maxItems: 3 71*833e5d42SEmmanuel Vadot 72*833e5d42SEmmanuel Vadot reg-names: 73*833e5d42SEmmanuel Vadot items: 74*833e5d42SEmmanuel Vadot - const: dbi 75*833e5d42SEmmanuel Vadot - const: phy 76*833e5d42SEmmanuel Vadot - const: config 77*833e5d42SEmmanuel Vadot 78*833e5d42SEmmanuel Vadot - $ref: snps,dw-pcie-ep.yaml# 79*833e5d42SEmmanuel Vadot properties: 80*833e5d42SEmmanuel Vadot reg: 81*833e5d42SEmmanuel Vadot minItems: 4 82*833e5d42SEmmanuel Vadot 83*833e5d42SEmmanuel Vadot reg-names: 84*833e5d42SEmmanuel Vadot items: 85*833e5d42SEmmanuel Vadot - const: dbi 86*833e5d42SEmmanuel Vadot - const: dbi2 87*833e5d42SEmmanuel Vadot - const: phy 88*833e5d42SEmmanuel Vadot - const: addr_space 89*833e5d42SEmmanuel Vadot 90*833e5d42SEmmanuel VadotunevaluatedProperties: false 91*833e5d42SEmmanuel Vadot 92*833e5d42SEmmanuel Vadotexamples: 93*833e5d42SEmmanuel Vadot - | 94*833e5d42SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 95*833e5d42SEmmanuel Vadot 96*833e5d42SEmmanuel Vadot pcie@f8050000 { 97*833e5d42SEmmanuel Vadot compatible = "axis,artpec6-pcie", "snps,dw-pcie"; 98*833e5d42SEmmanuel Vadot device_type = "pci"; 99*833e5d42SEmmanuel Vadot reg = <0xf8050000 0x2000 100*833e5d42SEmmanuel Vadot 0xf8040000 0x1000 101*833e5d42SEmmanuel Vadot 0xc0000000 0x2000>; 102*833e5d42SEmmanuel Vadot reg-names = "dbi", "phy", "config"; 103*833e5d42SEmmanuel Vadot #address-cells = <3>; 104*833e5d42SEmmanuel Vadot #size-cells = <2>; 105*833e5d42SEmmanuel Vadot ranges = <0x81000000 0 0 0xc0002000 0 0x00010000>, 106*833e5d42SEmmanuel Vadot <0x82000000 0 0xc0012000 0xc0012000 0 0x1ffee000>; 107*833e5d42SEmmanuel Vadot num-lanes = <2>; 108*833e5d42SEmmanuel Vadot bus-range = <0x00 0xff>; 109*833e5d42SEmmanuel Vadot interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>; 110*833e5d42SEmmanuel Vadot interrupt-names = "msi"; 111*833e5d42SEmmanuel Vadot #interrupt-cells = <1>; 112*833e5d42SEmmanuel Vadot interrupt-map-mask = <0 0 0 0x7>; 113*833e5d42SEmmanuel Vadot interrupt-map = <0 0 0 1 &intc GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>, 114*833e5d42SEmmanuel Vadot <0 0 0 2 &intc GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>, 115*833e5d42SEmmanuel Vadot <0 0 0 3 &intc GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>, 116*833e5d42SEmmanuel Vadot <0 0 0 4 &intc GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>; 117*833e5d42SEmmanuel Vadot axis,syscon-pcie = <&syscon>; 118*833e5d42SEmmanuel Vadot }; 119