1. 14 12月, 2017 1 次提交
  2. 02 8月, 2017 1 次提交
  3. 19 7月, 2017 1 次提交
  4. 21 6月, 2017 1 次提交
  5. 13 6月, 2017 11 次提交
  6. 10 6月, 2017 5 次提交
  7. 07 6月, 2017 1 次提交
  8. 05 6月, 2017 1 次提交
  9. 29 3月, 2017 1 次提交
  10. 13 3月, 2017 5 次提交
  11. 07 2月, 2017 2 次提交
    • A
      net: dsa: mv88e6xxx: Refactor remaining port setup · a23b2961
      Andrew Lunn 提交于
      Move the remaining port configuration code which varies per device
      into port.c, using ops were necessary. This makes
      mv88e6xxx_6185_family() and mv88e6xxx_6095_family() unused, so remove
      them.
      Signed-off-by: NAndrew Lunn <andrew@lunn.ch>
      Reviewed-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a23b2961
    • A
      net: dsa: mv88e6xxx: Set the CMODE for mv88e6390 ports 9 & 10 · f39908d3
      Andrew Lunn 提交于
      Unlike most ports, ports 9 and 10 of the 6390X family have configurable
      PHY modes. Set the mode as part of adjust_link().
      
      Ordering is important, because the SERDES interfaces connected to
      ports 9 and 10 can be split and assigned to other ports. The CMODE has
      to be correctly set before the SERDES interface on another port can be
      configured. Such configuration is likely to be performed in
      port_enable() and port_disabled(), called on slave_open() and
      slave_close().
      
      The simple case is port 9 and 10 are used for 'CPU' or 'DSA'. In this
      case, the CMODE is set via a phy-mode in dsa_cpu_dsa_setup(), which is
      called early in the switch setup.
      
      When ports 9 or 10 are used as user ports, and have a fixed-phy, when
      the fixed fixed-phy is attached, dsa_slave_adjust_link() is called,
      which results in the adjust_link function being called, setting the
      cmode. The port_enable() will for other ports will be called much
      later.
      
      When ports 9 or 10 are used as user ports and have a real phy attached
      which does not use all the available SERDES interface, e.g. a 1Gbps
      SGMII, there is currently no mechanism in place to set the CMODE of
      the port from software. It must be hoped the stripping resistors are
      correct.
      
      At the same time, add a function to get the cmode. This will be needed
      when configuring the SERDES interfaces.
      Signed-off-by: NAndrew Lunn <andrew@lunn.ch>
      Reviewed-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f39908d3
  12. 03 2月, 2017 1 次提交
  13. 04 12月, 2016 6 次提交
  14. 17 11月, 2016 1 次提交
  15. 14 11月, 2016 1 次提交
    • A
      net: dsa: mv88e6xxx: Don't modify RGMII delays when not RGMII mode · fedf1865
      Andrew Lunn 提交于
      The RGMII modes delays can be set via strapping pings or EEPROM.
      Don't change them unless explicitly asked to change them.  The recent
      refactoring of setting the MAC configuration changed this behaviours,
      in that CPU and DSA ports have any pre-configured RGMII delays
      removed. This breaks the Armada 370RD board. Restore the previous
      behaviour, in that RGMII delays are only applied/removed when
      explicitly asked for via an phy-mode being PHY_INTERFACE_MODE_RGMII*
      
      Fixes: 7340e5ecdbb1 ("net: dsa: mv88e6xxx: setup port's MAC")
      Signed-off-by: NAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fedf1865
  16. 05 11月, 2016 1 次提交
    • V
      net: dsa: mv88e6xxx: add port's MAC speed setter · 96a2b40c
      Vivien Didelot 提交于
      While the two bits for link, duplex or RGMII delays are used the same
      way on chips supporting the said feature, the two bits for speed have
      different meaning for most of the chips out there.
      
      Speed value is stored in bits 1:0, 0x3 means unforce (normal detection).
      
      Some chips reuse values for alternative speeds when bit 12 is set.
      
      Newer chips with speed > 1Gbps reuse value 0x3 thus need a new bit 13.
      
      Here are the values to write in register 0x1 to (un)force speed:
      
          | Speed   | 88E6065 | 88E6185 | 88E6352 | 88E6390 | 88E6390X |
          | ------- | ------- | ------- | ------- | ------- | -------- |
          | 10      | 0x0000  | 0x0000  | 0x0000  | 0x2000  | 0x2000   |
          | 100     | 0x0001  | 0x0001  | 0x0001  | 0x2001  | 0x2001   |
          | 200     | 0x0002  | NA      | 0x1001  | 0x3001  | 0x3001   |
          | 1000    | NA      | 0x0002  | 0x0002  | 0x2002  | 0x2002   |
          | 2500    | NA      | NA      | NA      | 0x3003  | 0x3003   |
          | 10000   | NA      | NA      | NA      | NA      | 0x2003   |
          | unforce | 0x0003  | 0x0003  | 0x0003  | 0x0000  | 0x0000   |
      
      This patch implements a generic mv88e6xxx_port_set_speed() function used
      by chip-specific wrappers to filter supported ports and speeds.
      Signed-off-by: NVivien Didelot <vivien.didelot@savoirfairelinux.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      96a2b40c