diff options
author | Stephen Hemminger <shemminger@osdl.org> | 2006-09-06 15:44:53 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-09-13 13:27:44 -0400 |
commit | b89165f2b75ba0a79eb5ed60924835cf3c54c51a (patch) | |
tree | 6ed4af3b2746c94416858753449f74310cb5407c /drivers/net/sky2.h | |
parent | 2eaba1a280b6380f5b1238c53ce62e4381fc5f97 (diff) |
[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>
Diffstat (limited to 'drivers/net/sky2.h')
-rw-r--r-- | drivers/net/sky2.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/drivers/net/sky2.h b/drivers/net/sky2.h index a27194c874fc..be464636f07a 100644 --- a/drivers/net/sky2.h +++ b/drivers/net/sky2.h | |||
@@ -1318,6 +1318,14 @@ enum { | |||
1318 | }; | 1318 | }; |
1319 | 1319 | ||
1320 | /* for Yukon-2 Gigabit Ethernet PHY (88E1112 only) */ | 1320 | /* for Yukon-2 Gigabit Ethernet PHY (88E1112 only) */ |
1321 | /***** PHY_MARV_PHY_CTRL (page 1) 16 bit r/w Fiber Specific Ctrl *****/ | ||
1322 | enum { | ||
1323 | PHY_M_FIB_FORCE_LNK = 1<<10,/* Force Link Good */ | ||
1324 | PHY_M_FIB_SIGD_POL = 1<<9, /* SIGDET Polarity */ | ||
1325 | PHY_M_FIB_TX_DIS = 1<<3, /* Transmitter Disable */ | ||
1326 | }; | ||
1327 | |||
1328 | /* for Yukon-2 Gigabit Ethernet PHY (88E1112 only) */ | ||
1321 | /***** PHY_MARV_PHY_CTRL (page 2) 16 bit r/w MAC Specific Ctrl *****/ | 1329 | /***** PHY_MARV_PHY_CTRL (page 2) 16 bit r/w MAC Specific Ctrl *****/ |
1322 | enum { | 1330 | enum { |
1323 | PHY_M_MAC_MD_MSK = 7<<7, /* Bit 9.. 7: Mode Select Mask */ | 1331 | PHY_M_MAC_MD_MSK = 7<<7, /* Bit 9.. 7: Mode Select Mask */ |
@@ -1880,7 +1888,7 @@ struct sky2_hw { | |||
1880 | int pm_cap; | 1888 | int pm_cap; |
1881 | u8 chip_id; | 1889 | u8 chip_id; |
1882 | u8 chip_rev; | 1890 | u8 chip_rev; |
1883 | u8 copper; | 1891 | u8 pmd_type; |
1884 | u8 ports; | 1892 | u8 ports; |
1885 | 1893 | ||
1886 | struct sky2_status_le *st_le; | 1894 | struct sky2_status_le *st_le; |
@@ -1892,6 +1900,11 @@ struct sky2_hw { | |||
1892 | wait_queue_head_t msi_wait; | 1900 | wait_queue_head_t msi_wait; |
1893 | }; | 1901 | }; |
1894 | 1902 | ||
1903 | static inline int sky2_is_copper(const struct sky2_hw *hw) | ||
1904 | { | ||
1905 | return !(hw->pmd_type == 'L' || hw->pmd_type == 'S' || hw->pmd_type == 'P'); | ||
1906 | } | ||
1907 | |||
1895 | /* Register accessor for memory mapped device */ | 1908 | /* Register accessor for memory mapped device */ |
1896 | static inline u32 sky2_read32(const struct sky2_hw *hw, unsigned reg) | 1909 | static inline u32 sky2_read32(const struct sky2_hw *hw, unsigned reg) |
1897 | { | 1910 | { |