diff options
author | Jan Weitzel <j.weitzel@phytec.de> | 2013-08-30 10:01:20 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-08-31 12:01:32 +0200 |
commit | f958ffb3cdeabad3f54fceed5d755c160c005671 (patch) | |
tree | 750283cfcfce8826521d6dd1c8e6e1bd89da8380 /arch/arm/boards/tqma6x | |
parent | 93a4a77528b8094ab89d4134b722a7eb1b28f756 (diff) | |
download | barebox-f958ffb3cdeabad3f54fceed5d755c160c005671.tar.gz barebox-f958ffb3cdeabad3f54fceed5d755c160c005671.tar.xz |
net/phy: support of mmd register read and write
Add function for indirect access of the mmd registers, based on linux.
phy_read_mmd_indirect
phy_write_mmd_indirect
Also clean some private mmd functions
Signed-off-by: Jan Weitzel <j.weitzel@phytec.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/boards/tqma6x')
-rw-r--r-- | arch/arm/boards/tqma6x/board.c | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/arch/arm/boards/tqma6x/board.c b/arch/arm/boards/tqma6x/board.c index 9e81a1d11d..3e051a5535 100644 --- a/arch/arm/boards/tqma6x/board.c +++ b/arch/arm/boards/tqma6x/board.c @@ -58,23 +58,15 @@ static iomux_v3_cfg_t tqma6x_pads_gpio[] = { MX6Q_PAD_RGMII_RX_CTL__GPIO_6_24, }; -static void mmd_write_reg(struct phy_device *dev, int device, int reg, int val) -{ - phy_write(dev, 0x0d, device); - phy_write(dev, 0x0e, reg); - phy_write(dev, 0x0d, (1 << 14) | device); - phy_write(dev, 0x0e, val); -} - static int ksz9031rn_phy_fixup(struct phy_device *dev) { /* * min rx data delay, max rx/tx clock delay, * min rx/tx control delay */ - mmd_write_reg(dev, 2, 4, 0); - mmd_write_reg(dev, 2, 5, 0); - mmd_write_reg(dev, 2, 8, 0x003ff); + phy_write_mmd_indirect(dev, 4, 2, 0); + phy_write_mmd_indirect(dev, 5, 2, 0); + phy_write_mmd_indirect(dev, 8, 2, 0x003ff); return 0; } |