xref: /linux/Documentation/devicetree/bindings/net/microchip,lan7800.yaml (revision 91ec2035134982b98fab0609a9fd8480e8217dc1)
1*c86cfc98SMikhail Lukianchikov# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*c86cfc98SMikhail Lukianchikov%YAML 1.2
3*c86cfc98SMikhail Lukianchikov---
4*c86cfc98SMikhail Lukianchikov$id: http://devicetree.org/schemas/net/microchip,lan7800.yaml#
5*c86cfc98SMikhail Lukianchikov$schema: http://devicetree.org/meta-schemas/core.yaml#
6*c86cfc98SMikhail Lukianchikov
7*c86cfc98SMikhail Lukianchikovtitle: Microchip LAN7800/LAN7801/LAN7850 Gigabit Ethernet controller
8*c86cfc98SMikhail Lukianchikov
9*c86cfc98SMikhail Lukianchikovmaintainers:
10*c86cfc98SMikhail Lukianchikov  - Thangaraj Samynathan <Thangaraj.S@microchip.com>
11*c86cfc98SMikhail Lukianchikov  - Rengarajan Sundararajan <Rengarajan.S@microchip.com>
12*c86cfc98SMikhail Lukianchikov
13*c86cfc98SMikhail Lukianchikovdescription:
14*c86cfc98SMikhail Lukianchikov  The LAN7800/LAN7801/LAN7850 devices are usually configured by
15*c86cfc98SMikhail Lukianchikov  programming their OTP or with an external EEPROM, but some
16*c86cfc98SMikhail Lukianchikov  platforms (e.g. Raspberry Pi 3 B+) have neither. The Device Tree
17*c86cfc98SMikhail Lukianchikov  properties, if present, override the OTP and EEPROM.
18*c86cfc98SMikhail Lukianchikov
19*c86cfc98SMikhail LukianchikovallOf:
20*c86cfc98SMikhail Lukianchikov  - $ref: /schemas/usb/usb-device.yaml#
21*c86cfc98SMikhail Lukianchikov  - $ref: /schemas/net/ethernet-controller.yaml#
22*c86cfc98SMikhail Lukianchikov
23*c86cfc98SMikhail Lukianchikovproperties:
24*c86cfc98SMikhail Lukianchikov  compatible:
25*c86cfc98SMikhail Lukianchikov    enum:
26*c86cfc98SMikhail Lukianchikov      - usb424,7800
27*c86cfc98SMikhail Lukianchikov      - usb424,7801
28*c86cfc98SMikhail Lukianchikov      - usb424,7850
29*c86cfc98SMikhail Lukianchikov
30*c86cfc98SMikhail Lukianchikov  reg:
31*c86cfc98SMikhail Lukianchikov    maxItems: 1
32*c86cfc98SMikhail Lukianchikov    description: USB port number
33*c86cfc98SMikhail Lukianchikov
34*c86cfc98SMikhail Lukianchikov  mdio:
35*c86cfc98SMikhail Lukianchikov    $ref: /schemas/net/mdio.yaml#
36*c86cfc98SMikhail Lukianchikov    unevaluatedProperties: false
37*c86cfc98SMikhail Lukianchikov
38*c86cfc98SMikhail Lukianchikov    patternProperties:
39*c86cfc98SMikhail Lukianchikov      "^ethernet-phy(@[0-9a-f]+)?$":
40*c86cfc98SMikhail Lukianchikov        $ref: /schemas/net/ethernet-phy.yaml#
41*c86cfc98SMikhail Lukianchikov        unevaluatedProperties: false
42*c86cfc98SMikhail Lukianchikov        type: object
43*c86cfc98SMikhail Lukianchikov
44*c86cfc98SMikhail Lukianchikov        properties:
45*c86cfc98SMikhail Lukianchikov          microchip,led-modes:
46*c86cfc98SMikhail Lukianchikov            $ref: /schemas/types.yaml#/definitions/uint32-array
47*c86cfc98SMikhail Lukianchikov            minItems: 1
48*c86cfc98SMikhail Lukianchikov            maxItems: 4
49*c86cfc98SMikhail Lukianchikov            description:
50*c86cfc98SMikhail Lukianchikov              Array of LED mode values for each of up to 4 LEDs.
51*c86cfc98SMikhail Lukianchikov              Omitted LEDs are turned off. Allowed values are defined
52*c86cfc98SMikhail Lukianchikov              in include/dt-bindings/net/microchip-lan78xx.h.
53*c86cfc98SMikhail Lukianchikov
54*c86cfc98SMikhail Lukianchikov        required:
55*c86cfc98SMikhail Lukianchikov          - reg
56*c86cfc98SMikhail Lukianchikov
57*c86cfc98SMikhail Lukianchikovrequired:
58*c86cfc98SMikhail Lukianchikov  - compatible
59*c86cfc98SMikhail Lukianchikov  - reg
60*c86cfc98SMikhail Lukianchikov
61*c86cfc98SMikhail LukianchikovunevaluatedProperties: false
62*c86cfc98SMikhail Lukianchikov
63*c86cfc98SMikhail Lukianchikovexamples:
64*c86cfc98SMikhail Lukianchikov  - |
65*c86cfc98SMikhail Lukianchikov    #include <dt-bindings/net/microchip-lan78xx.h>
66*c86cfc98SMikhail Lukianchikov
67*c86cfc98SMikhail Lukianchikov    usb {
68*c86cfc98SMikhail Lukianchikov        #address-cells = <1>;
69*c86cfc98SMikhail Lukianchikov        #size-cells = <0>;
70*c86cfc98SMikhail Lukianchikov
71*c86cfc98SMikhail Lukianchikov        ethernet@1 {
72*c86cfc98SMikhail Lukianchikov            compatible = "usb424,7800";
73*c86cfc98SMikhail Lukianchikov            reg = <1>;
74*c86cfc98SMikhail Lukianchikov            local-mac-address = [00 11 22 33 44 55];
75*c86cfc98SMikhail Lukianchikov
76*c86cfc98SMikhail Lukianchikov            mdio {
77*c86cfc98SMikhail Lukianchikov                #address-cells = <1>;
78*c86cfc98SMikhail Lukianchikov                #size-cells = <0>;
79*c86cfc98SMikhail Lukianchikov                ethernet-phy@1 {
80*c86cfc98SMikhail Lukianchikov                    reg = <1>;
81*c86cfc98SMikhail Lukianchikov                    microchip,led-modes = <
82*c86cfc98SMikhail Lukianchikov                        LAN78XX_LINK_1000_ACTIVITY
83*c86cfc98SMikhail Lukianchikov                        LAN78XX_LINK_10_100_ACTIVITY
84*c86cfc98SMikhail Lukianchikov                    >;
85*c86cfc98SMikhail Lukianchikov                };
86*c86cfc98SMikhail Lukianchikov            };
87*c86cfc98SMikhail Lukianchikov        };
88*c86cfc98SMikhail Lukianchikov    };
89*c86cfc98SMikhail Lukianchikov...
90