18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Copyright (c) 1999-2013 Petko Manolov (petkan@nucleusys.com)
48c2ecf20Sopenharmony_ci */
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ci#ifndef	PEGASUS_DEV
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ci#define	PEGASUS_II		0x80000000
108c2ecf20Sopenharmony_ci#define	HAS_HOME_PNA		0x40000000
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ci#define	PEGASUS_MTU		1536
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ci#define	EPROM_WRITE		0x01
158c2ecf20Sopenharmony_ci#define	EPROM_READ		0x02
168c2ecf20Sopenharmony_ci#define	EPROM_DONE		0x04
178c2ecf20Sopenharmony_ci#define	EPROM_WR_ENABLE		0x10
188c2ecf20Sopenharmony_ci#define	EPROM_LOAD		0x20
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci#define	PHY_DONE		0x80
218c2ecf20Sopenharmony_ci#define	PHY_READ		0x40
228c2ecf20Sopenharmony_ci#define	PHY_WRITE		0x20
238c2ecf20Sopenharmony_ci#define	DEFAULT_GPIO_RESET	0x24
248c2ecf20Sopenharmony_ci#define	DEFAULT_GPIO_SET	0x26
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci#define	PEGASUS_PRESENT		0x00000001
278c2ecf20Sopenharmony_ci#define	PEGASUS_TX_BUSY		0x00000004
288c2ecf20Sopenharmony_ci#define	PEGASUS_RX_BUSY		0x00000008
298c2ecf20Sopenharmony_ci#define	CTRL_URB_RUNNING	0x00000010
308c2ecf20Sopenharmony_ci#define	CTRL_URB_SLEEP		0x00000020
318c2ecf20Sopenharmony_ci#define	PEGASUS_UNPLUG		0x00000040
328c2ecf20Sopenharmony_ci#define	PEGASUS_RX_URB_FAIL	0x00000080
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ci#define	RX_MULTICAST		2
358c2ecf20Sopenharmony_ci#define	RX_PROMISCUOUS		4
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci#define	REG_TIMEOUT		(HZ)
388c2ecf20Sopenharmony_ci#define	PEGASUS_TX_TIMEOUT	(HZ*10)
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci#define	TX_UNDERRUN		0x80
418c2ecf20Sopenharmony_ci#define	EXCESSIVE_COL		0x40
428c2ecf20Sopenharmony_ci#define	LATE_COL		0x20
438c2ecf20Sopenharmony_ci#define	NO_CARRIER		0x10
448c2ecf20Sopenharmony_ci#define	LOSS_CARRIER		0x08
458c2ecf20Sopenharmony_ci#define	JABBER_TIMEOUT		0x04
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci#define	LINK_STATUS		0x01
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ci#define	PEGASUS_REQT_READ	0xc0
508c2ecf20Sopenharmony_ci#define	PEGASUS_REQT_WRITE	0x40
518c2ecf20Sopenharmony_ci#define	PEGASUS_REQ_GET_REGS	0xf0
528c2ecf20Sopenharmony_ci#define	PEGASUS_REQ_SET_REGS	0xf1
538c2ecf20Sopenharmony_ci#define	PEGASUS_REQ_SET_REG	PEGASUS_REQ_SET_REGS
548c2ecf20Sopenharmony_ci
558c2ecf20Sopenharmony_cienum pegasus_registers {
568c2ecf20Sopenharmony_ci	EthCtrl0 = 0,
578c2ecf20Sopenharmony_ci	EthCtrl1 = 1,
588c2ecf20Sopenharmony_ci	EthCtrl2 = 2,
598c2ecf20Sopenharmony_ci	EthID = 0x10,
608c2ecf20Sopenharmony_ci	Reg1d = 0x1d,
618c2ecf20Sopenharmony_ci	EpromOffset = 0x20,
628c2ecf20Sopenharmony_ci	EpromData = 0x21,	/* 0x21 low, 0x22 high byte */
638c2ecf20Sopenharmony_ci	EpromCtrl = 0x23,
648c2ecf20Sopenharmony_ci	PhyAddr = 0x25,
658c2ecf20Sopenharmony_ci	PhyData = 0x26,		/* 0x26 low, 0x27 high byte */
668c2ecf20Sopenharmony_ci	PhyCtrl = 0x28,
678c2ecf20Sopenharmony_ci	UsbStst = 0x2a,
688c2ecf20Sopenharmony_ci	EthTxStat0 = 0x2b,
698c2ecf20Sopenharmony_ci	EthTxStat1 = 0x2c,
708c2ecf20Sopenharmony_ci	EthRxStat = 0x2d,
718c2ecf20Sopenharmony_ci	WakeupControl = 0x78,
728c2ecf20Sopenharmony_ci	Reg7b = 0x7b,
738c2ecf20Sopenharmony_ci	Gpio0 = 0x7e,
748c2ecf20Sopenharmony_ci	Gpio1 = 0x7f,
758c2ecf20Sopenharmony_ci	Reg81 = 0x81,
768c2ecf20Sopenharmony_ci};
778c2ecf20Sopenharmony_ci
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_citypedef struct pegasus {
808c2ecf20Sopenharmony_ci	struct usb_device	*usb;
818c2ecf20Sopenharmony_ci	struct usb_interface	*intf;
828c2ecf20Sopenharmony_ci	struct net_device	*net;
838c2ecf20Sopenharmony_ci	struct mii_if_info	mii;
848c2ecf20Sopenharmony_ci	unsigned		flags;
858c2ecf20Sopenharmony_ci	unsigned		features;
868c2ecf20Sopenharmony_ci	u32			msg_enable;
878c2ecf20Sopenharmony_ci	u32			wolopts;
888c2ecf20Sopenharmony_ci	int			dev_index;
898c2ecf20Sopenharmony_ci	int			intr_interval;
908c2ecf20Sopenharmony_ci	struct tasklet_struct	rx_tl;
918c2ecf20Sopenharmony_ci	struct delayed_work	carrier_check;
928c2ecf20Sopenharmony_ci	struct urb		*rx_urb, *tx_urb, *intr_urb;
938c2ecf20Sopenharmony_ci	struct sk_buff		*rx_skb;
948c2ecf20Sopenharmony_ci	int			chip;
958c2ecf20Sopenharmony_ci	unsigned char		intr_buff[8];
968c2ecf20Sopenharmony_ci	__u8			tx_buff[PEGASUS_MTU];
978c2ecf20Sopenharmony_ci	__u8			eth_regs[4];
988c2ecf20Sopenharmony_ci	__u8			phy;
998c2ecf20Sopenharmony_ci	__u8			gpio_res;
1008c2ecf20Sopenharmony_ci} pegasus_t;
1018c2ecf20Sopenharmony_ci
1028c2ecf20Sopenharmony_ci
1038c2ecf20Sopenharmony_cistruct usb_eth_dev {
1048c2ecf20Sopenharmony_ci	char	*name;
1058c2ecf20Sopenharmony_ci	__u16	vendor;
1068c2ecf20Sopenharmony_ci	__u16	device;
1078c2ecf20Sopenharmony_ci	__u32	private; /* LSB is gpio reset value */
1088c2ecf20Sopenharmony_ci};
1098c2ecf20Sopenharmony_ci
1108c2ecf20Sopenharmony_ci#define	VENDOR_3COM		0x0506
1118c2ecf20Sopenharmony_ci#define	VENDOR_ABOCOM		0x07b8
1128c2ecf20Sopenharmony_ci#define	VENDOR_ACCTON		0x083a
1138c2ecf20Sopenharmony_ci#define	VENDOR_ADMTEK		0x07a6
1148c2ecf20Sopenharmony_ci#define	VENDOR_AEILAB		0x3334
1158c2ecf20Sopenharmony_ci#define	VENDOR_ALLIEDTEL	0x07c9
1168c2ecf20Sopenharmony_ci#define	VENDOR_ATEN		0x0557
1178c2ecf20Sopenharmony_ci#define	VENDOR_BELKIN		0x050d
1188c2ecf20Sopenharmony_ci#define	VENDOR_BILLIONTON	0x08dd
1198c2ecf20Sopenharmony_ci#define	VENDOR_COMPAQ		0x049f
1208c2ecf20Sopenharmony_ci#define	VENDOR_COREGA		0x07aa
1218c2ecf20Sopenharmony_ci#define	VENDOR_DLINK		0x2001
1228c2ecf20Sopenharmony_ci#define	VENDOR_ELCON		0x0db7
1238c2ecf20Sopenharmony_ci#define	VENDOR_ELECOM		0x056e
1248c2ecf20Sopenharmony_ci#define	VENDOR_ELSA		0x05cc
1258c2ecf20Sopenharmony_ci#define	VENDOR_GIGABYTE		0x1044
1268c2ecf20Sopenharmony_ci#define	VENDOR_HAWKING		0x0e66
1278c2ecf20Sopenharmony_ci#define	VENDOR_HP		0x03f0
1288c2ecf20Sopenharmony_ci#define	VENDOR_IODATA		0x04bb
1298c2ecf20Sopenharmony_ci#define	VENDOR_KINGSTON		0x0951
1308c2ecf20Sopenharmony_ci#define	VENDOR_LANEED		0x056e
1318c2ecf20Sopenharmony_ci#define	VENDOR_LINKSYS		0x066b
1328c2ecf20Sopenharmony_ci#define	VENDOR_LINKSYS2		0x077b
1338c2ecf20Sopenharmony_ci#define	VENDOR_MELCO		0x0411
1348c2ecf20Sopenharmony_ci#define	VENDOR_MICROSOFT	0x045e
1358c2ecf20Sopenharmony_ci#define	VENDOR_MOBILITY		0x1342
1368c2ecf20Sopenharmony_ci#define	VENDOR_NETGEAR		0x0846
1378c2ecf20Sopenharmony_ci#define	VENDOR_OCT		0x0b39
1388c2ecf20Sopenharmony_ci#define	VENDOR_SMARTBRIDGES	0x08d1
1398c2ecf20Sopenharmony_ci#define	VENDOR_SMC		0x0707
1408c2ecf20Sopenharmony_ci#define	VENDOR_SOHOWARE		0x15e8
1418c2ecf20Sopenharmony_ci#define	VENDOR_SIEMENS		0x067c
1428c2ecf20Sopenharmony_ci
1438c2ecf20Sopenharmony_ci
1448c2ecf20Sopenharmony_ci#else	/* PEGASUS_DEV */
1458c2ecf20Sopenharmony_ci
1468c2ecf20Sopenharmony_ciPEGASUS_DEV("3Com USB Ethernet 3C460B", VENDOR_3COM, 0x4601,
1478c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
1488c2ecf20Sopenharmony_ciPEGASUS_DEV("ATEN USB Ethernet UC-110T", VENDOR_ATEN, 0x2007,
1498c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
1508c2ecf20Sopenharmony_ciPEGASUS_DEV("USB HPNA/Ethernet", VENDOR_ABOCOM, 0x110c,
1518c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II | HAS_HOME_PNA)
1528c2ecf20Sopenharmony_ciPEGASUS_DEV("USB HPNA/Ethernet", VENDOR_ABOCOM, 0x4104,
1538c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | HAS_HOME_PNA)
1548c2ecf20Sopenharmony_ciPEGASUS_DEV("USB HPNA/Ethernet", VENDOR_ABOCOM, 0x4004,
1558c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | HAS_HOME_PNA)
1568c2ecf20Sopenharmony_ciPEGASUS_DEV("USB HPNA/Ethernet", VENDOR_ABOCOM, 0x4007,
1578c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | HAS_HOME_PNA)
1588c2ecf20Sopenharmony_ciPEGASUS_DEV("USB 10/100 Fast Ethernet", VENDOR_ABOCOM, 0x4102,
1598c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
1608c2ecf20Sopenharmony_ciPEGASUS_DEV("USB 10/100 Fast Ethernet", VENDOR_ABOCOM, 0x4002,
1618c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET)
1628c2ecf20Sopenharmony_ciPEGASUS_DEV("USB 10/100 Fast Ethernet", VENDOR_ABOCOM, 0x400b,
1638c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
1648c2ecf20Sopenharmony_ciPEGASUS_DEV("USB 10/100 Fast Ethernet", VENDOR_ABOCOM, 0x400c,
1658c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
1668c2ecf20Sopenharmony_ciPEGASUS_DEV("USB 10/100 Fast Ethernet", VENDOR_ABOCOM, 0xabc1,
1678c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET)
1688c2ecf20Sopenharmony_ciPEGASUS_DEV("USB 10/100 Fast Ethernet", VENDOR_ABOCOM, 0x200c,
1698c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
1708c2ecf20Sopenharmony_ciPEGASUS_DEV("Accton USB 10/100 Ethernet Adapter", VENDOR_ACCTON, 0x1046,
1718c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET)
1728c2ecf20Sopenharmony_ciPEGASUS_DEV("SpeedStream USB 10/100 Ethernet", VENDOR_ACCTON, 0x5046,
1738c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
1748c2ecf20Sopenharmony_ciPEGASUS_DEV("Philips USB 10/100 Ethernet", VENDOR_ACCTON, 0xb004,
1758c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
1768c2ecf20Sopenharmony_ciPEGASUS_DEV("ADMtek ADM8511 \"Pegasus II\" USB Ethernet",
1778c2ecf20Sopenharmony_ci		VENDOR_ADMTEK, 0x8511,
1788c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II | HAS_HOME_PNA)
1798c2ecf20Sopenharmony_ciPEGASUS_DEV("ADMtek ADM8513 \"Pegasus II\" USB Ethernet",
1808c2ecf20Sopenharmony_ci		VENDOR_ADMTEK, 0x8513,
1818c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
1828c2ecf20Sopenharmony_ciPEGASUS_DEV("ADMtek ADM8515 \"Pegasus II\" USB-2.0 Ethernet",
1838c2ecf20Sopenharmony_ci		VENDOR_ADMTEK, 0x8515,
1848c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
1858c2ecf20Sopenharmony_ciPEGASUS_DEV("ADMtek AN986 \"Pegasus\" USB Ethernet (evaluation board)",
1868c2ecf20Sopenharmony_ci		VENDOR_ADMTEK, 0x0986,
1878c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | HAS_HOME_PNA)
1888c2ecf20Sopenharmony_ciPEGASUS_DEV("AN986A USB MAC", VENDOR_ADMTEK, 1986,
1898c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
1908c2ecf20Sopenharmony_ciPEGASUS_DEV("AEI USB Fast Ethernet Adapter", VENDOR_AEILAB, 0x1701,
1918c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
1928c2ecf20Sopenharmony_ciPEGASUS_DEV("Allied Telesyn Int. AT-USB100", VENDOR_ALLIEDTEL, 0xb100,
1938c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
1948c2ecf20Sopenharmony_ci/*
1958c2ecf20Sopenharmony_ci * Distinguish between this Belkin adaptor and the Belkin bluetooth adaptors
1968c2ecf20Sopenharmony_ci * with the same product IDs by checking the device class too.
1978c2ecf20Sopenharmony_ci */
1988c2ecf20Sopenharmony_ciPEGASUS_DEV_CLASS("Belkin F5D5050 USB Ethernet", VENDOR_BELKIN, 0x0121, 0x00,
1998c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
2008c2ecf20Sopenharmony_ciPEGASUS_DEV("Belkin F5U122 10/100 USB Ethernet", VENDOR_BELKIN, 0x0122,
2018c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
2028c2ecf20Sopenharmony_ciPEGASUS_DEV("Billionton USB-100", VENDOR_BILLIONTON, 0x0986,
2038c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET)
2048c2ecf20Sopenharmony_ciPEGASUS_DEV("Billionton USBLP-100", VENDOR_BILLIONTON, 0x0987,
2058c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | HAS_HOME_PNA)
2068c2ecf20Sopenharmony_ciPEGASUS_DEV("iPAQ Networking 10/100 USB", VENDOR_COMPAQ, 0x8511,
2078c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
2088c2ecf20Sopenharmony_ciPEGASUS_DEV("Billionton USBEL-100", VENDOR_BILLIONTON, 0x0988,
2098c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET)
2108c2ecf20Sopenharmony_ciPEGASUS_DEV("Billionton USBE-100", VENDOR_BILLIONTON, 0x8511,
2118c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
2128c2ecf20Sopenharmony_ciPEGASUS_DEV("Corega FEther USB-TX", VENDOR_COREGA, 0x0004,
2138c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET)
2148c2ecf20Sopenharmony_ciPEGASUS_DEV("Corega FEther USB-TXS", VENDOR_COREGA, 0x000d,
2158c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
2168c2ecf20Sopenharmony_ciPEGASUS_DEV("D-Link DSB-650TX", VENDOR_DLINK, 0x4001,
2178c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET)
2188c2ecf20Sopenharmony_ciPEGASUS_DEV("D-Link DSB-650TX", VENDOR_DLINK, 0x4002,
2198c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET)
2208c2ecf20Sopenharmony_ciPEGASUS_DEV("D-Link DSB-650TX", VENDOR_DLINK, 0x4102,
2218c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
2228c2ecf20Sopenharmony_ciPEGASUS_DEV("D-Link DSB-650TX", VENDOR_DLINK, 0x400b,
2238c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
2248c2ecf20Sopenharmony_ciPEGASUS_DEV("D-Link DSB-650TX", VENDOR_DLINK, 0x200c,
2258c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
2268c2ecf20Sopenharmony_ciPEGASUS_DEV("D-Link DSB-650TX(PNA)", VENDOR_DLINK, 0x4003,
2278c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | HAS_HOME_PNA)
2288c2ecf20Sopenharmony_ciPEGASUS_DEV("D-Link DSB-650", VENDOR_DLINK, 0xabc1,
2298c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET)
2308c2ecf20Sopenharmony_ciPEGASUS_DEV("GOLDPFEIL USB Adapter", VENDOR_ELCON, 0x0002,
2318c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II | HAS_HOME_PNA)
2328c2ecf20Sopenharmony_ciPEGASUS_DEV("ELECOM USB Ethernet LD-USB20", VENDOR_ELECOM,  0x4010,
2338c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET  | PEGASUS_II)
2348c2ecf20Sopenharmony_ciPEGASUS_DEV("EasiDock Ethernet", VENDOR_MOBILITY, 0x0304,
2358c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET)
2368c2ecf20Sopenharmony_ciPEGASUS_DEV("Elsa Micolink USB2Ethernet", VENDOR_ELSA, 0x3000,
2378c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET)
2388c2ecf20Sopenharmony_ciPEGASUS_DEV("GIGABYTE GN-BR402W Wireless Router", VENDOR_GIGABYTE, 0x8002,
2398c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET)
2408c2ecf20Sopenharmony_ciPEGASUS_DEV("Hawking UF100 10/100 Ethernet", VENDOR_HAWKING, 0x400c,
2418c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
2428c2ecf20Sopenharmony_ciPEGASUS_DEV("HP hn210c Ethernet USB", VENDOR_HP, 0x811c,
2438c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
2448c2ecf20Sopenharmony_ciPEGASUS_DEV("IO DATA USB ET/TX", VENDOR_IODATA, 0x0904,
2458c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET)
2468c2ecf20Sopenharmony_ciPEGASUS_DEV("IO DATA USB ET/TX-S", VENDOR_IODATA, 0x0913,
2478c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
2488c2ecf20Sopenharmony_ciPEGASUS_DEV("IO DATA USB ETX-US2", VENDOR_IODATA, 0x093a,
2498c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
2508c2ecf20Sopenharmony_ciPEGASUS_DEV("Kingston KNU101TX Ethernet", VENDOR_KINGSTON, 0x000a,
2518c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET)
2528c2ecf20Sopenharmony_ciPEGASUS_DEV("LANEED USB Ethernet LD-USB/TX", VENDOR_LANEED, 0x4002,
2538c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET)
2548c2ecf20Sopenharmony_ciPEGASUS_DEV("LANEED USB Ethernet LD-USBL/TX", VENDOR_LANEED, 0x4005,
2558c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
2568c2ecf20Sopenharmony_ciPEGASUS_DEV("LANEED USB Ethernet LD-USB/TX", VENDOR_LANEED, 0x400b,
2578c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
2588c2ecf20Sopenharmony_ciPEGASUS_DEV("LANEED USB Ethernet LD-USB/T", VENDOR_LANEED, 0xabc1,
2598c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET)
2608c2ecf20Sopenharmony_ciPEGASUS_DEV("LANEED USB Ethernet LD-USB/TX", VENDOR_LANEED, 0x200c,
2618c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
2628c2ecf20Sopenharmony_ciPEGASUS_DEV("Linksys USB10TX", VENDOR_LINKSYS, 0x2202,
2638c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET)
2648c2ecf20Sopenharmony_ciPEGASUS_DEV("Linksys USB100TX", VENDOR_LINKSYS, 0x2203,
2658c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET)
2668c2ecf20Sopenharmony_ciPEGASUS_DEV("Linksys USB100TX", VENDOR_LINKSYS, 0x2204,
2678c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | HAS_HOME_PNA)
2688c2ecf20Sopenharmony_ciPEGASUS_DEV("Linksys USB10T Ethernet Adapter", VENDOR_LINKSYS, 0x2206,
2698c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
2708c2ecf20Sopenharmony_ciPEGASUS_DEV("Linksys USBVPN1", VENDOR_LINKSYS2, 0x08b4,
2718c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET)
2728c2ecf20Sopenharmony_ciPEGASUS_DEV("Linksys USB USB100TX", VENDOR_LINKSYS, 0x400b,
2738c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
2748c2ecf20Sopenharmony_ciPEGASUS_DEV("Linksys USB10TX", VENDOR_LINKSYS, 0x200c,
2758c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
2768c2ecf20Sopenharmony_ciPEGASUS_DEV("MELCO/BUFFALO LUA-TX", VENDOR_MELCO, 0x0001,
2778c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET)
2788c2ecf20Sopenharmony_ciPEGASUS_DEV("MELCO/BUFFALO LUA-TX", VENDOR_MELCO, 0x0005,
2798c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET)
2808c2ecf20Sopenharmony_ciPEGASUS_DEV("MELCO/BUFFALO LUA2-TX", VENDOR_MELCO, 0x0009,
2818c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
2828c2ecf20Sopenharmony_ciPEGASUS_DEV("Microsoft MN-110", VENDOR_MICROSOFT, 0x007a,
2838c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
2848c2ecf20Sopenharmony_ciPEGASUS_DEV("NETGEAR FA101", VENDOR_NETGEAR, 0x1020,
2858c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
2868c2ecf20Sopenharmony_ciPEGASUS_DEV("OCT Inc.", VENDOR_OCT, 0x0109,
2878c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
2888c2ecf20Sopenharmony_ciPEGASUS_DEV("OCT USB TO Ethernet", VENDOR_OCT, 0x0901,
2898c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
2908c2ecf20Sopenharmony_ciPEGASUS_DEV("smartNIC 2 PnP Adapter", VENDOR_SMARTBRIDGES, 0x0003,
2918c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
2928c2ecf20Sopenharmony_ciPEGASUS_DEV("SMC 202 USB Ethernet", VENDOR_SMC, 0x0200,
2938c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET)
2948c2ecf20Sopenharmony_ciPEGASUS_DEV("SMC 2206 USB Ethernet", VENDOR_SMC, 0x0201,
2958c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
2968c2ecf20Sopenharmony_ciPEGASUS_DEV("SOHOware NUB100 Ethernet", VENDOR_SOHOWARE, 0x9100,
2978c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET)
2988c2ecf20Sopenharmony_ciPEGASUS_DEV("SOHOware NUB110 Ethernet", VENDOR_SOHOWARE, 0x9110,
2998c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
3008c2ecf20Sopenharmony_ciPEGASUS_DEV("SpeedStream USB 10/100 Ethernet", VENDOR_SIEMENS, 0x1001,
3018c2ecf20Sopenharmony_ci		DEFAULT_GPIO_RESET | PEGASUS_II)
3028c2ecf20Sopenharmony_ci
3038c2ecf20Sopenharmony_ci
3048c2ecf20Sopenharmony_ci#endif	/* PEGASUS_DEV */
305