blob: 16ff892f7bbd0aa8f965d602e5ccbd3b18ec9253 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/net/marvell,prestera.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Marvell Prestera switch family
8
9maintainers:
10 - Miquel Raynal <miquel.raynal@bootlin.com>
11
12properties:
13 compatible:
14 oneOf:
15 - items:
16 - enum:
17 - marvell,prestera-98dx3236
18 - marvell,prestera-98dx3336
19 - marvell,prestera-98dx4251
20 - const: marvell,prestera
21 - enum:
22 - pci11ab,c804
23 - pci11ab,c80c
24 - pci11ab,cc1e
25
26 reg:
27 maxItems: 1
28
29 interrupts:
30 maxItems: 3
31
32 dfx:
33 description: Reference to the DFX Server bus node.
34 $ref: /schemas/types.yaml#/definitions/phandle
35
36 nvmem-cells: true
37
38 nvmem-cell-names: true
39
40if:
41 properties:
42 compatible:
43 contains:
44 const: marvell,prestera
45
46# Memory mapped AlleyCat3 family
47then:
48 properties:
49 nvmem-cells: false
50 nvmem-cell-names: false
51 required:
52 - interrupts
53
54# PCI Aldrin family
55else:
56 properties:
57 interrupts: false
58 dfx: false
59
60required:
61 - compatible
62 - reg
63
64# Ports can also be described
65additionalProperties:
66 type: object
67
68examples:
69 - |
70 packet-processor@0 {
71 compatible = "marvell,prestera-98dx3236", "marvell,prestera";
72 reg = <0 0x4000000>;
73 interrupts = <33>, <34>, <35>;
74 dfx = <&dfx>;
75 };
76
77 - |
78 pcie@0 {
79 #address-cells = <3>;
80 #size-cells = <2>;
Tom Rini93743d22024-04-01 09:08:13 -040081 ranges = <0x02000000 0x0 0x100000 0x10000000 0x0 0x0>;
82 reg = <0x0 0x1000>;
Tom Rini53633a82024-02-29 12:33:36 -050083 device_type = "pci";
84
85 switch@0,0 {
86 reg = <0x0 0x0 0x0 0x0 0x0>;
87 compatible = "pci11ab,c80c";
88 nvmem-cells = <&mac_address 0>;
89 nvmem-cell-names = "mac-address";
90 };
91 };