^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) * Smart Mixed-Signal Connectivity (SMSC) LAN911x/912x Controller
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) Required properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) - compatible : Should be "smsc,lan<model>", "smsc,lan9115"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) - reg : Address and length of the io space for SMSC LAN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) - interrupts : one or two interrupt specifiers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) - The first interrupt is the SMSC LAN interrupt line
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) - The second interrupt (if present) is the PME (power
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) management event) interrupt that is able to wake up the host
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) system with a 50ms pulse on network activity
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) - phy-mode : See ethernet.txt file in the same directory
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) Optional properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) - reg-shift : Specify the quantity to shift the register offsets by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) - reg-io-width : Specify the size (in bytes) of the IO accesses that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) should be performed on the device. Valid value for SMSC LAN is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) 2 or 4. If it's omitted or invalid, the size would be 2.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) - smsc,irq-active-high : Indicates the IRQ polarity is active-high
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) - smsc,irq-push-pull : Indicates the IRQ type is push-pull
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) - smsc,force-internal-phy : Forces SMSC LAN controller to use
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) internal PHY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) - smsc,force-external-phy : Forces SMSC LAN controller to use
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) external PHY
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) - smsc,save-mac-address : Indicates that mac address needs to be saved
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) before resetting the controller
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) - reset-gpios : a GPIO line connected to the RESET (active low) signal
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) of the device. On many systems this is wired high so the device goes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) out of reset at power-on, but if it is under program control, this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) optional GPIO can wake up in response to it.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) - vdd33a-supply, vddvario-supply : 3.3V analog and IO logic power supplies
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) Examples:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) lan9220@f4000000 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) compatible = "smsc,lan9220", "smsc,lan9115";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) reg = <0xf4000000 0x2000000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) phy-mode = "mii";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) interrupt-parent = <&gpio1>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) interrupts = <31>, <32>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) reset-gpios = <&gpio1 30 GPIO_ACTIVE_LOW>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) reg-io-width = <4>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) smsc,irq-push-pull;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) };