xref: /linux/Documentation/devicetree/bindings/net/brcm,asp-v2.0.yaml (revision 79790b6818e96c58fe2bffee1b418c16e64e7b80)
1a29401beSFlorian Fainelli# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2a29401beSFlorian Fainelli%YAML 1.2
3a29401beSFlorian Fainelli---
4a29401beSFlorian Fainelli$id: http://devicetree.org/schemas/net/brcm,asp-v2.0.yaml#
5a29401beSFlorian Fainelli$schema: http://devicetree.org/meta-schemas/core.yaml#
6a29401beSFlorian Fainelli
7a29401beSFlorian Fainellititle: Broadcom ASP 2.0 Ethernet controller
8a29401beSFlorian Fainelli
9a29401beSFlorian Fainellimaintainers:
10a29401beSFlorian Fainelli  - Justin Chen <justin.chen@broadcom.com>
11a29401beSFlorian Fainelli  - Florian Fainelli <florian.fainelli@broadcom.com>
12a29401beSFlorian Fainelli
13a29401beSFlorian Fainellidescription: Broadcom Ethernet controller first introduced with 72165
14a29401beSFlorian Fainelli
15a29401beSFlorian Fainelliproperties:
16a29401beSFlorian Fainelli  compatible:
17a29401beSFlorian Fainelli    oneOf:
18a29401beSFlorian Fainelli      - items:
19a29401beSFlorian Fainelli          - enum:
20*5682a878SJustin Chen              - brcm,bcm74165b0-asp
21*5682a878SJustin Chen          - const: brcm,asp-v2.2
22*5682a878SJustin Chen      - items:
23*5682a878SJustin Chen          - enum:
24a29401beSFlorian Fainelli              - brcm,bcm74165-asp
25a29401beSFlorian Fainelli          - const: brcm,asp-v2.1
26a29401beSFlorian Fainelli      - items:
27a29401beSFlorian Fainelli          - enum:
28a29401beSFlorian Fainelli              - brcm,bcm72165-asp
29a29401beSFlorian Fainelli          - const: brcm,asp-v2.0
30a29401beSFlorian Fainelli
31a29401beSFlorian Fainelli  "#address-cells":
32a29401beSFlorian Fainelli    const: 1
33a29401beSFlorian Fainelli  "#size-cells":
34a29401beSFlorian Fainelli    const: 1
35a29401beSFlorian Fainelli
36a29401beSFlorian Fainelli  reg:
37a29401beSFlorian Fainelli    maxItems: 1
38a29401beSFlorian Fainelli
39a29401beSFlorian Fainelli  ranges: true
40a29401beSFlorian Fainelli
41a29401beSFlorian Fainelli  interrupts:
42a29401beSFlorian Fainelli    minItems: 1
43a29401beSFlorian Fainelli    items:
44a29401beSFlorian Fainelli      - description: RX/TX interrupt
45a29401beSFlorian Fainelli      - description: Port 0 Wake-on-LAN
46a29401beSFlorian Fainelli      - description: Port 1 Wake-on-LAN
47a29401beSFlorian Fainelli
48a29401beSFlorian Fainelli  clocks:
49a29401beSFlorian Fainelli    maxItems: 1
50a29401beSFlorian Fainelli
51a29401beSFlorian Fainelli  ethernet-ports:
52a29401beSFlorian Fainelli    type: object
53a29401beSFlorian Fainelli    properties:
54a29401beSFlorian Fainelli      "#address-cells":
55a29401beSFlorian Fainelli        const: 1
56a29401beSFlorian Fainelli      "#size-cells":
57a29401beSFlorian Fainelli        const: 0
58a29401beSFlorian Fainelli
59a29401beSFlorian Fainelli    patternProperties:
6051ff5150SRob Herring      "^port@[0-9a-f]+$":
61a29401beSFlorian Fainelli        type: object
62a29401beSFlorian Fainelli
63a29401beSFlorian Fainelli        $ref: ethernet-controller.yaml#
64a29401beSFlorian Fainelli
65a29401beSFlorian Fainelli        unevaluatedProperties: false
66a29401beSFlorian Fainelli
67a29401beSFlorian Fainelli        properties:
68a29401beSFlorian Fainelli          reg:
69a29401beSFlorian Fainelli            maxItems: 1
70a29401beSFlorian Fainelli            description: Port number
71a29401beSFlorian Fainelli
72a29401beSFlorian Fainelli          brcm,channel:
73a29401beSFlorian Fainelli            $ref: /schemas/types.yaml#/definitions/uint32
74a29401beSFlorian Fainelli            description: |
75a29401beSFlorian Fainelli              ASP Channel Number
76a29401beSFlorian Fainelli
77a29401beSFlorian Fainelli              The depacketizer channel that consumes packets from
78a29401beSFlorian Fainelli              the unimac/port.
79a29401beSFlorian Fainelli
80a29401beSFlorian Fainelli        required:
81a29401beSFlorian Fainelli          - reg
82a29401beSFlorian Fainelli          - brcm,channel
83a29401beSFlorian Fainelli
84a29401beSFlorian Fainelli    additionalProperties: false
85a29401beSFlorian Fainelli
86a29401beSFlorian FainellipatternProperties:
87a29401beSFlorian Fainelli  "^mdio@[0-9a-f]+$":
88a29401beSFlorian Fainelli    type: object
89a29401beSFlorian Fainelli    $ref: brcm,unimac-mdio.yaml
90a29401beSFlorian Fainelli
91a29401beSFlorian Fainelli    description:
92a29401beSFlorian Fainelli      ASP internal UniMAC MDIO bus
93a29401beSFlorian Fainelli
94a29401beSFlorian Fainellirequired:
95a29401beSFlorian Fainelli  - compatible
96a29401beSFlorian Fainelli  - reg
97a29401beSFlorian Fainelli  - interrupts
98a29401beSFlorian Fainelli  - clocks
99a29401beSFlorian Fainelli  - ranges
100a29401beSFlorian Fainelli
101a29401beSFlorian FainelliadditionalProperties: false
102a29401beSFlorian Fainelli
103a29401beSFlorian Fainelliexamples:
104a29401beSFlorian Fainelli  - |
105a29401beSFlorian Fainelli    #include <dt-bindings/interrupt-controller/irq.h>
106a29401beSFlorian Fainelli    #include <dt-bindings/interrupt-controller/arm-gic.h>
107a29401beSFlorian Fainelli
108a29401beSFlorian Fainelli    ethernet@9c00000 {
109a29401beSFlorian Fainelli        compatible = "brcm,bcm72165-asp", "brcm,asp-v2.0";
110a29401beSFlorian Fainelli        reg = <0x9c00000 0x1fff14>;
111a29401beSFlorian Fainelli        interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
112a29401beSFlorian Fainelli        ranges = <0x0 0x9c00000 0x1fff14>;
113a29401beSFlorian Fainelli        clocks = <&scmi 14>;
114a29401beSFlorian Fainelli        #address-cells = <1>;
115a29401beSFlorian Fainelli        #size-cells = <1>;
116a29401beSFlorian Fainelli
117a29401beSFlorian Fainelli        mdio@c614 {
118a29401beSFlorian Fainelli            compatible = "brcm,asp-v2.0-mdio";
119a29401beSFlorian Fainelli            reg = <0xc614 0x8>;
120a29401beSFlorian Fainelli            reg-names = "mdio";
121a29401beSFlorian Fainelli            #address-cells = <1>;
122a29401beSFlorian Fainelli            #size-cells = <0>;
123a29401beSFlorian Fainelli
124a29401beSFlorian Fainelli            phy0: ethernet-phy@1 {
125a29401beSFlorian Fainelli                reg = <1>;
126a29401beSFlorian Fainelli            };
127a29401beSFlorian Fainelli       };
128a29401beSFlorian Fainelli
129a29401beSFlorian Fainelli        mdio@ce14 {
130a29401beSFlorian Fainelli            compatible = "brcm,asp-v2.0-mdio";
131a29401beSFlorian Fainelli            reg = <0xce14 0x8>;
132a29401beSFlorian Fainelli            reg-names = "mdio";
133a29401beSFlorian Fainelli            #address-cells = <1>;
134a29401beSFlorian Fainelli            #size-cells = <0>;
135a29401beSFlorian Fainelli
136a29401beSFlorian Fainelli            phy1: ethernet-phy@1 {
137a29401beSFlorian Fainelli                reg = <1>;
138a29401beSFlorian Fainelli            };
139a29401beSFlorian Fainelli        };
140a29401beSFlorian Fainelli
141a29401beSFlorian Fainelli        ethernet-ports {
142a29401beSFlorian Fainelli            #address-cells = <1>;
143a29401beSFlorian Fainelli            #size-cells = <0>;
144a29401beSFlorian Fainelli
145a29401beSFlorian Fainelli            port@0 {
146a29401beSFlorian Fainelli                reg = <0>;
147a29401beSFlorian Fainelli                brcm,channel = <8>;
148a29401beSFlorian Fainelli                phy-mode = "rgmii";
149a29401beSFlorian Fainelli                phy-handle = <&phy0>;
150a29401beSFlorian Fainelli            };
151a29401beSFlorian Fainelli
152a29401beSFlorian Fainelli            port@1 {
153a29401beSFlorian Fainelli                reg = <1>;
154a29401beSFlorian Fainelli                brcm,channel = <9>;
155a29401beSFlorian Fainelli                phy-mode = "rgmii";
156a29401beSFlorian Fainelli                phy-handle = <&phy1>;
157a29401beSFlorian Fainelli            };
158a29401beSFlorian Fainelli        };
159a29401beSFlorian Fainelli    };
160