[PATCH] sky2: fiber support

Fix the support for fiber connected gigabit boards.
Allow half duplex gigabit to be configured.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
Stephen Hemminger
2006-09-06 12:44:53 -07:00
committed by Jeff Garzik
parent 2eaba1a280
commit b89165f2b7
2 changed files with 63 additions and 33 deletions

View File

@@ -1317,6 +1317,14 @@ enum {
PHY_M_FESC_SEL_CL_A = 1<<0, /* Select Class A driver (100B-TX) */
};
/* for Yukon-2 Gigabit Ethernet PHY (88E1112 only) */
/***** PHY_MARV_PHY_CTRL (page 1) 16 bit r/w Fiber Specific Ctrl *****/
enum {
PHY_M_FIB_FORCE_LNK = 1<<10,/* Force Link Good */
PHY_M_FIB_SIGD_POL = 1<<9, /* SIGDET Polarity */
PHY_M_FIB_TX_DIS = 1<<3, /* Transmitter Disable */
};
/* for Yukon-2 Gigabit Ethernet PHY (88E1112 only) */
/***** PHY_MARV_PHY_CTRL (page 2) 16 bit r/w MAC Specific Ctrl *****/
enum {
@@ -1880,7 +1888,7 @@ struct sky2_hw {
int pm_cap;
u8 chip_id;
u8 chip_rev;
u8 copper;
u8 pmd_type;
u8 ports;
struct sky2_status_le *st_le;
@@ -1892,6 +1900,11 @@ struct sky2_hw {
wait_queue_head_t msi_wait;
};
static inline int sky2_is_copper(const struct sky2_hw *hw)
{
return !(hw->pmd_type == 'L' || hw->pmd_type == 'S' || hw->pmd_type == 'P');
}
/* Register accessor for memory mapped device */
static inline u32 sky2_read32(const struct sky2_hw *hw, unsigned reg)
{