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