bee1bc98fd97a816aac1020d0f4b2d88ad1f1a67
[linux-2.6-block.git] / drivers / net / dsa / mv88e6xxx / global2.h
1 /*
2  * Marvell 88E6xxx Switch Global 2 Registers support (device address 0x1C)
3  *
4  * Copyright (c) 2008 Marvell Semiconductor
5  *
6  * Copyright (c) 2016 Vivien Didelot <vivien.didelot@savoirfairelinux.com>
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * (at your option) any later version.
12  */
13
14 #ifndef _MV88E6XXX_GLOBAL2_H
15 #define _MV88E6XXX_GLOBAL2_H
16
17 #include "mv88e6xxx.h"
18
19 int mv88e6xxx_g2_smi_phy_read(struct mv88e6xxx_chip *chip, int addr, int reg,
20                               u16 *val);
21 int mv88e6xxx_g2_smi_phy_write(struct mv88e6xxx_chip *chip, int addr, int reg,
22                                u16 val);
23 int mv88e6xxx_g2_set_switch_mac(struct mv88e6xxx_chip *chip, u8 *addr);
24 int mv88e6xxx_g2_get_eeprom16(struct mv88e6xxx_chip *chip,
25                               struct ethtool_eeprom *eeprom, u8 *data);
26 int mv88e6xxx_g2_set_eeprom16(struct mv88e6xxx_chip *chip,
27                               struct ethtool_eeprom *eeprom, u8 *data);
28 int mv88e6xxx_g2_setup(struct mv88e6xxx_chip *chip);
29
30 #endif /* _MV88E6XXX_GLOBAL2_H */