PHY_WRITE
PHY_WRITE(mac, 0x28, 0x8018);
PHY_WRITE(mac, 0x47a, 0xc111);
PHY_WRITE(mac, phy->phy_tbl_ctrl, ofs);
PHY_WRITE(mac, phy->phy_tbl_data_lo, data);
PHY_WRITE(mac, phy->phy_tbl_ctrl, ofs);
PHY_WRITE(mac, phy->phy_tbl_data_hi, data >> 16);
PHY_WRITE(mac, phy->phy_tbl_data_lo, data & 0xffff);
PHY_WRITE(mac, BWI_PHYR_NRSSI_CTRL, ofs);
PHY_WRITE(mac, BWI_PHYR_NRSSI_DATA, (uint16_t)data);
PHY_WRITE(mac, BWI_PHYR_NRSSI_CTRL, ofs);
PHY_WRITE(mac, 0x814, 0);
PHY_WRITE(mac, 0x815, 0);
PHY_WRITE(mac, 0x811, 0);
PHY_WRITE(mac, 0x15, 0xc0);
PHY_WRITE(mac, 0x811, 0x400);
PHY_WRITE(mac, 0x15, 0xc0);
PHY_WRITE(mac, 0x4c2, 0x1816);
PHY_WRITE(mac, 0x4c3, 0x8006);
PHY_WRITE(mac, 0x47e, 0x78);
PHY_WRITE(mac, 0x2e, 0x8075);
PHY_WRITE(mac, 0x2e, 0x807f);
PHY_WRITE(mac, 0x2f, 0x101);
PHY_WRITE(mac, 0x2f, 0x202);
PHY_WRITE(mac, 0x80f, 0x8078);
PHY_WRITE(mac, 0x805, 0x3230);
PHY_WRITE(mac, 0x20, 0x301c);
PHY_WRITE(mac, 0x26, 0);
PHY_WRITE(mac, 0x30, 0xc6);
PHY_WRITE(mac, 0x88, 0x3e00);
PHY_WRITE(mac, 0x89 + ofs, val);
PHY_WRITE(mac, 0x38, 0x677);
PHY_WRITE(mac, 0x14, 0x80);
PHY_WRITE(mac, 0x32, 0xca);
PHY_WRITE(mac, 0x32, 0xe0);
PHY_WRITE(mac, 0x35, 0x7c2);
PHY_WRITE(mac, 0x26, 0xcc00);
PHY_WRITE(mac, 0x26, 0xce00);
PHY_WRITE(mac, 0x2a, 0x88a3);
PHY_WRITE(mac, 0x2a, 0x88c2);
PHY_WRITE(mac, ofs, val);
PHY_WRITE(mac, 0x38, 0x667);
PHY_WRITE(mac, 0x1c, 0x186a);
PHY_WRITE(mac, 0x26, 0xce00);
PHY_WRITE(mac, 0x21, 0x3763);
PHY_WRITE(mac, 0x22, 0x1bc3);
PHY_WRITE(mac, 0x23, 0x6f9);
PHY_WRITE(mac, 0x24, 0x37e);
PHY_WRITE(mac, 0x26, 0xcc00);
PHY_WRITE(mac, 0x30, 0xc6);
PHY_WRITE(mac, 0x20, 0x3e1c);
PHY_WRITE(mac, 0x20, 0x301c);
PHY_WRITE(mac, 0x14, 0x80);
PHY_WRITE(mac, 0x32, 0xca);
PHY_WRITE(mac, 0x2a, 0x88a3);
PHY_WRITE(mac, 0x3e, 0x817a);
PHY_WRITE(mac, ofs, val);
PHY_WRITE(mac, ofs, val);
PHY_WRITE(mac, ofs, (val & 0x3f3f));
PHY_WRITE(mac, 0x5b, 0);
PHY_WRITE(mac, 0x5c, 0);
PHY_WRITE(mac, 0x14, 0x200);
PHY_WRITE(mac, 0x2a, 0x88c2);
PHY_WRITE(mac, 0x2a, 0x8ac0);
PHY_WRITE(mac, 0x38, 0x668);
PHY_WRITE(mac, 0x16, 0x410);
PHY_WRITE(mac, 0x17, 0x820);
PHY_WRITE(mac, 0x62, 0x7);
PHY_WRITE(mac, 0x406, 0x4f19);
PHY_WRITE(mac, 0x42c, 0x5a);
PHY_WRITE(mac, 0x427, 0x1a);
PHY_WRITE(mac, 0x4c0, 0x1861);
PHY_WRITE(mac, 0x4c1, 0x271);
PHY_WRITE(mac, 0x4c0, 0x98);
PHY_WRITE(mac, 0x4c1, 0x70);
PHY_WRITE(mac, 0x4c9, 0x80);
PHY_WRITE(mac, 0x403, 0x1000);
PHY_WRITE(mac, 0x46e, 0x3cf);
PHY_WRITE(mac, 0x455, 0x4);
PHY_WRITE(mac, 0x430, 0x92b);
PHY_WRITE(mac, 0x41f, 0x287a);
PHY_WRITE(mac, 0x422, 0x287a);
PHY_WRITE(mac, 0x48e, 0x1c00);
PHY_WRITE(mac, 0x48b, 0x5e);
PHY_WRITE(mac, 0x48d, 0x2);
PHY_WRITE(mac, 0x5a, 0x780);
PHY_WRITE(mac, 0x59, 0xc810);
PHY_WRITE(mac, 0x58, 0xd);
PHY_WRITE(mac, 0x80f, 0xc020);
PHY_WRITE(mac, 0x80f, 0x8020);
PHY_WRITE(mac, 0x810, 0);
PHY_WRITE(mac, save_phy_regs[i], save_phy[i]);
PHY_WRITE(mac, save_phy_regs[2], save_phy[2] | 0x3);
PHY_WRITE(mac, save_phy_regs[2], save_phy[2]);
PHY_WRITE(mac, save_phy_regs[3], save_phy[3]);
PHY_WRITE(mac, save_phy_regs[0], save_phy[0]);
PHY_WRITE(mac, save_phy_regs[1], save_phy[1]);
PHY_WRITE(mac, 0x15, 0xaa00);
PHY_WRITE(mac, 0x15, 0xaa00);
PHY_WRITE(mac, BWI_PHYR_RF_LO, val);
PHY_WRITE(mac, 0x30, 0xff);
PHY_WRITE(mac, 0x80f, 0xc020);
PHY_WRITE(mac, 0x80f, 0x8020);
PHY_WRITE(mac, 0x810, 0);
PHY_WRITE(mac, 0x812, phy812_val);
PHY_WRITE(mac, 0x811, 0x1b3);
PHY_WRITE(mac, 0x811, 0x9b3);
PHY_WRITE(mac, 0x812, phy812_val);
PHY_WRITE(mac, 0x15, 0xbfaf);
PHY_WRITE(mac, 0x2b, 0x1403);
PHY_WRITE(mac, 0x812, phy812_val);
PHY_WRITE(mac, 0x15, 0xbfa0);
PHY_WRITE(mac, 0x58, 0);
PHY_WRITE(mac, 0x5a, 0x480);
PHY_WRITE(mac, 0x59, 0xc810);
PHY_WRITE(mac, 0x58, 0xd);
PHY_WRITE(mac, 0x812, phy812_val);
PHY_WRITE(mac, 0x15, 0xafb0);
PHY_WRITE(mac, 0x812, phy812_val);
PHY_WRITE(mac, 0x15, 0xefb0);
PHY_WRITE(mac, 0x812, phy812_val);
PHY_WRITE(mac, 0x15, 0xfff0);
PHY_WRITE(mac, 0x58, 0);
PHY_WRITE(mac, 0x812, phy812_val);
PHY_WRITE(mac, 0x15, 0xafb0);
PHY_WRITE(mac, 0x58, 0);
PHY_WRITE(mac, 0x5a, 0xd80);
PHY_WRITE(mac, 0x59, 0xc810);
PHY_WRITE(mac, 0x58, 0xd);
PHY_WRITE(mac, 0x812, phy812_val);
PHY_WRITE(mac, 0x15, 0xafb0);
PHY_WRITE(mac, 0x812, phy812_val);
PHY_WRITE(mac, 0x15, 0xefb0);
PHY_WRITE(mac, 0x812, phy812_val);
PHY_WRITE(mac, 0x15, 0xfff0);
PHY_WRITE(mac, 0x58, 0);
PHY_WRITE(mac, 0x812, phy812_val);
#define RESTORE_PHY_REG(mac, regs, n) PHY_WRITE((mac), 0x##n, (regs)->phy_##n)
PHY_WRITE(mac, 0x15, 0xafb0);
PHY_WRITE(mac, save_phy_regs_comm[0], save_phy_comm[0]);
PHY_WRITE(mac, save_phy_regs_comm[i], save_phy_comm[i]);
PHY_WRITE(mac, 0x35, phyr_35);
PHY_WRITE(mac, 0x30, phyr_30);
PHY_WRITE(mac, save_phy_regs_11g[i],
PHY_WRITE(mac, 0x80f, phyr_80f);
PHY_WRITE(mac, 0x810, phyr_810);
PHY_WRITE(mac, 0x429, regs.phy_429 & 0x7fff);
PHY_WRITE(mac, 0x802, regs.phy_802 & 0xfffc);
PHY_WRITE(mac, 0x429, regs.phy_429 & 0x7fff);
PHY_WRITE(mac, 0x802, regs.phy_802 & 0xfffc);
PHY_WRITE(mac, 0x2e, 0x7f);
PHY_WRITE(mac, 0x80f, 0x78);
PHY_WRITE(mac, 0x35, regs.phy_35 & 0xff7f);
PHY_WRITE(mac, 0x2b, 0x203);
PHY_WRITE(mac, 0x2a, 0x8a3);
PHY_WRITE(mac, 0x814, regs.phy_814 | 0x3);
PHY_WRITE(mac, 0x815, regs.phy_815 & 0xfffc);
PHY_WRITE(mac, 0x811, 0x1b3);
PHY_WRITE(mac, 0x812, 0xb2);
PHY_WRITE(mac, 0x80f, 0x8078);
PHY_WRITE(mac, 0x15, 0xe300);
PHY_WRITE(mac, 0x812, (devi_ctrl << 8) | 0xa0);
PHY_WRITE(mac, 0x812, (devi_ctrl << 8) | 0xa2);
PHY_WRITE(mac, 0x812, (devi_ctrl << 8) | 0xa3);
PHY_WRITE(mac, 0x15, devi_ctrl | 0xefa0);
PHY_WRITE(mac, 0x2e, 0x807f);
PHY_WRITE(mac, 0x2f, 0x202);
PHY_WRITE(mac, 0x2f, 0x101);
PHY_WRITE(mac, 0x15, 0xe300);
PHY_WRITE(mac, 0x812, ctrl | 0xb0);
PHY_WRITE(mac, 0x812, ctrl | 0xb2);
PHY_WRITE(mac, 0x812, ctrl | 0xb3);
PHY_WRITE(mac, 0x15, 0xf300);
PHY_WRITE(mac, 0x15, ctrl | 0xefa0);
PHY_WRITE(mac, 0x15, ctrl | 0xefe0);
PHY_WRITE(mac, 0x15, ctrl | 0xffe0);
PHY_WRITE(mac, 0x30, 0xff);
PHY_WRITE(mac, 0x26, 0);
PHY_WRITE(mac, 0x2a, 0x8a3);
PHY_WRITE(mac, 0x20, 0x3f3f);
PHY_WRITE(mac, 0x15, 0xf330);
PHY_WRITE(mac, 0x5a, 0x480);
PHY_WRITE(mac, 0x59, 0x810);
PHY_WRITE(mac, 0x58, 0xd);
PHY_WRITE(mac, save_phy_regs[0], save_phy[0]);
PHY_WRITE(mac, save_phy_regs[i], save_phy[i]);
PHY_WRITE(mac, save_phy_regs[i], save_phy[i]);
PHY_WRITE(mac, 0x2e, 0);
PHY_WRITE(mac, 0x2f, 0);
PHY_WRITE(mac, 0x80f, 0);
PHY_WRITE(mac, 0x810, 0);
PHY_WRITE(mac, 0x5a, 0x480);
PHY_WRITE(mac, 0x59, 0x810);
PHY_WRITE(mac, 0x58, 0xd);
PHY_WRITE(mac, 0x3, 0x122);
PHY_WRITE(mac, save_phy6_regs[phy6_idx],
PHY_WRITE(mac, save_phy_comm_regs[i], save_phy_comm[i]);
PHY_WRITE(mac, save_phy6_regs[phy6_idx],
PHY_WRITE(mac, save_phy_comm_regs[0], save_phy_comm[0]);
PHY_WRITE(mac, save_phy_comm_regs[2], save_phy_comm[2]);
PHY_WRITE(mac, save_phy_comm_regs[1], save_phy_comm[1]);
PHY_WRITE(mac, 0x2e, 0);
PHY_WRITE(mac, 0x810, 0);
PHY_WRITE(mac, 0x15, 0xf330);
PHY_WRITE(mac, 0x5a, 0x480);
PHY_WRITE(mac, 0x59, 0x810);
PHY_WRITE(mac, 0x58, 0xd);
PHY_WRITE(mac, save_phy3_regs[phy3_idx],
PHY_WRITE(mac, save_phy_comm_regs[i], save_phy_comm[i]);
PHY_WRITE(mac, save_phy3_regs[phy3_idx],
PHY_WRITE(mac, BWI_PHYR_NRSSI_THR_11B, (((uint16_t)thr) << 8) | 0x1c);
PHY_WRITE(mac, 0x87, 0xe0d);
PHY_WRITE(mac, 0x86, 0xc0b);
PHY_WRITE(mac, 0x85, 0xa09);
PHY_WRITE(mac, 0x84, 0x808);
PHY_WRITE(mac, 0x83, 0x808);
PHY_WRITE(mac, 0x82, 0x604);
PHY_WRITE(mac, 0x81, 0x302);
PHY_WRITE(mac, 0x80, 0x100);
PHY_WRITE(mac, 0x15, 0x8000);
PHY_WRITE(mac, 0x15, 0xcc00);
PHY_WRITE(mac, 0x15, 0xc0);
PHY_WRITE(mac, 0x15, 0);
PHY_WRITE(mac, 0x427, 0x8);
PHY_WRITE(mac, 0x49b, 0xdc);
PHY_WRITE(mac, 0x15, 0xafa0);
PHY_WRITE(mac, 0x15, 0xefa0);
PHY_WRITE(mac, 0x15, 0xffa0);
PHY_WRITE(mac, 0x30, 0xff);
PHY_WRITE(mac, 0x35, regs.phy_35 & 0xff7f);
PHY_WRITE(mac, 0x15, 0xb000);
PHY_WRITE(mac, 0x2b, 0x203);
PHY_WRITE(mac, 0x2a, 0x8a3);
PHY_WRITE(mac, 0x2b, 0x1402);
PHY_WRITE(mac, 0x2f, phy2f);
PHY_WRITE(mac, 0x2f, phy_val + 0x101);
PHY_WRITE((mac), (ctrl), PHY_READ((mac), (ctrl)) | (bits))
PHY_WRITE((mac), (ctrl), PHY_READ((mac), (ctrl)) & ~(bits))
PHY_WRITE((mac), (ctrl), (PHY_READ((mac), (ctrl)) & (filt)) | (bits))
PHY_WRITE(miisc, MII_LXTPHY_CONFIG, cfg);
PHY_WRITE(sc, MII_BMCR, reg | BMCR_ISO);
PHY_WRITE(sc, MII_BMCR, reg | BMCR_ISO);
PHY_WRITE(sc, MII_BMCR, bmcr | BMCR_ISO);
PHY_WRITE(sc, MII_BMCR, bmcr | BMCR_ISO);
PHY_WRITE(sc, MII_100T2CR, 0);
PHY_WRITE(sc, MII_ANAR, anar);
PHY_WRITE(sc, MII_BMCR, bmcr | BMCR_RESET | BMCR_AUTOEN |
PHY_WRITE(sc, 29, 0x29);
PHY_WRITE(sc, 30, 0);
PHY_WRITE(sc, ATPHY_SCR, reg);
PHY_WRITE(sc, MII_ANAR, anar);
PHY_WRITE(sc, MII_100T2CR, GTCR_ADV_1000TFDX |
PHY_WRITE(sc, MII_100T2CR, 0);
PHY_WRITE(sc, MII_BMCR, BMCR_RESET | BMCR_AUTOEN | BMCR_STARTNEG);
PHY_WRITE(sc, MII_BMCR, reg | BMCR_ISO);
PHY_WRITE(sc, 0x1f, data | 0x0080);
PHY_WRITE(sc, MII_BMTPHY_AUX2, data | 0x0020);
PHY_WRITE(sc, MII_BMTPHY_INTR, data | 0x0004);
PHY_WRITE(sc, 0x1f, data & ~0x0080);
PHY_WRITE(sc, dspcode[i].reg, dspcode[i].val);
PHY_WRITE(sc, dspcode[i].reg, dspcode[i].val);
PHY_WRITE(sc, BRGPHY_MII_AUXCTL, 0x1007);
PHY_WRITE(sc, BRGPHY_MII_AUXCTL, data | 0x0400);
PHY_WRITE(sc, BRGPHY_MII_AUXCTL, 0x0007);
PHY_WRITE(sc, BRGPHY_MII_AUXCTL, data | 0x0800);
PHY_WRITE(sc, BRGPHY_MII_DSP_ADDR_REG, 0x000a);
PHY_WRITE(sc, BRGPHY_MII_DSP_RW_PORT, data | 0x0200);
PHY_WRITE(sc, dspcode[i].reg, dspcode[i].val);
PHY_WRITE(sc, dspcode[i].reg, dspcode[i].val);
PHY_WRITE(sc, dspcode[i].reg, dspcode[i].val);
PHY_WRITE(sc, dspcode[i].reg, dspcode[i].val);
PHY_WRITE(sc, dspcode[i].reg, dspcode[i].val);
PHY_WRITE(sc, BRGPHY_MII_DSP_ADDR_REG, 0x0f08);
PHY_WRITE(sc, BRGPHY_MII_DSP_RW_PORT, val);
PHY_WRITE(sc, BRGPHY_MII_AUXCTL, 0x4c20);
PHY_WRITE(sc, BRGPHY_MII_AUXCTL, 0x7);
PHY_WRITE(sc, BRGPHY_MII_AUXCTL,
PHY_WRITE(sc, BRGPHY_MII_PHY_EXTCTL,
PHY_WRITE(sc, BRGPHY_MII_AUXCTL, BRGPHY_AUXCTL_SHADOW_MISC |
PHY_WRITE(sc, BRGPHY_MII_AUXCTL, BRGPHY_AUXCTL_MISC_WRITE_EN |
PHY_WRITE(sc, BRGPHY_MII_AUXCTL, BRGPHY_AUXCTL_SHADOW_MISC |
PHY_WRITE(sc, BRGPHY_MII_AUXCTL, BRGPHY_AUXCTL_MISC_WRITE_EN |
PHY_WRITE(sc, BRGPHY_MII_SHADOW_1C, BRGPHY_SHADOW_1C_CLK_CTRL);
PHY_WRITE(sc, BRGPHY_MII_SHADOW_1C, BRGPHY_SHADOW_1C_WRITE_EN |
PHY_WRITE(sc, MII_BMCR, reg | BMCR_ISO);
PHY_WRITE(sc, MII_100T2CR, 0);
PHY_WRITE(sc, MII_ANAR, ANAR_CSMA);
PHY_WRITE(sc, MII_BMCR, speed);
PHY_WRITE(sc, MII_100T2CR, gig);
PHY_WRITE(sc, MII_BMCR,
PHY_WRITE(sc, MII_100T2CR, gig);
PHY_WRITE(sc, BRGPHY_5708S_BLOCK_ADDR,
PHY_WRITE(sc, BRGPHY_BLOCK_ADDR,
PHY_WRITE(sc, BRGPHY_BLOCK_ADDR,
PHY_WRITE(sc, MII_ANAR, anar);
PHY_WRITE(sc, MII_ANAR, anar);
PHY_WRITE(sc, MII_100T2CR, ktcr);
PHY_WRITE(sc, MII_BMCR, BMCR_AUTOEN | BMCR_STARTNEG);
PHY_WRITE(sc, BRGPHY_MII_IMR, 0xFF00);
PHY_WRITE(sc, MII_BMCR, BMCR_LOOP);
PHY_WRITE(sc, BRGPHY_MII_AUXCTL, 0x0c00);
PHY_WRITE(sc, BRGPHY_MII_DSP_ADDR_REG, 0x000a);
PHY_WRITE(sc, BRGPHY_MII_DSP_RW_PORT, 0x110b);
PHY_WRITE(sc, BRGPHY_TEST1, BRGPHY_TEST1_TRIM_EN |
PHY_WRITE(sc, BRGPHY_MII_DSP_RW_PORT, 0x010b);
PHY_WRITE(sc, BRGPHY_MII_AUXCTL, 0x0400);
PHY_WRITE(sc, BRGPHY_MII_EPHY_PTEST, 0x12);
PHY_WRITE(sc, BRGPHY_MII_PHY_EXTCTL,
PHY_WRITE(sc, BRGPHY_5708S_BLOCK_ADDR, BRGPHY_5708S_DIG3_PG2);
PHY_WRITE(sc, BRGPHY_5708S_PG2_DIGCTL_3_0,
PHY_WRITE(sc, BRGPHY_5708S_BLOCK_ADDR, BRGPHY_5708S_DIG_PG0);
PHY_WRITE(sc, BRGPHY_5708S_PG0_1000X_CTL1,
PHY_WRITE(sc, BRGPHY_5708S_PG0_1000X_CTL2,
PHY_WRITE(sc, BRGPHY_5708S_ANEG_NXT_PG_XMIT1,
PHY_WRITE(sc, BRGPHY_5708S_BLOCK_ADDR,
PHY_WRITE(sc, BRGPHY_5708S_PG5_TXACTL1,
PHY_WRITE(sc, BRGPHY_5708S_BLOCK_ADDR,
PHY_WRITE(sc, BRGPHY_5708S_BLOCK_ADDR,
PHY_WRITE(sc, BRGPHY_5708S_PG5_TXACTL3,
PHY_WRITE(sc, BRGPHY_5708S_BLOCK_ADDR,
PHY_WRITE(sc, BRGPHY_BLOCK_ADDR, BRGPHY_BLOCK_ADDR_SERDES_DIG);
PHY_WRITE(sc, BRGPHY_SERDES_DIG_1000X_CTL1,
PHY_WRITE(sc, BRGPHY_BLOCK_ADDR,
PHY_WRITE(sc, BRGPHY_OVER_1G_UNFORMAT_PG1,
PHY_WRITE(sc, BRGPHY_BLOCK_ADDR, BRGPHY_BLOCK_ADDR_MRBE);
PHY_WRITE(sc, BRGPHY_MRBE_MSG_PG5_NP,
PHY_WRITE(sc, BRGPHY_BLOCK_ADDR,
PHY_WRITE(sc, BRGPHY_CL73_USER_B0_MBRE_CTL1,
PHY_WRITE(sc, BRGPHY_BLOCK_ADDR,
PHY_WRITE(sc, MII_BMCR, reg | BMCR_ISO);
PHY_WRITE(sc, MII_BMCR, reg | BMCR_ISO);
PHY_WRITE(sc, MII_100T2CR, 0);
PHY_WRITE(sc, MII_BMCR, speed);
PHY_WRITE(sc, MII_ANAR, ANAR_CSMA);
PHY_WRITE(sc, MII_100T2CR, gig);
PHY_WRITE(sc, MII_BMCR,
PHY_WRITE(sc, MII_100T2CR, gig);
PHY_WRITE(sc, MII_BMCR, BMCR_ISO|BMCR_PDOWN);
PHY_WRITE(x, y, (PHY_READ(x, y) | (z)))
PHY_WRITE(x, y, (PHY_READ(x, y) & ~(z)))
PHY_WRITE(sc, E1000_EADR, 0);
PHY_WRITE(sc, E1000_ESSR, reg);
PHY_WRITE(sc, E1000_EADR, 2);
PHY_WRITE(sc, E1000_SCR, reg);
PHY_WRITE(sc, E1000_EADR, page);
PHY_WRITE(sc, E1000_EADR, 18);
PHY_WRITE(sc, E1000_GCR1, reg);
PHY_WRITE(sc, E1000_EADR, page);
PHY_WRITE(sc, E1000_CR, reg);
PHY_WRITE(sc, E1000_SCR, reg);
PHY_WRITE(sc, E1000_ESCR, reg);
PHY_WRITE(sc, 0x16, reg);
PHY_WRITE(sc, E1000_CR, reg | E1000_CR_RESET);
PHY_WRITE(sc, E1000_CR, bmcr | E1000_CR_ISOLATE);
PHY_WRITE(sc, E1000_CR, bmcr | E1000_CR_RESET);
PHY_WRITE(sc, E1000_EADR, page);
PHY_WRITE(sc, reg, val);
PHY_WRITE(sc, E1000_EADR, opage);
PHY_WRITE(sc, MII_BMCR, bmcr | BMCR_ISO);
PHY_WRITE(sc, MII_BMCR, bmcr);
PHY_WRITE(sc, MII_BMCR, bmcr | BMCR_PDOWN);
PHY_WRITE(sc, MII_BMCR, bmcr);
PHY_WRITE(sc, MII_BMCR,
PHY_WRITE(sc, ETPHY_CTRL,
PHY_WRITE(sc, ETPHY_INDEX, ETPHY_INDEX_MAGIC);
PHY_WRITE(sc, ETPHY_CTRL, ETPHY_CTRL_RSV1);
PHY_WRITE(sc, MII_BMCR, BMCR_AUTOEN | BMCR_PDOWN | BMCR_S1000);
PHY_WRITE(sc, ETPHY_CTRL,
PHY_WRITE(sc, ETPHY_INDEX, dsp->index);
PHY_WRITE(sc, ETPHY_DATA, dsp->data);
PHY_WRITE(sc, ETPHY_INDEX, dsp->index);
PHY_WRITE(sc, MII_BMCR, BMCR_AUTOEN | BMCR_S1000);
PHY_WRITE(sc, ETPHY_CTRL, ETPHY_CTRL_RSV1);
PHY_WRITE(sc, MII_BMCR, BMCR_S100|BMCR_AUTOEN|BMCR_FDX);
PHY_WRITE(sc, MII_BMCR, reg | BMCR_ISO);
PHY_WRITE(sc, MII_BMCR, reg | BMCR_ISO);
PHY_WRITE(sc, MII_ICSPHY_ECR2, ECR2_10TPROT|ECR2_Q10T);
PHY_WRITE(sc, MII_BMCR, BMCR_S100|BMCR_AUTOEN|BMCR_FDX);
PHY_WRITE(sc, MII_BMCR, reg | BMCR_ISO);
PHY_WRITE(sc, MII_BMCR, reg | BMCR_ISO);
PHY_WRITE(sc, MII_BMCR, reg | BMCR_ISO);
PHY_WRITE(sc, MII_100T2CR, 0);
PHY_WRITE(sc, MII_BMCR, speed);
PHY_WRITE(sc, MII_100T2CR, gig);
PHY_WRITE(sc, MII_BMCR, speed);
PHY_WRITE(sc, MII_100T2CR, gig);
PHY_WRITE(sc, MII_ANAR, reg | ANAR_CSMA);
PHY_WRITE(sc, MII_100T2CR, reg);
PHY_WRITE(sc, MII_BMCR, (BMCR_FDX | BMCR_AUTOEN | BMCR_STARTNEG));
PHY_WRITE(sc, 31, 0x0001);
PHY_WRITE(sc, 27, 0x01e0);
PHY_WRITE(sc, 31, 0x0002);
PHY_WRITE(sc, 27, 0xeb8e);
PHY_WRITE(sc, 31, 0x0000);
PHY_WRITE(sc, 30, 0x005e);
PHY_WRITE(sc, 9, 0x0700);
PHY_WRITE(sc, MII_BMCR, reg);
PHY_WRITE(sc, MII_BMCR, bmcr | BMCR_ISO);
PHY_WRITE(sc, JMPHY_TMCTL,
PHY_WRITE(sc, MII_BMCR, BMCR_RESET | BMCR_AUTOEN);
PHY_WRITE(sc, MII_BMCR, bmcr | BMCR_ISO | BMCR_PDOWN);
PHY_WRITE(sc, MII_100T2CR, gig);
PHY_WRITE(sc, MII_ANAR, anar | ANAR_CSMA);
PHY_WRITE(sc, MII_BMCR, bmcr | BMCR_AUTOEN | BMCR_STARTNEG);
PHY_WRITE(sc, MII_BMCR, reg | BMCR_ISO);
PHY_WRITE(sc, MII_LXTPHY_IER,
PHY_WRITE(sc, MII_ANAR, anar);
PHY_WRITE(sc, MII_BMCR, bmcr);
PHY_WRITE(sc, MII_100T2CR, gtcr);
PHY_WRITE(sc, MII_ANAR, anar);
PHY_WRITE(sc, MII_ANAR, anar);
PHY_WRITE(sc, MII_100T2CR, gtcr);
PHY_WRITE(sc, MII_BMCR, BMCR_AUTOEN | BMCR_STARTNEG);
PHY_WRITE(sc, MII_BMCR, reg);
PHY_WRITE(sc, MII_BMCR, reg | BMCR_ISO);
PHY_WRITE(other, MII_BMCR, BMCR_ISO);
PHY_WRITE(other, MII_BMCR, ife->ifm_data);
PHY_WRITE(other, MII_BMCR, BMCR_ISO);
PHY_WRITE(other, MII_BMCR, BMCR_ISO);
PHY_WRITE(sc, MII_BMCR, reg);
PHY_WRITE(other, MII_BMCR, BMCR_ISO);
PHY_WRITE(&msc->ml_mii, MII_BMCR, BMCR_ISO);
PHY_WRITE(sc, MII_BMCR, reg | BMCR_ISO);
PHY_WRITE(sc, MII_BMCR, reg | BMCR_ISO);
PHY_WRITE(sc, MII_BMCR, reg | BMCR_ISO);
PHY_WRITE(sc, MII_NSPHY_PCR, reg);
PHY_WRITE(sc, MII_ANAR, anar);
PHY_WRITE(sc, MII_BMCR, reg | BMCR_ISO);
PHY_WRITE(sc, MII_BMCR, reg | BMCR_ISO);
PHY_WRITE(sc, MII_QSPHY_IMASK, 0);
PHY_WRITE(&sc->sc_mii, MII_BMCR, reg | BMCR_ISO);
PHY_WRITE(sc, MII_BMCR, reg | BMCR_ISO);
PHY_WRITE(sc, MII_100T2CR, gig);
PHY_WRITE(sc, MII_BMCR, speed | BMCR_AUTOEN |
PHY_WRITE(sc, MII_ANAR, anar);
PHY_WRITE(sc, MII_BMCR, BMCR_ISO|BMCR_PDOWN);
PHY_WRITE(sc, MII_ANAR, anar);
PHY_WRITE(sc, MII_100T2CR, GTCR_ADV_1000THDX | GTCR_ADV_1000TFDX);
PHY_WRITE(sc, MII_BMCR, BMCR_AUTOEN | BMCR_STARTNEG);
PHY_WRITE(sc, MII_BMCR, BMCR_PDOWN);
PHY_WRITE(sc, RGEPHY_PS, RGEPHY_PS_PAGE_MII);
PHY_WRITE(sc, RGEPHY_MIICR1, val);
PHY_WRITE(sc, RGEPHY_MIICR2, val);
PHY_WRITE(sc, RGEPHY_PS, page);
PHY_WRITE(x, y, (PHY_READ(x, y) | (z)))
PHY_WRITE(x, y, (PHY_READ(x, y) & ~(z)))
PHY_WRITE(sc, 31, 0x0001);
PHY_WRITE(sc, 21, 0x1000);
PHY_WRITE(sc, 24, 0x65C7);
PHY_WRITE(sc, 4, val);
PHY_WRITE(sc, 3, 0x00A1);
PHY_WRITE(sc, 2, 0x0008);
PHY_WRITE(sc, 1, 0x1020);
PHY_WRITE(sc, 0, 0x1000);
PHY_WRITE(sc, 4, val);
PHY_WRITE(sc, 3, 0xFF41);
PHY_WRITE(sc, 2, 0xDE60);
PHY_WRITE(sc, 1, 0x0140);
PHY_WRITE(sc, 0, 0x0077);
PHY_WRITE(sc, 4, val);
PHY_WRITE(sc, 3, 0xDF01);
PHY_WRITE(sc, 2, 0xDF20);
PHY_WRITE(sc, 1, 0xFF95);
PHY_WRITE(sc, 0, 0xFA00);
PHY_WRITE(sc, 4, val);
PHY_WRITE(sc, 3, 0xFF41);
PHY_WRITE(sc, 2, 0xDE20);
PHY_WRITE(sc, 1, 0x0140);
PHY_WRITE(sc, 0, 0x00BB);
PHY_WRITE(sc, 4, val);
PHY_WRITE(sc, 3, 0xDF01);
PHY_WRITE(sc, 2, 0xDF20);
PHY_WRITE(sc, 1, 0xFF95);
PHY_WRITE(sc, 0, 0xBF00);
PHY_WRITE(sc, 31, 0x0000);
PHY_WRITE(sc, MII_ANAR,
PHY_WRITE(sc, MII_BMCR, ife->ifm_data);
PHY_WRITE(sc, MII_BMCR, reg | BMCR_ISO);
PHY_WRITE(&sc->sc_mii, MII_BMCR, reg | BMCR_ISO);
PHY_WRITE(&sc->sc_mii, MII_BMCR, 0);
PHY_WRITE(&sc->sc_mii, MII_TLPHY_CTRL, CTRL_AUISEL);
PHY_WRITE(&sc->sc_mii, MII_TLPHY_CTRL, 0);
PHY_WRITE(&sc->sc_mii, MII_BMCR, 0);
PHY_WRITE(&sc->sc_mii, MII_BMCR, BMCR_FDX);
PHY_WRITE(&sc->sc_mii, MII_BMCR, 0);
PHY_WRITE(sc, MII_BMCR, reg | BMCR_ISO);
PHY_WRITE(sc, MII_BMCR, reg | BMCR_ISO);
PHY_WRITE(sc, MII_BMCR, reg | BMCR_ISO);
PHY_WRITE(sc, MII_ANAR, ANAR_10_FD);
PHY_WRITE(sc, MII_BMCR, BMCR_FDX);
PHY_WRITE(sc, MII_ANAR, ANAR_10);
PHY_WRITE(sc, MII_BMCR, 0);
PHY_WRITE(sc, MII_ANAR, anar);
PHY_WRITE(sc, MII_BMCR, BMCR_AUTOEN | BMCR_STARTNEG);
PHY_WRITE(sc, MII_BMCR, reg | BMCR_ISO);
PHY_WRITE(sc, YT8511_REG_ADDR, YT8511_EXT_CLK_GATE);
PHY_WRITE(sc, YT8511_REG_DATA, data);
PHY_WRITE(sc, YT8511_REG_ADDR, YT8511_EXT_DELAY_DRIVE);
PHY_WRITE(sc, YT8511_REG_DATA, data);
PHY_WRITE(sc, YT8511_REG_ADDR, YT8511_EXT_SLEEP_CTRL);
PHY_WRITE(sc, YT8511_REG_DATA, data);
PHY_WRITE(sc, YT8511_REG_ADDR, addr);
PHY_WRITE(sc, YT8511_REG_ADDR, YT8521_EXT_CHIP_CONFIG);
PHY_WRITE(sc, YT8511_REG_DATA, data);
PHY_WRITE(sc, YT8511_REG_ADDR, YT8521_EXT_RGMII_CONFIG1);
PHY_WRITE(sc, YT8511_REG_DATA, data);
PHY_WRITE(sc, YT8511_REG_ADDR, addr);
PHY_WRITE(sc, YT8511_REG_ADDR, YT8521_EXT_RGMII_CONFIG1);
PHY_WRITE(sc, YT8511_REG_DATA, data);
PHY_WRITE(sc, YT8511_REG_ADDR, addr);
PHY_WRITE(sc, YT8511_REG_ADDR, YT8521_EXT_CHIP_CONFIG);
PHY_WRITE(sc, YT8511_REG_ADDR, YT8521_EXT_PAD_DRIVE_STRENGTH);
PHY_WRITE(sc, YT8511_REG_DATA, data);
PHY_WRITE(sc, YT8511_REG_ADDR, YT8521_EXT_SYNCE_CFG);
PHY_WRITE(sc, YT8511_REG_DATA, data);
PHY_WRITE(sc, YT8511_REG_ADDR, addr);