Lines Matching refs:sbm_mdio
258 void __iomem *sbm_mdio; /* MDIO Register */ member
320 static void sbmac_mii_sync(void __iomem *sbm_mdio);
321 static void sbmac_mii_senddata(void __iomem *sbm_mdio, unsigned int data,
364 static void sbmac_mii_sync(void __iomem *sbm_mdio) in sbmac_mii_sync() argument
370 mac_mdio_genc = __raw_readq(sbm_mdio) & M_MAC_GENC; in sbmac_mii_sync()
374 __raw_writeq(bits | mac_mdio_genc, sbm_mdio); in sbmac_mii_sync()
377 __raw_writeq(bits | M_MAC_MDC | mac_mdio_genc, sbm_mdio); in sbmac_mii_sync()
378 __raw_writeq(bits | mac_mdio_genc, sbm_mdio); in sbmac_mii_sync()
394 static void sbmac_mii_senddata(void __iomem *sbm_mdio, unsigned int data, in sbmac_mii_senddata() argument
402 mac_mdio_genc = __raw_readq(sbm_mdio) & M_MAC_GENC; in sbmac_mii_senddata()
405 __raw_writeq(bits | mac_mdio_genc, sbm_mdio); in sbmac_mii_senddata()
413 __raw_writeq(bits | mac_mdio_genc, sbm_mdio); in sbmac_mii_senddata()
414 __raw_writeq(bits | M_MAC_MDC | mac_mdio_genc, sbm_mdio); in sbmac_mii_senddata()
415 __raw_writeq(bits | mac_mdio_genc, sbm_mdio); in sbmac_mii_senddata()
438 void __iomem *sbm_mdio = sc->sbm_mdio; in sbmac_mii_read() local
448 sbmac_mii_sync(sbm_mdio); in sbmac_mii_read()
457 sbmac_mii_senddata(sbm_mdio, MII_COMMAND_START, 2); in sbmac_mii_read()
458 sbmac_mii_senddata(sbm_mdio, MII_COMMAND_READ, 2); in sbmac_mii_read()
459 sbmac_mii_senddata(sbm_mdio, phyaddr, 5); in sbmac_mii_read()
460 sbmac_mii_senddata(sbm_mdio, regidx, 5); in sbmac_mii_read()
462 mac_mdio_genc = __raw_readq(sbm_mdio) & M_MAC_GENC; in sbmac_mii_read()
467 __raw_writeq(M_MAC_MDIO_DIR_INPUT | mac_mdio_genc, sbm_mdio); in sbmac_mii_read()
473 sbm_mdio); in sbmac_mii_read()
474 __raw_writeq(M_MAC_MDIO_DIR_INPUT | mac_mdio_genc, sbm_mdio); in sbmac_mii_read()
479 error = __raw_readq(sbm_mdio) & M_MAC_MDIO_IN; in sbmac_mii_read()
486 sbm_mdio); in sbmac_mii_read()
487 __raw_writeq(M_MAC_MDIO_DIR_INPUT | mac_mdio_genc, sbm_mdio); in sbmac_mii_read()
495 if (__raw_readq(sbm_mdio) & M_MAC_MDIO_IN) in sbmac_mii_read()
500 sbm_mdio); in sbmac_mii_read()
501 __raw_writeq(M_MAC_MDIO_DIR_INPUT | mac_mdio_genc, sbm_mdio); in sbmac_mii_read()
505 __raw_writeq(M_MAC_MDIO_DIR_OUTPUT | mac_mdio_genc, sbm_mdio); in sbmac_mii_read()
532 void __iomem *sbm_mdio = sc->sbm_mdio; in sbmac_mii_write() local
535 sbmac_mii_sync(sbm_mdio); in sbmac_mii_write()
537 sbmac_mii_senddata(sbm_mdio, MII_COMMAND_START, 2); in sbmac_mii_write()
538 sbmac_mii_senddata(sbm_mdio, MII_COMMAND_WRITE, 2); in sbmac_mii_write()
539 sbmac_mii_senddata(sbm_mdio, phyaddr, 5); in sbmac_mii_write()
540 sbmac_mii_senddata(sbm_mdio, regidx, 5); in sbmac_mii_write()
541 sbmac_mii_senddata(sbm_mdio, MII_COMMAND_ACK, 2); in sbmac_mii_write()
542 sbmac_mii_senddata(sbm_mdio, regval, 16); in sbmac_mii_write()
544 mac_mdio_genc = __raw_readq(sbm_mdio) & M_MAC_GENC; in sbmac_mii_write()
546 __raw_writeq(M_MAC_MDIO_DIR_OUTPUT | mac_mdio_genc, sbm_mdio); in sbmac_mii_write()
1349 s->sbm_mdio = s->sbm_base + R_MAC_MDIO; in sbmac_initctx()