18c2ecf20Sopenharmony_ciMicrochip LAN78xx Gigabit Ethernet controller
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciThe LAN78XX devices are usually configured by programming their OTP or with
48c2ecf20Sopenharmony_cian external EEPROM, but some platforms (e.g. Raspberry Pi 3 B+) have neither.
58c2ecf20Sopenharmony_ciThe Device Tree properties, if present, override the OTP and EEPROM.
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ciRequired properties:
88c2ecf20Sopenharmony_ci- compatible: Should be one of "usb424,7800", "usb424,7801" or "usb424,7850".
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ciThe MAC address will be determined using the optional properties
118c2ecf20Sopenharmony_cidefined in ethernet.txt.
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ciOptional properties of the embedded PHY:
148c2ecf20Sopenharmony_ci- microchip,led-modes: a 0..4 element vector, with each element configuring
158c2ecf20Sopenharmony_ci  the operating mode of an LED. Omitted LEDs are turned off. Allowed values
168c2ecf20Sopenharmony_ci  are defined in "include/dt-bindings/net/microchip-lan78xx.h".
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ciExample:
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci/* Based on the configuration for a Raspberry Pi 3 B+ */
218c2ecf20Sopenharmony_ci&usb {
228c2ecf20Sopenharmony_ci	usb-port@1 {
238c2ecf20Sopenharmony_ci		compatible = "usb424,2514";
248c2ecf20Sopenharmony_ci		reg = <1>;
258c2ecf20Sopenharmony_ci		#address-cells = <1>;
268c2ecf20Sopenharmony_ci		#size-cells = <0>;
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci		usb-port@1 {
298c2ecf20Sopenharmony_ci			compatible = "usb424,2514";
308c2ecf20Sopenharmony_ci			reg = <1>;
318c2ecf20Sopenharmony_ci			#address-cells = <1>;
328c2ecf20Sopenharmony_ci			#size-cells = <0>;
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ci			ethernet: ethernet@1 {
358c2ecf20Sopenharmony_ci				compatible = "usb424,7800";
368c2ecf20Sopenharmony_ci				reg = <1>;
378c2ecf20Sopenharmony_ci				local-mac-address = [ 00 11 22 33 44 55 ];
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ci				mdio {
408c2ecf20Sopenharmony_ci					#address-cells = <0x1>;
418c2ecf20Sopenharmony_ci					#size-cells = <0x0>;
428c2ecf20Sopenharmony_ci					eth_phy: ethernet-phy@1 {
438c2ecf20Sopenharmony_ci						reg = <1>;
448c2ecf20Sopenharmony_ci						microchip,led-modes = <
458c2ecf20Sopenharmony_ci							LAN78XX_LINK_1000_ACTIVITY
468c2ecf20Sopenharmony_ci							LAN78XX_LINK_10_100_ACTIVITY
478c2ecf20Sopenharmony_ci						>;
488c2ecf20Sopenharmony_ci					};
498c2ecf20Sopenharmony_ci				};
508c2ecf20Sopenharmony_ci			};
518c2ecf20Sopenharmony_ci		};
528c2ecf20Sopenharmony_ci	};
538c2ecf20Sopenharmony_ci};
54