mtidcr
mtidcr(IDCR_HIF_ARG0, lo);
mtidcr(IDCR_HIF_CTRL, (addr & HIF_CTRL_GMIADDR) | HIF_CTRL_WRITE);
mtidcr(IDCR_HIF_ARG1, hi);
mtidcr(IDCR_HIF_CTRL, addr & HIF_CTRL_GMIADDR);
mtidcr(IDCR_HIF_ARG0, (phy << 5) | reg);
mtidcr(IDCR_HIF_CTRL, TEMAC_GMI_MII_ADDR);
mtidcr(IDCR_HIF_ARG0, val);
mtidcr(IDCR_HIF_CTRL, TEMAC_GMI_MII_WRVAL | HIF_CTRL_WRITE);
mtidcr(IDCR_HIF_ARG0, (phy << 5) | reg);
mtidcr(IDCR_HIF_CTRL, TEMAC_GMI_MII_ADDR | HIF_CTRL_WRITE);