Provided by: linux-doc-2.6.15_2.6.15-23.39_all bug

NAME

       sis630_set_eq - set phy equalizer value for 630 LAN

SYNOPSIS

       void sis630_set_eq  (struct net_device * net_dev, u8 revision);

ARGUMENTS

       net_dev
              the net device to set equalizer value

       revision
              630 LAN revision number

DESCRIPTION

       630E   equalizer   workaround  rule(Cyrus  Huang  08/15)  PHY  register
       14h(Test)

BIT 14

       0 -- Automatically dectect (default) 1 -- Manually set Equalizer filter

BIT 13

       0 -- (Default) 1 -- Speed up convergence of equalizer setting

BIT 9

       0 -- (Default) 1 -- Disable Baseline Wander Bit 3~7 -- Equalizer filter
       setting

LINK ON

       Set Bit 9, 13 to 1, Bit 14 to 0 Then calculate equalizer value Then set
       equalizer value, and set Bit 14 to 1, Bit 9 to 0

LINK OFF

       Set Bit 13 to 1, Bit 14 to 0

CALCULATE EQUALIZER VALUE

       When  Link  is  ON  and Bit 14 is 0, SIS900PHY will auto-dectect proper
       equalizer value. When the equalizer is stable,  this  value  is  not  a
       fixed  value.  It  will be within a small range(eg. 7~9). Then we get a
       minimum and a maximum value(eg. min=7, max=9) 0 <= max  <=  4  -->  set
       equalizer  to  max  5  <=  max  <= 14 --> set equalizer to max+1 or set
       equalizer to max+2 if max == min max >= 15 --> set equalizer  to  max+5
       or set equalizer to max+6 if max == min

AUTHORS

       Ollie Lho, Lei Chun Chang.