# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause %YAML 1.2 --- $id: http://devicetree.org/schemas/net/marvell,prestera.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Marvell Prestera switch family maintainers: - Miquel Raynal <miquel.raynal@bootlin.com> properties: compatible: oneOf: - items: - enum: - marvell,prestera-98dx3236 - marvell,prestera-98dx3336 - marvell,prestera-98dx4251 - const: marvell,prestera - enum: - pci11ab,c804 - pci11ab,c80c - pci11ab,cc1e reg: maxItems: 1 interrupts: maxItems: 3 dfx: description: Reference to the DFX Server bus node. $ref: /schemas/types.yaml#/definitions/phandle nvmem-cells: true nvmem-cell-names: true if: properties: compatible: contains: const: marvell,prestera # Memory mapped AlleyCat3 family then: properties: nvmem-cells: false nvmem-cell-names: false required: - interrupts # PCI Aldrin family else: properties: interrupts: false dfx: false required: - compatible - reg # Ports can also be described additionalProperties: type: object examples: - | packet-processor@0 { compatible = "marvell,prestera-98dx3236", "marvell,prestera"; reg = <0 0x4000000>; interrupts = <33>, <34>, <35>; dfx = <&dfx>; }; - | pcie@0 { #address-cells = <3>; #size-cells = <2>; ranges = <0x0 0x0 0x0 0x0 0x0 0x0>; reg = <0x0 0x0 0x0 0x0 0x0 0x0>; device_type = "pci"; switch@0,0 { reg = <0x0 0x0 0x0 0x0 0x0>; compatible = "pci11ab,c80c"; nvmem-cells = <&mac_address 0>; nvmem-cell-names = "mac-address"; }; };