1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/net/brcm,amac.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Broadcom AMAC Ethernet Controller
8
9maintainers:
10  - Florian Fainelli <f.fainelli@gmail.com>
11
12allOf:
13  - $ref: ethernet-controller.yaml#
14  - if:
15      properties:
16        compatible:
17          contains:
18            enum:
19              - brcm,amac
20    then:
21      properties:
22        reg:
23          maxItems: 2
24        reg-names:
25          maxItems: 2
26
27  - if:
28      properties:
29        compatible:
30          contains:
31            enum:
32              - brcm,nsp-amac
33    then:
34      properties:
35        reg:
36          minItems: 2
37          maxItems: 2
38        reg-names:
39          minItems: 2
40          maxItems: 2
41
42  - if:
43      properties:
44        compatible:
45          contains:
46            enum:
47              - brcm,ns2-amac
48    then:
49      properties:
50        reg:
51          minItems: 3
52        reg-names:
53          minItems: 3
54
55properties:
56  compatible:
57    enum:
58      - brcm,amac
59      - brcm,nsp-amac
60      - brcm,ns2-amac
61
62  interrupts:
63    maxItems: 1
64
65  reg:
66    minItems: 1
67    maxItems: 3
68
69  reg-names:
70    minItems: 1
71    items:
72      - const: amac_base
73      - const: idm_base
74      - const: nicpm_base
75
76unevaluatedProperties: false
77
78examples:
79  - |
80   #include <dt-bindings/interrupt-controller/arm-gic.h>
81
82   amac0: ethernet@18022000 {
83      compatible = "brcm,nsp-amac";
84      reg = <0x18022000 0x1000>,
85            <0x18110000 0x1000>;
86      reg-names = "amac_base", "idm_base";
87      interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
88   };
89