SPR_CSR9
CSR_WRITE(l, SPR_CSR9, MII_MDO);
CSR_WRITE(l, SPR_CSR9, MII_MDO | MII_MDC);
CSR_WRITE(l, SPR_CSR9, MII_MDO);
CSR_WRITE(l, SPR_CSR9, 0);
CSR_WRITE(l, SPR_CSR9, v);
CSR_WRITE(l, SPR_CSR9, v | MII_MDC);
CSR_WRITE(l, SPR_CSR9, v);
CSR_WRITE(l, SPR_CSR9, MII_MIDIR);
rv = (rv << 1) | !!(CSR_READ(l, SPR_CSR9) & MII_MDI);
CSR_WRITE(l, SPR_CSR9, MII_MIDIR | MII_MDC);
CSR_WRITE(l, SPR_CSR9, 0);
CSR_WRITE(l, SPR_CSR9, MII_MDO);
CSR_WRITE(l, SPR_CSR9, MII_MDO | MII_MDC);
CSR_WRITE(l, SPR_CSR9, MII_MDO);
CSR_WRITE(l, SPR_CSR9, 0);
CSR_WRITE(l, SPR_CSR9, v);
CSR_WRITE(l, SPR_CSR9, v | MII_MDC);
CSR_WRITE(l, SPR_CSR9, v);
CSR_WRITE(l, SPR_CSR9, 0);