linux/drivers/net/dsa
Vivien Didelot 855b193290 net: dsa: mv88e6xxx: rework EEPROM access
The 6352 family of switches and compatibles provide a 8-bit address and
16-bit data access to an optional EEPROM.

Newer chip such as the 6390 family slightly changed the access to 16-bit
address and 8-bit data.

This commit cleans up the EEPROM access code for 16-bit access and makes
it easy to eventually introduce future support for 8-bit access.

Here's a list of notable changes brought by this patch:

  - provide Global2 unlocked helpers for EEPROM commands
  - remove eeprom_mutex, only reg_lock is necessary for driver functions
  - eeprom_len is 0 for chip without EEPROM, so return it directly
  - the Running bit must be 0 before r/w, so wait for Busy *and* Running
  - remove now unused mv88e6xxx_wait and mv88e6xxx_reg_write
  - other than that, the logic (in _{get,set}_eeprom16) didn't change

Chips with an 8-bit EEPROM access will require to implement the
8-suffixed variant of G2 helpers and the related flag:

    #define MV88E6XXX_FLAGS_EEPROM8	\
    	(MV88E6XXX_FLAG_G2_EEPROM_CMD |	\
    	 MV88E6XXX_FLAG_G2_EEPROM_ADDR)

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-07-20 21:10:54 -07:00
..
b53 b53: Fix build warning. 2016-07-11 14:30:52 -07:00
mv88e6xxx net: dsa: mv88e6xxx: rework EEPROM access 2016-07-20 21:10:54 -07:00
bcm_sf2_regs.h net: dsa: bcm_sf2: Add VLAN registers definitions 2016-06-09 22:12:49 -07:00
bcm_sf2.c net: dsa: bcm_sf2: Add VLAN support 2016-06-09 22:12:49 -07:00
bcm_sf2.h net: dsa: bcm_sf2: Add VLAN support 2016-06-09 22:12:49 -07:00
Kconfig net: dsa: mv88e6xxx: move driver in its own folder 2016-06-25 11:29:47 -04:00
Makefile net: dsa: mv88e6xxx: move driver in its own folder 2016-06-25 11:29:47 -04:00
mv88e6060.c net: dsa: constify probed name 2016-04-17 18:54:14 -04:00
mv88e6060.h net: dsa: Keep the mii bus and address in the private structure 2016-04-13 18:15:23 -04:00