Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/netbsd-1-5]: src/sys/dev/cardbus Pull up rev 1.15: Support 3C[CX]FE575CT.
details: https://anonhg.NetBSD.org/src/rev/61f3e1b33595
branches: netbsd-1-5
changeset: 489341:61f3e1b33595
user: haya <haya%NetBSD.org@localhost>
date: Fri Sep 01 00:59:28 2000 +0000
description:
Pull up rev 1.15: Support 3C[CX]FE575CT.
This pullup is approved by <thorpej%netbsd.org@localhost>.
diffstat:
sys/dev/cardbus/if_ex_cardbus.c | 30 +++++++++++++++++++++++++-----
1 files changed, 25 insertions(+), 5 deletions(-)
diffs (80 lines):
diff -r 2a6324540efd -r 61f3e1b33595 sys/dev/cardbus/if_ex_cardbus.c
--- a/sys/dev/cardbus/if_ex_cardbus.c Fri Sep 01 00:56:40 2000 +0000
+++ b/sys/dev/cardbus/if_ex_cardbus.c Fri Sep 01 00:59:28 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: if_ex_cardbus.c,v 1.14 2000/05/19 04:03:58 thorpej Exp $ */
+/* $NetBSD: if_ex_cardbus.c,v 1.14.4.1 2000/09/01 00:59:28 haya Exp $ */
/*
* CardBus specific routines for 3Com 3C575-family CardBus ethernet adapter
@@ -106,6 +106,7 @@
u_int8_t sc_cardtype;
#define EX_3C575 1
#define EX_3C575B 2
+#define EX_3C575C 3
/* CardBus function status space. 575B requests it. */
bus_space_tag_t sc_funct;
@@ -134,12 +135,19 @@
"3c575-TX Ethernet" },
{ CARDBUS_PRODUCT_3COM_3C575BTX,
- EX_CONF_90XB|EX_CONF_MII,
+ EX_CONF_90XB|EX_CONF_MII|EX_CONF_INV_LED_POLARITY,
CARDBUS_COMMAND_IO_ENABLE | CARDBUS_COMMAND_MEM_ENABLE |
CARDBUS_COMMAND_MASTER_ENABLE,
EX_3C575B,
"3c575B-TX Ethernet" },
+ { CARDBUS_PRODUCT_3COM_3C575CTX,
+ EX_CONF_90XB|EX_CONF_PHY_POWER,
+ CARDBUS_COMMAND_IO_ENABLE | CARDBUS_COMMAND_MEM_ENABLE |
+ CARDBUS_COMMAND_MASTER_ENABLE,
+ EX_3C575C,
+ "3c575CT Ethernet" },
+
{ 0,
0,
0,
@@ -238,7 +246,8 @@
command |= ecp->ecp_csr;
psc->sc_cardtype = ecp->ecp_cardtype;
- if (psc->sc_cardtype == EX_3C575B) {
+ if ((psc->sc_cardtype == EX_3C575B) ||
+ (psc->sc_cardtype == EX_3C575C)) {
/* Map CardBus function status window. */
if (Cardbus_mapreg_map(ct, CARDBUS_3C575BTX_FUNCSTAT_PCIREG,
CARDBUS_MAPREG_TYPE_MEM, 0, &psc->sc_funct,
@@ -315,10 +324,20 @@
ex_config(sc);
- if (psc->sc_cardtype == EX_3C575B)
+ if ((psc->sc_cardtype == EX_3C575B) ||
+ (psc->sc_cardtype == EX_3C575C))
bus_space_write_4(psc->sc_funct, psc->sc_funch,
EX_CB_INTR, EX_CB_INTR_ACK);
+ if (psc->sc_cardtype == EX_3C575C) {
+ u_int16_t cbcard_config;
+
+ GO_WINDOW(2);
+ cbcard_config = bus_space_read_2(sc->sc_iot, sc->sc_ioh, 0x0c);
+ cbcard_config |= 0x4000; /* turn on MII power */
+ bus_space_write_2(sc->sc_iot, sc->sc_ioh, 0x0c, cbcard_config);
+ }
+
#if !defined EX_POWER_STATIC
cardbus_function_disable(psc->sc_ct);
sc->enabled = 0;
@@ -358,7 +377,8 @@
*/
cardbus_intr_disestablish(ct->ct_cc, ct->ct_cf, sc->sc_ih);
- if (psc->sc_cardtype == EX_3C575B) {
+ if ((psc->sc_cardtype == EX_3C575B) ||
+ (psc->sc_cardtype == EX_3C575C)) {
Cardbus_mapreg_unmap(ct,
CARDBUS_3C575BTX_FUNCSTAT_PCIREG,
psc->sc_funct, psc->sc_funch, psc->sc_funcsize);
Home |
Main Index |
Thread Index |
Old Index