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