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