Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) /* SPDX-License-Identifier: GPL-2.0-only */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3)  * Copyright (c) 1999-2013 Petko Manolov (petkan@nucleusys.com)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) #ifndef	PEGASUS_DEV
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) #define	PEGASUS_II		0x80000000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) #define	HAS_HOME_PNA		0x40000000
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) #define	PEGASUS_MTU		1536
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) #define	EPROM_WRITE		0x01
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) #define	EPROM_READ		0x02
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) #define	EPROM_DONE		0x04
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) #define	EPROM_WR_ENABLE		0x10
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) #define	EPROM_LOAD		0x20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) #define	PHY_DONE		0x80
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) #define	PHY_READ		0x40
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) #define	PHY_WRITE		0x20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) #define	DEFAULT_GPIO_RESET	0x24
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) #define	DEFAULT_GPIO_SET	0x26
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) #define	PEGASUS_PRESENT		0x00000001
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) #define	PEGASUS_TX_BUSY		0x00000004
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) #define	PEGASUS_RX_BUSY		0x00000008
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) #define	CTRL_URB_RUNNING	0x00000010
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) #define	CTRL_URB_SLEEP		0x00000020
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) #define	PEGASUS_UNPLUG		0x00000040
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) #define	PEGASUS_RX_URB_FAIL	0x00000080
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) #define	RX_MULTICAST		2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) #define	RX_PROMISCUOUS		4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) #define	REG_TIMEOUT		(HZ)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) #define	PEGASUS_TX_TIMEOUT	(HZ*10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) #define	TX_UNDERRUN		0x80
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) #define	EXCESSIVE_COL		0x40
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) #define	LATE_COL		0x20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) #define	NO_CARRIER		0x10
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) #define	LOSS_CARRIER		0x08
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) #define	JABBER_TIMEOUT		0x04
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) #define	LINK_STATUS		0x01
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) #define	PEGASUS_REQT_READ	0xc0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) #define	PEGASUS_REQT_WRITE	0x40
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) #define	PEGASUS_REQ_GET_REGS	0xf0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) #define	PEGASUS_REQ_SET_REGS	0xf1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) #define	PEGASUS_REQ_SET_REG	PEGASUS_REQ_SET_REGS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) enum pegasus_registers {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) 	EthCtrl0 = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) 	EthCtrl1 = 1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) 	EthCtrl2 = 2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) 	EthID = 0x10,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) 	Reg1d = 0x1d,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) 	EpromOffset = 0x20,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) 	EpromData = 0x21,	/* 0x21 low, 0x22 high byte */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) 	EpromCtrl = 0x23,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) 	PhyAddr = 0x25,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) 	PhyData = 0x26,		/* 0x26 low, 0x27 high byte */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) 	PhyCtrl = 0x28,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) 	UsbStst = 0x2a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) 	EthTxStat0 = 0x2b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) 	EthTxStat1 = 0x2c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) 	EthRxStat = 0x2d,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) 	WakeupControl = 0x78,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) 	Reg7b = 0x7b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) 	Gpio0 = 0x7e,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) 	Gpio1 = 0x7f,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) 	Reg81 = 0x81,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) typedef struct pegasus {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) 	struct usb_device	*usb;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) 	struct usb_interface	*intf;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) 	struct net_device	*net;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) 	struct mii_if_info	mii;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) 	unsigned		flags;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) 	unsigned		features;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) 	u32			msg_enable;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) 	u32			wolopts;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) 	int			dev_index;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) 	int			intr_interval;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) 	struct tasklet_struct	rx_tl;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) 	struct delayed_work	carrier_check;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) 	struct urb		*rx_urb, *tx_urb, *intr_urb;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) 	struct sk_buff		*rx_skb;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) 	int			chip;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) 	unsigned char		intr_buff[8];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) 	__u8			tx_buff[PEGASUS_MTU];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) 	__u8			eth_regs[4];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) 	__u8			phy;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) 	__u8			gpio_res;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) } pegasus_t;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) struct usb_eth_dev {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) 	char	*name;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) 	__u16	vendor;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) 	__u16	device;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) 	__u32	private; /* LSB is gpio reset value */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) #define	VENDOR_3COM		0x0506
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) #define	VENDOR_ABOCOM		0x07b8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) #define	VENDOR_ACCTON		0x083a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) #define	VENDOR_ADMTEK		0x07a6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) #define	VENDOR_AEILAB		0x3334
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) #define	VENDOR_ALLIEDTEL	0x07c9
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) #define	VENDOR_ATEN		0x0557
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) #define	VENDOR_BELKIN		0x050d
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) #define	VENDOR_BILLIONTON	0x08dd
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) #define	VENDOR_COMPAQ		0x049f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) #define	VENDOR_COREGA		0x07aa
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) #define	VENDOR_DLINK		0x2001
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) #define	VENDOR_ELCON		0x0db7
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) #define	VENDOR_ELECOM		0x056e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) #define	VENDOR_ELSA		0x05cc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) #define	VENDOR_GIGABYTE		0x1044
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) #define	VENDOR_HAWKING		0x0e66
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) #define	VENDOR_HP		0x03f0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) #define	VENDOR_IODATA		0x04bb
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) #define	VENDOR_KINGSTON		0x0951
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) #define	VENDOR_LANEED		0x056e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) #define	VENDOR_LINKSYS		0x066b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) #define	VENDOR_LINKSYS2		0x077b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) #define	VENDOR_MELCO		0x0411
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) #define	VENDOR_MICROSOFT	0x045e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) #define	VENDOR_MOBILITY		0x1342
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) #define	VENDOR_NETGEAR		0x0846
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) #define	VENDOR_OCT		0x0b39
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) #define	VENDOR_SMARTBRIDGES	0x08d1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) #define	VENDOR_SMC		0x0707
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) #define	VENDOR_SOHOWARE		0x15e8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) #define	VENDOR_SIEMENS		0x067c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) #else	/* PEGASUS_DEV */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) PEGASUS_DEV("3Com USB Ethernet 3C460B", VENDOR_3COM, 0x4601,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) PEGASUS_DEV("ATEN USB Ethernet UC-110T", VENDOR_ATEN, 0x2007,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) PEGASUS_DEV("USB HPNA/Ethernet", VENDOR_ABOCOM, 0x110c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) 		DEFAULT_GPIO_RESET | PEGASUS_II | HAS_HOME_PNA)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) PEGASUS_DEV("USB HPNA/Ethernet", VENDOR_ABOCOM, 0x4104,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) 		DEFAULT_GPIO_RESET | HAS_HOME_PNA)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) PEGASUS_DEV("USB HPNA/Ethernet", VENDOR_ABOCOM, 0x4004,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) 		DEFAULT_GPIO_RESET | HAS_HOME_PNA)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) PEGASUS_DEV("USB HPNA/Ethernet", VENDOR_ABOCOM, 0x4007,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) 		DEFAULT_GPIO_RESET | HAS_HOME_PNA)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) PEGASUS_DEV("USB 10/100 Fast Ethernet", VENDOR_ABOCOM, 0x4102,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) PEGASUS_DEV("USB 10/100 Fast Ethernet", VENDOR_ABOCOM, 0x4002,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) 		DEFAULT_GPIO_RESET)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) PEGASUS_DEV("USB 10/100 Fast Ethernet", VENDOR_ABOCOM, 0x400b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) PEGASUS_DEV("USB 10/100 Fast Ethernet", VENDOR_ABOCOM, 0x400c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) PEGASUS_DEV("USB 10/100 Fast Ethernet", VENDOR_ABOCOM, 0xabc1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) 		DEFAULT_GPIO_RESET)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) PEGASUS_DEV("USB 10/100 Fast Ethernet", VENDOR_ABOCOM, 0x200c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) PEGASUS_DEV("Accton USB 10/100 Ethernet Adapter", VENDOR_ACCTON, 0x1046,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) 		DEFAULT_GPIO_RESET)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) PEGASUS_DEV("SpeedStream USB 10/100 Ethernet", VENDOR_ACCTON, 0x5046,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) PEGASUS_DEV("Philips USB 10/100 Ethernet", VENDOR_ACCTON, 0xb004,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) PEGASUS_DEV("ADMtek ADM8511 \"Pegasus II\" USB Ethernet",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) 		VENDOR_ADMTEK, 0x8511,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) 		DEFAULT_GPIO_RESET | PEGASUS_II | HAS_HOME_PNA)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) PEGASUS_DEV("ADMtek ADM8513 \"Pegasus II\" USB Ethernet",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) 		VENDOR_ADMTEK, 0x8513,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) PEGASUS_DEV("ADMtek ADM8515 \"Pegasus II\" USB-2.0 Ethernet",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) 		VENDOR_ADMTEK, 0x8515,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) PEGASUS_DEV("ADMtek AN986 \"Pegasus\" USB Ethernet (evaluation board)",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) 		VENDOR_ADMTEK, 0x0986,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) 		DEFAULT_GPIO_RESET | HAS_HOME_PNA)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) PEGASUS_DEV("AN986A USB MAC", VENDOR_ADMTEK, 1986,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) PEGASUS_DEV("AEI USB Fast Ethernet Adapter", VENDOR_AEILAB, 0x1701,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) PEGASUS_DEV("Allied Telesyn Int. AT-USB100", VENDOR_ALLIEDTEL, 0xb100,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195)  * Distinguish between this Belkin adaptor and the Belkin bluetooth adaptors
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196)  * with the same product IDs by checking the device class too.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) PEGASUS_DEV_CLASS("Belkin F5D5050 USB Ethernet", VENDOR_BELKIN, 0x0121, 0x00,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) PEGASUS_DEV("Belkin F5U122 10/100 USB Ethernet", VENDOR_BELKIN, 0x0122,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) PEGASUS_DEV("Billionton USB-100", VENDOR_BILLIONTON, 0x0986,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) 		DEFAULT_GPIO_RESET)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) PEGASUS_DEV("Billionton USBLP-100", VENDOR_BILLIONTON, 0x0987,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) 		DEFAULT_GPIO_RESET | HAS_HOME_PNA)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) PEGASUS_DEV("iPAQ Networking 10/100 USB", VENDOR_COMPAQ, 0x8511,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) PEGASUS_DEV("Billionton USBEL-100", VENDOR_BILLIONTON, 0x0988,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) 		DEFAULT_GPIO_RESET)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) PEGASUS_DEV("Billionton USBE-100", VENDOR_BILLIONTON, 0x8511,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) PEGASUS_DEV("Corega FEther USB-TX", VENDOR_COREGA, 0x0004,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) 		DEFAULT_GPIO_RESET)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) PEGASUS_DEV("Corega FEther USB-TXS", VENDOR_COREGA, 0x000d,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) PEGASUS_DEV("D-Link DSB-650TX", VENDOR_DLINK, 0x4001,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) 		DEFAULT_GPIO_RESET)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) PEGASUS_DEV("D-Link DSB-650TX", VENDOR_DLINK, 0x4002,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) 		DEFAULT_GPIO_RESET)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) PEGASUS_DEV("D-Link DSB-650TX", VENDOR_DLINK, 0x4102,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) PEGASUS_DEV("D-Link DSB-650TX", VENDOR_DLINK, 0x400b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) PEGASUS_DEV("D-Link DSB-650TX", VENDOR_DLINK, 0x200c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) PEGASUS_DEV("D-Link DSB-650TX(PNA)", VENDOR_DLINK, 0x4003,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) 		DEFAULT_GPIO_RESET | HAS_HOME_PNA)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) PEGASUS_DEV("D-Link DSB-650", VENDOR_DLINK, 0xabc1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) 		DEFAULT_GPIO_RESET)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) PEGASUS_DEV("GOLDPFEIL USB Adapter", VENDOR_ELCON, 0x0002,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) 		DEFAULT_GPIO_RESET | PEGASUS_II | HAS_HOME_PNA)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) PEGASUS_DEV("ELECOM USB Ethernet LD-USB20", VENDOR_ELECOM,  0x4010,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) 		DEFAULT_GPIO_RESET  | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) PEGASUS_DEV("EasiDock Ethernet", VENDOR_MOBILITY, 0x0304,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) 		DEFAULT_GPIO_RESET)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) PEGASUS_DEV("Elsa Micolink USB2Ethernet", VENDOR_ELSA, 0x3000,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) 		DEFAULT_GPIO_RESET)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) PEGASUS_DEV("GIGABYTE GN-BR402W Wireless Router", VENDOR_GIGABYTE, 0x8002,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) 		DEFAULT_GPIO_RESET)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) PEGASUS_DEV("Hawking UF100 10/100 Ethernet", VENDOR_HAWKING, 0x400c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) PEGASUS_DEV("HP hn210c Ethernet USB", VENDOR_HP, 0x811c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) PEGASUS_DEV("IO DATA USB ET/TX", VENDOR_IODATA, 0x0904,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) 		DEFAULT_GPIO_RESET)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) PEGASUS_DEV("IO DATA USB ET/TX-S", VENDOR_IODATA, 0x0913,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) PEGASUS_DEV("IO DATA USB ETX-US2", VENDOR_IODATA, 0x093a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) PEGASUS_DEV("Kingston KNU101TX Ethernet", VENDOR_KINGSTON, 0x000a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) 		DEFAULT_GPIO_RESET)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) PEGASUS_DEV("LANEED USB Ethernet LD-USB/TX", VENDOR_LANEED, 0x4002,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) 		DEFAULT_GPIO_RESET)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) PEGASUS_DEV("LANEED USB Ethernet LD-USBL/TX", VENDOR_LANEED, 0x4005,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) PEGASUS_DEV("LANEED USB Ethernet LD-USB/TX", VENDOR_LANEED, 0x400b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) PEGASUS_DEV("LANEED USB Ethernet LD-USB/T", VENDOR_LANEED, 0xabc1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) 		DEFAULT_GPIO_RESET)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) PEGASUS_DEV("LANEED USB Ethernet LD-USB/TX", VENDOR_LANEED, 0x200c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) PEGASUS_DEV("Linksys USB10TX", VENDOR_LINKSYS, 0x2202,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) 		DEFAULT_GPIO_RESET)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) PEGASUS_DEV("Linksys USB100TX", VENDOR_LINKSYS, 0x2203,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) 		DEFAULT_GPIO_RESET)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) PEGASUS_DEV("Linksys USB100TX", VENDOR_LINKSYS, 0x2204,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) 		DEFAULT_GPIO_RESET | HAS_HOME_PNA)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) PEGASUS_DEV("Linksys USB10T Ethernet Adapter", VENDOR_LINKSYS, 0x2206,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) PEGASUS_DEV("Linksys USBVPN1", VENDOR_LINKSYS2, 0x08b4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) 		DEFAULT_GPIO_RESET)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) PEGASUS_DEV("Linksys USB USB100TX", VENDOR_LINKSYS, 0x400b,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) PEGASUS_DEV("Linksys USB10TX", VENDOR_LINKSYS, 0x200c,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) PEGASUS_DEV("MELCO/BUFFALO LUA-TX", VENDOR_MELCO, 0x0001,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) 		DEFAULT_GPIO_RESET)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) PEGASUS_DEV("MELCO/BUFFALO LUA-TX", VENDOR_MELCO, 0x0005,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) 		DEFAULT_GPIO_RESET)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) PEGASUS_DEV("MELCO/BUFFALO LUA2-TX", VENDOR_MELCO, 0x0009,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) PEGASUS_DEV("Microsoft MN-110", VENDOR_MICROSOFT, 0x007a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) PEGASUS_DEV("NETGEAR FA101", VENDOR_NETGEAR, 0x1020,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286) PEGASUS_DEV("OCT Inc.", VENDOR_OCT, 0x0109,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288) PEGASUS_DEV("OCT USB TO Ethernet", VENDOR_OCT, 0x0901,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) PEGASUS_DEV("smartNIC 2 PnP Adapter", VENDOR_SMARTBRIDGES, 0x0003,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) PEGASUS_DEV("SMC 202 USB Ethernet", VENDOR_SMC, 0x0200,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) 		DEFAULT_GPIO_RESET)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294) PEGASUS_DEV("SMC 2206 USB Ethernet", VENDOR_SMC, 0x0201,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) PEGASUS_DEV("SOHOware NUB100 Ethernet", VENDOR_SOHOWARE, 0x9100,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297) 		DEFAULT_GPIO_RESET)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) PEGASUS_DEV("SOHOware NUB110 Ethernet", VENDOR_SOHOWARE, 0x9110,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) PEGASUS_DEV("SpeedStream USB 10/100 Ethernet", VENDOR_SIEMENS, 0x1001,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301) 		DEFAULT_GPIO_RESET | PEGASUS_II)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304) #endif	/* PEGASUS_DEV */