Kernel-4.18.0-80.el8_smsc911x

  • Smart Mixed-Signal Connectivity (SMSC) LAN911x/912x Controller

Required properties:

  • compatible : Should be “smsc,lan“, “smsc,lan9115”
  • reg : Address and length of the io space for SMSC LAN
  • interrupts : one or two interrupt specifiers
    • The first interrupt is the SMSC LAN interrupt line
    • The second interrupt (if present) is the PME (power
      management event) interrupt that is able to wake up the host
      system with a 50ms pulse on network activity
  • phy-mode : See ethernet.txt file in the same directory

Optional properties:

  • reg-shift : Specify the quantity to shift the register offsets by
  • reg-io-width : Specify the size (in bytes) of the IO accesses that
    should be performed on the device. Valid value for SMSC LAN is
    2 or 4. If it’s omitted or invalid, the size would be 2.
  • smsc,irq-active-high : Indicates the IRQ polarity is active-high
  • smsc,irq-push-pull : Indicates the IRQ type is push-pull
  • smsc,force-internal-phy : Forces SMSC LAN controller to use
    internal PHY
  • smsc,force-external-phy : Forces SMSC LAN controller to use
    external PHY
  • smsc,save-mac-address : Indicates that mac address needs to be saved
    before resetting the controller
  • reset-gpios : a GPIO line connected to the RESET (active low) signal
    of the device. On many systems this is wired high so the device goes
    out of reset at power-on, but if it is under program control, this
    optional GPIO can wake up in response to it.
  • vdd33a-supply, vddvario-supply : 3.3V analog and IO logic power supplies

Examples:

lan9220@f4000000 {
compatible = “smsc,lan9220”, “smsc,lan9115”;
reg = <0xf4000000 0x2000000>;
phy-mode = “mii”;
interrupt-parent = <&gpio1>;
interrupts = <31>, <32>;
reset-gpios = <&gpio1 30 GPIO_ACTIVE_LOW>;
reg-io-width = <4>;
smsc,irq-push-pull;
};