CSR_WRITE_1
CSR_WRITE_1(sc, RL_PMCH, CSR_READ_1(sc, RL_PMCH) | 0x80);
CSR_WRITE_1(sc, 0xD1, CSR_READ_1(sc, 0xD1) & ~0x08);
CSR_WRITE_1(sc, sc->rl_txstart, RL_TXSTART_START);
CSR_WRITE_1(sc, RL_EECMD, RL_EEMODE_WRITECFG);
CSR_WRITE_1(sc, RL_LEDSEL, RL_LED_LINK | RL_LED_ACT << 4);
CSR_WRITE_1(sc, RL_EECMD, RL_EEMODE_OFF);
CSR_WRITE_1(sc, RL_EARLY_TX_THRESH, 16);
CSR_WRITE_1(sc, RL_COMMAND, RL_CMD_TX_ENB | RL_CMD_RX_ENB);
CSR_WRITE_1(sc, sc->rl_cfg1, CSR_READ_1(sc, sc->rl_cfg1) |
CSR_WRITE_1(sc, RL_EECMD, \
CSR_WRITE_1(sc, RL_EECMD, \
CSR_WRITE_1(sc, RL_COMMAND, 0x00);
CSR_WRITE_1(sc, RL_COMMAND, RL_CMD_STOPREQ | RL_CMD_TX_ENB |
CSR_WRITE_1(sc, RL_COMMAND, 0x00);
CSR_WRITE_1(sc, RL_EECMD, RL_EEMODE_WRITECFG);
CSR_WRITE_1(sc, RL_CFG3, CSR_READ_1(sc, RL_CFG3) |
CSR_WRITE_1(sc, RL_CFG4, CSR_READ_1(sc, RL_CFG4) |
CSR_WRITE_1(sc, RL_CFG4, CSR_READ_1(sc, RL_CFG4) |
CSR_WRITE_1(sc, RL_EECMD, RL_EEMODE_OFF);
CSR_WRITE_1(sc, RL_EECMD, RL_EEMODE_WRITECFG);
CSR_WRITE_1(sc, sc->rl_cfg5, val);
CSR_WRITE_1(sc, sc->rl_cfg3, val);
CSR_WRITE_1(sc, sc->rl_cfg5, val);
CSR_WRITE_1(sc, sc->rl_cfg3, val);
CSR_WRITE_1(sc, RL_EECMD, RL_EEMODE_OFF);
CSR_WRITE_1(sc, RL_COMMAND, RL_CMD_RESET);
CSR_WRITE_1(sc, RL_LDPS, 1);
CSR_WRITE_1(sc, RL_COMMAND, 0x00);
CSR_WRITE_1(sc, RL_EECMD, \
CSR_WRITE_1(sc, RL_EECMD, \
CSR_WRITE_1(sc, RL_EECMD, RL_EEMODE_PROGRAM|RL_EE_SEL);
CSR_WRITE_1(sc, RL_EECMD, RL_EEMODE_PROGRAM|RL_EE_SEL);
CSR_WRITE_1(sc, RL_EECMD, RL_EEMODE_OFF);
CSR_WRITE_1(sc, RL_MII, \
CSR_WRITE_1(sc, RL_MII, \
CSR_WRITE_1(sc, RL_COMMAND, RL_CMD_RESET);
CSR_WRITE_1(sc, RL_EECMD, RL_EEMODE_WRITECFG);
CSR_WRITE_1(sc, RL_EECMD, RL_EEMODE_OFF);
CSR_WRITE_1(sc, RL_COMMAND, RL_CMD_TX_ENB|RL_CMD_RX_ENB);
CSR_WRITE_1(sc, RL_COMMAND, RL_CMD_TX_ENB|RL_CMD_RX_ENB);
CSR_WRITE_1(sc, sc->rl_cfg1, RL_CFG1_DRVLOAD|RL_CFG1_FULLDUPLEX);
CSR_WRITE_1(sc, offset, CSR_READ_1(sc, offset) | (val))
CSR_WRITE_1(sc, offset, CSR_READ_1(sc, offset) & ~(val))
CSR_WRITE_1(sc, XL_DOWN_POLL, 64);
CSR_WRITE_1(sc, XL_TX_FREETHRESH, XL_PACKET_SIZE >> 8);
CSR_WRITE_1(sc, XL_TX_STATUS, 0x01);
CSR_WRITE_1(sc, XL_W2_STATION_ADDR_LO + i,
CSR_WRITE_1(sc, XL_TX_FREETHRESH, XL_PACKET_SIZE >> 8);
CSR_WRITE_1(sc, XL_DOWN_POLL, 64);
CSR_WRITE_1(sc, XL_W3_MAC_CTRL, macctl);
CSR_WRITE_1(sc, XL_W3_MAC_CTRL, XL_MACCTRL_DUPLEX);
CSR_WRITE_1(sc, XL_W3_MAC_CTRL,
CSR_WRITE_1(sc, XL_W3_MAC_CTRL, XL_MACCTRL_DUPLEX);
CSR_WRITE_1(sc, XL_W3_MAC_CTRL,
CSR_WRITE_1(sc, CMD_REG, Reset_CMD);
CSR_WRITE_1(sc, CMD_REG, Bank2_Sel);
CSR_WRITE_1(sc, EEPROM_REG, temp_reg & ~Trnoff_Enable);
CSR_WRITE_1(sc, I_ADDR_REG0 + i, sc->arpcom.ac_enaddr[i]);
CSR_WRITE_1(sc, REG1, CSR_READ_1(sc, REG1) | Tx_Chn_Int_Md |
CSR_WRITE_1(sc, REG2, CSR_READ_1(sc, REG2) | No_SA_Ins |
CSR_WRITE_1(sc, REG3, (CSR_READ_1(sc, REG3) & 0x3f));
CSR_WRITE_1(sc, CMD_REG, Bank1_Sel);
CSR_WRITE_1(sc, INT_NO_REG, (CSR_READ_1(sc, INT_NO_REG) & 0xf8) |
CSR_WRITE_1(sc, RCV_LOWER_LIMIT_REG, sc->rx_lower_limit >> 8);
CSR_WRITE_1(sc, RCV_UPPER_LIMIT_REG, sc->rx_upper_limit >> 8);
CSR_WRITE_1(sc, XMT_LOWER_LIMIT_REG, sc->tx_lower_limit >> 8);
CSR_WRITE_1(sc, XMT_UPPER_LIMIT_REG, sc->tx_upper_limit >> 8);
CSR_WRITE_1(sc, REG1, CSR_READ_1(sc, REG1) | TriST_INT);
CSR_WRITE_1(sc, CMD_REG, Bank0_Sel);
CSR_WRITE_1(sc, MASK_REG, All_Int & ~(Rx_Int | Tx_Int));
CSR_WRITE_1(sc, STATUS_REG, All_Int);
CSR_WRITE_1(sc, CMD_REG, Sel_Reset_CMD);
CSR_WRITE_1(sc, CMD_REG, Rcv_Enable_CMD);
CSR_WRITE_1(sc, CMD_REG, Transmit_CMD);
CSR_WRITE_1(sc, CMD_REG, Resume_XMT_List_CMD);
CSR_WRITE_1(sc, CMD_REG, Bank1_Sel);
CSR_WRITE_1(sc, REG1, CSR_READ_1(sc, REG1) & ~TriST_INT);
CSR_WRITE_1(sc, CMD_REG, Bank0_Sel);
CSR_WRITE_1(sc, CMD_REG, Rcv_Stop);
CSR_WRITE_1(sc, MASK_REG, All_Int);
CSR_WRITE_1(sc, STATUS_REG, All_Int);
CSR_WRITE_1(sc, CMD_REG, Reset_CMD);
CSR_WRITE_1(sc, STATUS_REG, Rx_Int);
CSR_WRITE_1(sc, STATUS_REG, Tx_Int);
CSR_WRITE_1(sc, CMD_REG, Bank2_Sel);
CSR_WRITE_1(sc, REG2, CSR_READ_1(sc, REG2) | Promisc_Mode);
CSR_WRITE_1(sc, REG3, CSR_READ_1(sc, REG3));
CSR_WRITE_1(sc, CMD_REG, Bank0_Sel);
CSR_WRITE_1(sc, CMD_REG, Bank2_Sel);
CSR_WRITE_1(sc, REG2, CSR_READ_1(sc, REG2) | Multi_IA);
CSR_WRITE_1(sc, REG3, CSR_READ_1(sc, REG3));
CSR_WRITE_1(sc, CMD_REG, Bank0_Sel);
CSR_WRITE_1(sc, CMD_REG, MC_Setup_CMD);
CSR_WRITE_1(sc, STATUS_REG, Exec_Int);
CSR_WRITE_1(sc, CMD_REG, Bank2_Sel);
CSR_WRITE_1(sc, REG2, CSR_READ_1(sc, REG2) & 0xDE);
CSR_WRITE_1(sc, REG3, CSR_READ_1(sc, REG3));
CSR_WRITE_1(sc, CMD_REG, Bank0_Sel);
CSR_WRITE_1(sc, CMD_REG, Bank2_Sel);
CSR_WRITE_1(sc, CMD_REG, Bank0_Sel);
CSR_WRITE_1(sc, CMD_REG, Bank2_Sel);
CSR_WRITE_1(sc, EEPROM_REG, EECS);
CSR_WRITE_1(sc, EEPROM_REG, outval);
CSR_WRITE_1(sc, EEPROM_REG, outval | EESK);
CSR_WRITE_1(sc, EEPROM_REG, outval);
CSR_WRITE_1(sc, EEPROM_REG, ctrl_val);
CSR_WRITE_1(sc, EEPROM_REG, ctrl_val | EESK);
CSR_WRITE_1(sc, EEPROM_REG, ctrl_val);
CSR_WRITE_1(sc, EEPROM_REG, ctrl_val | EESK);
CSR_WRITE_1(sc, EEPROM_REG, ctrl_val);
CSR_WRITE_1(sc, CMD_REG, Bank0_Sel);
CSR_WRITE_1(sc, ALE_RXF0_PAGE0 + sc->ale_cdata.ale_rx_curp,
CSR_WRITE_1(sc, ALE_RXF0_PAGE0, RXF_VALID);
CSR_WRITE_1(sc, ALE_RXF0_PAGE1, RXF_VALID);
CSR_WRITE_1(sc, IPW_CSR_INDIRECT_DATA + (offset & 3), *datap);
CSR_WRITE_1((sc), IPW_CSR_INDIRECT_DATA, (val)); \
CSR_WRITE_1((sc), IWI_CSR_INDIRECT_DATA, (val)); \
CSR_WRITE_1(sc, reg, x);
CSR_WRITE_1(sc, SK_CSR, SK_CSR_SW_RESET);
CSR_WRITE_1(sc, SK_CSR, SK_CSR_MASTER_RESET);
CSR_WRITE_1(sc, SK_CSR, SK_CSR_SW_UNRESET);
CSR_WRITE_1(sc, SK_CSR, SK_CSR_MASTER_UNRESET);
CSR_WRITE_1(sc, SK_Y2_ASF_CSR, SK_Y2_ASF_RESET);
CSR_WRITE_1(sc, SK_TIMERCTL, SK_IMCTL_STOP);
CSR_WRITE_1(sc, SK_TIMERCTL, SK_IMCTL_IRQ_CLEAR);
CSR_WRITE_1(sc, SK_TSTAMP_CTL, SK_TSTAMP_STOP);
CSR_WRITE_1(sc, SK_TSTAMP_CTL, SK_TSTAMP_IRQ_CLEAR);
CSR_WRITE_1(sc, RL_EECMD, RL_EE_MODE);
CSR_WRITE_1(sc, RL_CFG2, cfg);
CSR_WRITE_1(sc, RL_CFG2, cfg);
CSR_WRITE_1(sc, RL_EECMD, RL_EEMODE_OFF);
CSR_WRITE_1(sc, RxMacAddr + i, sc->sc_ac.ac_enaddr[i]);
CSR_WRITE_1(sc, reg, x);
CSR_WRITE_1(sc, STE_PAR0 + i, sc->arpcom.ac_enaddr[i]);
CSR_WRITE_1(sc, STE_RX_DMAPOLL_PERIOD, 64);
CSR_WRITE_1(sc, STE_TX_DMABURST_THRESH, ETHER_MAX_DIX_LEN >> 8);
CSR_WRITE_1(sc, STE_TX_RECLAIM_THRESH, (ETHER_MAX_DIX_LEN >> 4));
CSR_WRITE_1(sc, STE_TX_DMAPOLL_PERIOD, 0);
CSR_WRITE_1(sc, reg, CSR_READ_1(sc, reg) | x)
CSR_WRITE_1(sc, reg, CSR_READ_1(sc, reg) & ~x)
CSR_WRITE_1(sc, STE_TX_DMAPOLL_PERIOD, 64);
CSR_WRITE_1(sc, STE_RX_MODE, rxmode);
CSR_WRITE_1(sc, STGE_StationAddress0 + i,
CSR_WRITE_1(sc, STGE_TxDMAPollPeriod, 127);
CSR_WRITE_1(sc, STGE_RxDMAPollPeriod, 64);
CSR_WRITE_1(sc, STGE_RxDMABurstThresh, 0x30);
CSR_WRITE_1(sc, STGE_RxDMAUrgentThresh, 0x30);
CSR_WRITE_1(sc, STGE_TxDMABurstThresh, 0x30);
CSR_WRITE_1(sc, STGE_TxDMAUrgentThresh, 0x04);
CSR_WRITE_1(sc, STGE_PhyCtrl, val | sc->sc_PhyCtrl);
CSR_WRITE_1(sc, TL_DIO_DATA + (reg & 3), val);
CSR_WRITE_1(sc, TL_DIO_DATA + (reg & 3), f);
CSR_WRITE_1(sc, TL_DIO_DATA + (reg & 3), f);
CSR_WRITE_1(sc, VGE_CRS1, VGE_CR1_TIMER0_ENABLE);
CSR_WRITE_1(sc, VGE_CRC3, VGE_CR3_INT_GMSK);
CSR_WRITE_1(sc, VGE_RXQCSRS, VGE_RXQCSR_RUN);
CSR_WRITE_1(sc, VGE_RXQCSRS, VGE_RXQCSR_WAK);
CSR_WRITE_1(sc, VGE_CRS3, VGE_CR3_INT_GMSK);
CSR_WRITE_1(sc, VGE_CRS1, VGE_CR1_TIMER0_ENABLE);
CSR_WRITE_1(sc, VGE_PAR0 + i, sc->arpcom.ac_enaddr[i]);
CSR_WRITE_1(sc, VGE_RXQCSRS, VGE_RXQCSR_RUN);
CSR_WRITE_1(sc, VGE_RXQCSRS, VGE_RXQCSR_WAK);
CSR_WRITE_1(sc, VGE_RXCTL, VGE_RXCTL_RX_GIANT);
CSR_WRITE_1(sc, VGE_CRC2, 0xFF);
CSR_WRITE_1(sc, VGE_CRS2, VGE_CR2_XON_ENABLE | 0x0B);
CSR_WRITE_1(sc, VGE_CRC0, VGE_CR0_STOP);
CSR_WRITE_1(sc, VGE_CRS1, VGE_CR1_NOPOLL);
CSR_WRITE_1(sc, VGE_CRS0,
CSR_WRITE_1(sc, VGE_INTCTL1, VGE_INTCTL_TXINTSUP_DISABLE);
CSR_WRITE_1(sc, VGE_INTHOLDOFF, 10); /* ~200 usecs */
CSR_WRITE_1(sc, VGE_CRS3, VGE_CR3_INT_HOLDOFF);
CSR_WRITE_1(sc, VGE_INTCTL1, VGE_INTCTL_SC_RELOAD);
CSR_WRITE_1(sc, VGE_RXSUPPTHR, 64); /* interrupt after 64 packets */
CSR_WRITE_1(sc, VGE_CRS3, VGE_CR3_INT_GMSK);
CSR_WRITE_1(sc, VGE_CRC2, VGE_CR2_FDX_TXFLOWCTL_ENABLE |
CSR_WRITE_1(sc, VGE_CRS2, VGE_CR2_FDX_TXFLOWCTL_ENABLE);
CSR_WRITE_1(sc, VGE_CRS2, VGE_CR2_FDX_RXFLOWCTL_ENABLE);
CSR_WRITE_1(sc, VGE_CRC3, VGE_CR3_INT_GMSK);
CSR_WRITE_1(sc, VGE_CRS0, VGE_CR0_STOP);
CSR_WRITE_1(sc, VGE_RXQCSRC, 0xFF);
CSR_WRITE_1(sc, VGE_EEADDR, addr);
CSR_WRITE_1(sc, VGE_MIICMD, 0);
CSR_WRITE_1(sc, VGE_MIICMD, 0);
CSR_WRITE_1(sc, VGE_MIIADDR, VGE_MIIADDR_SWMPL);
CSR_WRITE_1(sc, VGE_MIICMD, VGE_MIICMD_MAUTO);
CSR_WRITE_1(sc, VGE_MIIADDR, reg);
CSR_WRITE_1(sc, VGE_MIIADDR, reg);
CSR_WRITE_1(sc, VGE_CAMADDR, VGE_CAMADDR_ENABLE);
CSR_WRITE_1(sc, VGE_CAM0 + i, 0);
CSR_WRITE_1(sc, VGE_CAMADDR, VGE_CAMADDR_ENABLE|VGE_CAMADDR_AVSEL|0);
CSR_WRITE_1(sc, VGE_CAM0 + i, 0);
CSR_WRITE_1(sc, VGE_CAMADDR, 0);
CSR_WRITE_1(sc, VGE_CAMADDR, VGE_CAMADDR_ENABLE|sc->vge_camidx);
CSR_WRITE_1(sc, VGE_CAM0 + i, addr[i]);
CSR_WRITE_1(sc, VGE_CAMADDR, 0);
CSR_WRITE_1(sc, VGE_RXCTL, rxctl);
CSR_WRITE_1(sc, VGE_CRS1, VGE_CR1_SOFTRESET);
CSR_WRITE_1(sc, VGE_CRS3, VGE_CR3_STOP_FORCE);
CSR_WRITE_1(sc, reg, CSR_READ_1(sc, reg) | (x))
CSR_WRITE_1(sc, reg, CSR_READ_1(sc, reg) & ~(x))
CSR_WRITE_1(sc, VR_PAR0 + i, sc->arpcom.ac_enaddr[i]);
CSR_WRITE_1(sc, VR_WOLCRCLR, 0xFF);
CSR_WRITE_1(sc, VR_PWRCSRCLR, 0xFF);
CSR_WRITE_1(sc, reg, \
CSR_WRITE_1(sc, reg, \
CSR_WRITE_1(sc, VR_MIICMD, \
CSR_WRITE_1(sc, VR_MIICMD, \
CSR_WRITE_1(sc, VR_PHYADDR, (CSR_READ_1(sc, VR_PHYADDR)& 0xe0)|
CSR_WRITE_1(sc, VR_MIIADDR, frame->mii_regaddr);
CSR_WRITE_1(sc, VR_PHYADDR, (CSR_READ_1(sc, VR_PHYADDR)& 0xe0)|
CSR_WRITE_1(sc, VR_MIIADDR, frame->mii_regaddr);
CSR_WRITE_1(sc, VR_RXCFG, rxfilt);
CSR_WRITE_1(sc, WB_NODE0 + i, sc->arpcom.ac_enaddr[i]);