1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/net/smsc,lan9115.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Smart Mixed-Signal Connectivity (SMSC) LAN911x/912x Controller
8
9maintainers:
10  - Shawn Guo <shawnguo@kernel.org>
11
12allOf:
13  - $ref: ethernet-controller.yaml#
14
15properties:
16  compatible:
17    oneOf:
18      - const: smsc,lan9115
19      - items:
20          - enum:
21              - smsc,lan89218
22              - smsc,lan9117
23              - smsc,lan9118
24              - smsc,lan9220
25              - smsc,lan9221
26          - const: smsc,lan9115
27
28  reg:
29    maxItems: 1
30
31  reg-shift: true
32
33  reg-io-width:
34    enum: [ 2, 4 ]
35    default: 2
36
37  interrupts:
38    minItems: 1
39    items:
40      - description:
41          LAN interrupt line
42      - description:
43          Optional PME (power management event) interrupt that is able to wake
44          up the host system with a 50ms pulse on network activity
45
46  clocks:
47    maxItems: 1
48
49  phy-mode: true
50
51  smsc,irq-active-high:
52    type: boolean
53    description: Indicates the IRQ polarity is active-high
54
55  smsc,irq-push-pull:
56    type: boolean
57    description: Indicates the IRQ type is push-pull
58
59  smsc,force-internal-phy:
60    type: boolean
61    description: Forces SMSC LAN controller to use internal PHY
62
63  smsc,force-external-phy:
64    type: boolean
65    description: Forces SMSC LAN controller to use external PHY
66
67  smsc,save-mac-address:
68    type: boolean
69    description:
70      Indicates that MAC address needs to be saved before resetting the
71      controller
72
73  reset-gpios:
74    maxItems: 1
75    description:
76      A GPIO line connected to the RESET (active low) signal of the device.
77      On many systems this is wired high so the device goes out of reset at
78      power-on, but if it is under program control, this optional GPIO can
79      wake up in response to it.
80
81  vdd33a-supply:
82    description: 3.3V analog power supply
83
84  vddvario-supply:
85    description: IO logic power supply
86
87required:
88  - compatible
89  - reg
90  - interrupts
91
92# There are lots of bus-specific properties ("qcom,*", "samsung,*", "fsl,*",
93# "gpmc,*", ...) to be found, that actually depend on the compatible value of
94# the parent node.
95additionalProperties: true
96
97examples:
98  - |
99    #include <dt-bindings/gpio/gpio.h>
100
101    ethernet@f4000000 {
102            compatible = "smsc,lan9220", "smsc,lan9115";
103            reg = <0xf4000000 0x2000000>;
104            phy-mode = "mii";
105            interrupt-parent = <&gpio1>;
106            interrupts = <31>, <32>;
107            reset-gpios = <&gpio1 30 GPIO_ACTIVE_LOW>;
108            reg-io-width = <4>;
109            smsc,irq-push-pull;
110    };
111