mirror of
https://github.com/opnsense/src.git
synced 2026-06-09 00:32:25 -04:00
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
2067168264
commit
26ca36d4ca
2 changed files with 14 additions and 2 deletions
|
|
@ -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 a new issue