1*8ccc0d23SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*8ccc0d23SEmmanuel Vadot%YAML 1.2 3*8ccc0d23SEmmanuel Vadot--- 4*8ccc0d23SEmmanuel Vadot$id: http://devicetree.org/schemas/pci/pci-ep-bus.yaml# 5*8ccc0d23SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*8ccc0d23SEmmanuel Vadot 7*8ccc0d23SEmmanuel Vadottitle: Common Properties for PCI MFD EP with Peripherals Addressable from BARs 8*8ccc0d23SEmmanuel Vadot 9*8ccc0d23SEmmanuel Vadotmaintainers: 10*8ccc0d23SEmmanuel Vadot - A. della Porta <andrea.porta@suse.com> 11*8ccc0d23SEmmanuel Vadot 12*8ccc0d23SEmmanuel Vadotdescription: 13*8ccc0d23SEmmanuel Vadot Define a generic node representing a PCI endpoint which contains several sub- 14*8ccc0d23SEmmanuel Vadot peripherals. The peripherals can be accessed through one or more BARs. 15*8ccc0d23SEmmanuel Vadot This common schema is intended to be referenced from device tree bindings and 16*8ccc0d23SEmmanuel Vadot does not represent a device tree binding by itself. 17*8ccc0d23SEmmanuel Vadot 18*8ccc0d23SEmmanuel Vadotproperties: 19*8ccc0d23SEmmanuel Vadot '#address-cells': 20*8ccc0d23SEmmanuel Vadot const: 3 21*8ccc0d23SEmmanuel Vadot 22*8ccc0d23SEmmanuel Vadot '#size-cells': 23*8ccc0d23SEmmanuel Vadot const: 2 24*8ccc0d23SEmmanuel Vadot 25*8ccc0d23SEmmanuel Vadot ranges: 26*8ccc0d23SEmmanuel Vadot minItems: 1 27*8ccc0d23SEmmanuel Vadot maxItems: 6 28*8ccc0d23SEmmanuel Vadot items: 29*8ccc0d23SEmmanuel Vadot maxItems: 8 30*8ccc0d23SEmmanuel Vadot additionalItems: true 31*8ccc0d23SEmmanuel Vadot items: 32*8ccc0d23SEmmanuel Vadot - maximum: 5 # The BAR number 33*8ccc0d23SEmmanuel Vadot - const: 0 34*8ccc0d23SEmmanuel Vadot - const: 0 35*8ccc0d23SEmmanuel Vadot 36*8ccc0d23SEmmanuel VadotpatternProperties: 37*8ccc0d23SEmmanuel Vadot '^pci-ep-bus@[0-5]$': 38*8ccc0d23SEmmanuel Vadot type: object 39*8ccc0d23SEmmanuel Vadot description: 40*8ccc0d23SEmmanuel Vadot One node for each BAR used by peripherals contained in the PCI endpoint. 41*8ccc0d23SEmmanuel Vadot Each node represents a bus on which peripherals are connected. 42*8ccc0d23SEmmanuel Vadot This allows for some segmentation, e.g., one peripheral is accessible 43*8ccc0d23SEmmanuel Vadot through BAR0 and another through BAR1, and you don't want the two 44*8ccc0d23SEmmanuel Vadot peripherals to be able to act on the other BAR. Alternatively, when 45*8ccc0d23SEmmanuel Vadot different peripherals need to share BARs, you can define only one node 46*8ccc0d23SEmmanuel Vadot and use a 'ranges' property to map all the used BARs. 47*8ccc0d23SEmmanuel Vadot 48*8ccc0d23SEmmanuel Vadot additionalProperties: true 49*8ccc0d23SEmmanuel Vadot 50*8ccc0d23SEmmanuel Vadot properties: 51*8ccc0d23SEmmanuel Vadot compatible: 52*8ccc0d23SEmmanuel Vadot const: simple-bus 53*8ccc0d23SEmmanuel Vadot 54*8ccc0d23SEmmanuel Vadot required: 55*8ccc0d23SEmmanuel Vadot - compatible 56*8ccc0d23SEmmanuel Vadot 57*8ccc0d23SEmmanuel VadotadditionalProperties: true 58*8ccc0d23SEmmanuel Vadot... 59