Add in a flag to control whether the low or high data word of a register access
is latched in first. The AR8327 apparently requires the low data word be latched in first. Obtained from: Linux OpenWRT
This commit is contained in:
parent
a631141dcb
commit
d6af13f80d
@ -172,10 +172,21 @@ arswitch_readreg(device_t dev, int addr)
|
||||
int
|
||||
arswitch_writereg(device_t dev, int addr, int value)
|
||||
{
|
||||
struct arswitch_softc *sc;
|
||||
int r;
|
||||
|
||||
sc = device_get_softc(dev);
|
||||
|
||||
/* XXX Check the first write too? */
|
||||
arswitch_writereg_msb(dev, addr, value);
|
||||
return (arswitch_writereg_lsb(dev, addr, value));
|
||||
if (sc->mii_lo_first) {
|
||||
r = arswitch_writereg_lsb(dev, addr, value);
|
||||
r |= arswitch_writereg_msb(dev, addr, value);
|
||||
} else {
|
||||
r = arswitch_writereg_msb(dev, addr, value);
|
||||
r |= arswitch_writereg_lsb(dev, addr, value);
|
||||
}
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
int
|
||||
|
@ -53,6 +53,7 @@ struct arswitch_softc {
|
||||
int is_mii; /* PHY mode is MII (XXX which PHY?) */
|
||||
int page;
|
||||
int is_internal_switch;
|
||||
int mii_lo_first;
|
||||
ar8x16_switch_type sc_switchtype;
|
||||
char *ifname[AR8X16_NUM_PHYS];
|
||||
device_t miibus[AR8X16_NUM_PHYS];
|
||||
|
Loading…
Reference in New Issue
Block a user