Commit Graph

73 Commits

Author SHA1 Message Date
itohy
d031823b2b Properly reset PHY on ZNYX boards which are composed of
21143 and Quality Semiconductor QS6611 PHY.

QS6611 requires explicit reset on some hardware configuration.  See
``Using the Intel 21143 with the Quality Semiconductor QS6611 Revision D4''
<http://www.intel.com/design/network/applnots/278239.htm> for details.

Models which should be supported by this change are
	ZX345Q, ZX346Q, ZX348Q,		(non-Q versions use different PHYs)
	ZX414, ZX412, ZX444,
	ZX442, ZX212, ZX214,
	ZX374, ZX372, ZX244,
	ZX424, ZX422.

Tested on ZX346Q.

Some information is from the ZNYX driver source code available from
the ZNYX web site <http://www.znyx.com/>.
2003-06-27 12:25:38 +00:00
thorpej
5d036d28d6 Fix an error message. 2003-03-10 20:50:22 +00:00
tsutsui
238efe4697 Replace magic numbers for power management control with PCI_PMCSR* macros.
XXX Should we use pci_get_powerstate() and pci_set_powerstate() in pci.c?
2002-12-23 02:58:36 +00:00
jdolecek
d679e94c87 tlp_pci_vpc_21140_quirks(): make agnostic to signed/unsigned char; fixes
compile on cats
2002-10-09 16:59:19 +00:00
minoura
5139f048fb Add quirk for Connectix VirtualPC emulated 21140, just to print the name
from the SROM.
2002-10-08 15:09:54 +00:00
thorpej
b75a007d9f Add trailing ; to CFATTACH_DECL. 2002-10-02 16:51:16 +00:00
thorpej
387fc6dc87 Use CFATTACH_DECL(). 2002-09-30 20:37:04 +00:00
thorpej
f818766afe Declare all cfattach structures const. 2002-09-27 20:31:45 +00:00
mycroft
88e968078c Remove TLP_MATCH_* options. 2002-04-17 02:19:13 +00:00
chs
e340f273c4 add support for Cogent EM100 (aka Adaptec ANA-6910) TX and FX. 2002-04-04 05:45:54 +00:00
thorpej
a1808a4556 Add support for the Netwinder on-board 21143 (but don't try using it
yet; there are still some problems).
2002-04-03 20:52:42 +00:00
chs
23825982c3 add support for SMC 9332DST. 2002-03-26 07:57:16 +00:00
chs
9a418970cf decode the sub-system IDs on adaptec cards so we can differentiate between
multi-port cards (which need the shared-rom/intr stuff) and single-port cards
(which must not have it).  previously we enabled sharing for all adaptec cards,
which caused problems if you had multiple single-port cards on the same PCI bus.
2002-03-16 18:44:17 +00:00
chs
5d8f761ba0 support the 4-port boards with the Cogent OUI as well. 2002-03-13 05:05:38 +00:00
chs
fcbc075a7a support ANA-6944A boards (in addition to ANA-6922). 2002-03-13 04:15:05 +00:00
chs
4ee45f845f add support for Adaptec ANA-69xx multi-port cards. 2002-02-14 07:59:55 +00:00
tsutsui
b87a051ec8 Call malloc(9) with M_ZERO flag instead of memset() after malloc(). 2002-01-12 16:17:05 +00:00
matt
ee7afa77b2 Fix sense of if to grab address from alternation if srom is not in isv
format on Davicom chips.  Add sparc specific case in this case to call
myetheraddr if oui is all 0s (for Netra X1).
2001-12-07 21:13:58 +00:00
lukem
9048aaae21 add RCSID 2001-11-13 07:48:40 +00:00
thorpej
3d98de578f Remove unnecessary include files. From Onno van der Linden. 2001-07-08 17:55:50 +00:00
thorpej
9988acd41e Don't need INET or NS includes here. 2001-06-12 22:28:15 +00:00
thorpej
ebf9e47c26 Add quirks for the Algorithmics P-5064 on-board 21143, and a way to
get the Ethernet address from it (they don't have an SROM).

XXX The latter should be replaced with devprops when they exist.
2001-05-27 21:00:33 +00:00
cgd
023e9f0649 C requires that labels be followed by statements. 2001-02-24 00:01:22 +00:00
thorpej
d101f6f462 Add Accton EN2242 10/100 MiniPCI Ethernet. 2001-01-08 21:50:47 +00:00
thorpej
666e82a4e9 Use the AN985 media switch on the AN985. 2001-01-08 21:45:42 +00:00
sommerfeld
851de295eb Change pci_intr_map to get interrupt source information from a "struct
pci_attach_args *" instead of from four separate parameters which in
all cases were extracted from the same "struct pci_attach_args".

This both simplifies the driver api, and allows for alternate PCI
interrupt mapping schemes, such as one using the tables described in
the Intel Multiprocessor Spec which describe interrupt wirings for
devices behind pci-pci bridges based on the device's location rather
the bridge's location.

Tested on alpha and i386; welcome to 1.5Q
2000-12-28 22:59:06 +00:00
thorpej
7edd5d54bc Add support for the ADMtek AN983 and AN985. 2000-10-03 04:32:00 +00:00
castor
b6dd28b4ce Support some differences in the Macronix 98715AEC-C and E chips from the other
98715* series.

The MX98715AEC-[C,E] use a different location in the serial eerom for
LED control, and programming it with the original location's values
caused unpredictable behavior.

Also, start integrating fixes where media changes on an adapter
under load may fail.  There's more work to be done here, but I need
to sort out our internal changes a little more carefully.
2000-08-03 03:07:30 +00:00
tron
5446d3c92e Don't make assumptions of the actual value of PCI_PMCSR_STATE_D0.
Problem noted by John Hawkinson.
2000-07-17 18:12:00 +00:00
tron
cfae3184d8 Don't clobber bits from 2 to 31 when trying to change the power state.
Problem noted by John Hawkinson.
2000-07-17 17:53:44 +00:00
tron
114bb7f9d9 If card is in power state D3 put it into power state D0 so that it will
at least work after the next reboot.
2000-07-16 20:18:48 +00:00
tron
9feae259a4 Avoid printing duplicate colon when card is waked up. 2000-07-15 20:57:24 +00:00
tron
61c607b9fe Improve kernel message when card is in power state D3. Instead of...
epic0 at pci0 dev 11 function 0 epic0: unable to wake up from ...

... print this:

epic0 at pci0 dev 11 function 0: unable to wake up from power state D3
2000-07-15 10:32:36 +00:00
sommerfeld
fda426af2c Defopt TLP_MATCH_* 2000-06-25 18:49:22 +00:00
thorpej
3a4393ff92 While DM9102A boards tend to have ISV-format SROMs (likely to describe
the HomePNA PHY typically connected to the external MII interface),
DM9102 implementations (often found on motherboards) do not.  Handle
this.
2000-05-27 19:42:06 +00:00
thorpej
8a3725612d Add support for the Davicom DM9102 and DM9102A 10/100 Ethernet chips.
Partially based on diffs submitted by Matthew Orgass <darkstar@pgh.net>
and IWAMOTO Toshihiro <iwamoto@sat.t.u-tokyo.ac.jp>.
2000-05-26 16:38:13 +00:00
thorpej
5a41b5bf56 - if_tlp_cardbus.c: Use the `pmreg' pointer passed by by
cardbus_get_capability() [mirror change already made to if_tlp_pci.c]
- if_tlp_cardbus.c: If we don't find an ISV SROM, try to grab the
  Ethernet address from the CIS.
- if_tlp_cardbus.c: set CardBus cards to store-and-forward mode from
  the get-go.
- Put the TxThresh tables in tulipvar.h, and use them in the CardBus
  and PCI front-ends to go to store-and-forward mode.
- Document the Xircom X3201-3 clone a little more.
2000-04-04 19:22:50 +00:00
soren
7b737d77b3 For Cobalt Networks 21143's, always use store-and-forward and toggle
a GPIO line to fully reset the PHY.
2000-03-26 10:53:39 +00:00
mycroft
d07e505604 Rather than guessing at the location of the PMCSR, use the pointer returned by
pci_get_capability().  (This is, after all, a standardized interface...)
2000-03-23 22:23:03 +00:00
thorpej
c38405d33d Add power management support to the `tlp' driver. The battery on my
laptop lasts a whole lot longer now.
2000-03-15 18:39:50 +00:00
mycroft
5eee9ca94c Determine the size of the SROM by probing the chip using the standard Microwire
protocol.  Eliminates the need for srom_quirks and some other trash.
2000-03-07 00:39:17 +00:00
thorpej
b1ec3fa901 Give the ISV filter a chance to verify 21143 pass 4.1 SROMs before running
them through the quirk table.
2000-01-26 16:51:11 +00:00
thorpej
063cb5e5dc Additional hackery for the Cobalt interfaces. Even though these are
pass 4.1 21143s, they have a 128-byte SROM, and thus use a different
SROM address size than all other pass 4.1 21143s.

A plea to hardware designers -- *please* read application notes for
the components you're using before putting your hardware together.  Thanks.
2000-01-26 15:50:52 +00:00
thorpej
02af3f45b6 Clean up the SROM addrbits code a little. 2000-01-25 19:53:34 +00:00
thorpej
6aca67041c Add a chip type for the Xircom X3201-3, and centralize the declaration
of the chip names array.
2000-01-25 19:29:17 +00:00
thorpej
c4d8a60bac Handle Cobalt Networks interfaces, which are 21143 pass 4.1 devices
with a simple (MAC address only) SROM format.

From Soren S. Jorvang <soren@wheel.dk>
2000-01-25 03:23:56 +00:00
thorpej
caae0e1aa1 - Don't try to run the chip in big-endian mode. Not all chips support
this consistently, and it doesn't always work even when the chip
  supports it.
- Make sure things DMA'd to the chip that the chip interprets are in
  little-endian mode.
1999-12-11 00:32:59 +00:00
thorpej
546480874c After reading the 21143 manual again, make sure SNOOZE is cleared in
the CFDA register, too.
1999-12-07 07:36:19 +00:00
thorpej
747d454ffe Add the PMCSR offset for the 21143, and make sure to bring the 21142
and 21143 out of sleep mode.  From Masanori Kanaoka.
1999-12-07 07:32:58 +00:00
thorpej
f773270d0d If, on the 21143, we find that we don't have an ISV SROM, try reading
it again, with 8 address bits.  21143 Pass 4.1 has a larger SROM,
for storing the CIS when used in a CardBus application.
1999-12-07 07:20:17 +00:00