提交 38231713 编写于 作者: S Stephen Hemminger 提交者: Jeff Garzik

[PATCH] skge: support yukon lite rev 4

The check for Yukon lite changes was restricting itself to
rev A3. It turns out that these changes are also true on A4
and later.
Signed-off-by: NStephen Hemminger <shemminger@osdl.org>
Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
上级 4ff6ac05
...@@ -1687,7 +1687,7 @@ static void yukon_mac_init(struct skge_hw *hw, int port) ...@@ -1687,7 +1687,7 @@ static void yukon_mac_init(struct skge_hw *hw, int port)
/* WA code for COMA mode -- set PHY reset */ /* WA code for COMA mode -- set PHY reset */
if (hw->chip_id == CHIP_ID_YUKON_LITE && if (hw->chip_id == CHIP_ID_YUKON_LITE &&
hw->chip_rev == CHIP_REV_YU_LITE_A3) hw->chip_rev >= CHIP_REV_YU_LITE_A3)
skge_write32(hw, B2_GP_IO, skge_write32(hw, B2_GP_IO,
(skge_read32(hw, B2_GP_IO) | GP_DIR_9 | GP_IO_9)); (skge_read32(hw, B2_GP_IO) | GP_DIR_9 | GP_IO_9));
...@@ -1697,7 +1697,7 @@ static void yukon_mac_init(struct skge_hw *hw, int port) ...@@ -1697,7 +1697,7 @@ static void yukon_mac_init(struct skge_hw *hw, int port)
/* WA code for COMA mode -- clear PHY reset */ /* WA code for COMA mode -- clear PHY reset */
if (hw->chip_id == CHIP_ID_YUKON_LITE && if (hw->chip_id == CHIP_ID_YUKON_LITE &&
hw->chip_rev == CHIP_REV_YU_LITE_A3) hw->chip_rev >= CHIP_REV_YU_LITE_A3)
skge_write32(hw, B2_GP_IO, skge_write32(hw, B2_GP_IO,
(skge_read32(hw, B2_GP_IO) | GP_DIR_9) (skge_read32(hw, B2_GP_IO) | GP_DIR_9)
& ~GP_IO_9); & ~GP_IO_9);
...@@ -1790,7 +1790,7 @@ static void yukon_mac_init(struct skge_hw *hw, int port) ...@@ -1790,7 +1790,7 @@ static void yukon_mac_init(struct skge_hw *hw, int port)
skge_write16(hw, SK_REG(port, RX_GMF_FL_MSK), RX_FF_FL_DEF_MSK); skge_write16(hw, SK_REG(port, RX_GMF_FL_MSK), RX_FF_FL_DEF_MSK);
reg = GMF_OPER_ON | GMF_RX_F_FL_ON; reg = GMF_OPER_ON | GMF_RX_F_FL_ON;
if (hw->chip_id == CHIP_ID_YUKON_LITE && if (hw->chip_id == CHIP_ID_YUKON_LITE &&
hw->chip_rev == CHIP_REV_YU_LITE_A3) hw->chip_rev >= CHIP_REV_YU_LITE_A3)
reg &= ~GMF_RX_F_FL_ON; reg &= ~GMF_RX_F_FL_ON;
skge_write8(hw, SK_REG(port, RX_GMF_CTRL_T), GMF_RST_CLR); skge_write8(hw, SK_REG(port, RX_GMF_CTRL_T), GMF_RST_CLR);
skge_write16(hw, SK_REG(port, RX_GMF_CTRL_T), reg); skge_write16(hw, SK_REG(port, RX_GMF_CTRL_T), reg);
...@@ -1807,7 +1807,7 @@ static void yukon_stop(struct skge_port *skge) ...@@ -1807,7 +1807,7 @@ static void yukon_stop(struct skge_port *skge)
int port = skge->port; int port = skge->port;
if (hw->chip_id == CHIP_ID_YUKON_LITE && if (hw->chip_id == CHIP_ID_YUKON_LITE &&
hw->chip_rev == CHIP_REV_YU_LITE_A3) { hw->chip_rev >= CHIP_REV_YU_LITE_A3) {
skge_write32(hw, B2_GP_IO, skge_write32(hw, B2_GP_IO,
skge_read32(hw, B2_GP_IO) | GP_DIR_9 | GP_IO_9); skge_read32(hw, B2_GP_IO) | GP_DIR_9 | GP_IO_9);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册