Lines Matching refs:miim
24 static int mscc_miim_wait_ready(struct mscc_miim_dev *miim) in mscc_miim_wait_ready() argument
26 return wait_for_bit_le32(miim->regs + MIIM_STATUS, MIIM_STAT_BUSY, in mscc_miim_wait_ready()
32 struct mscc_miim_dev *miim = (struct mscc_miim_dev *)bus->priv; in mscc_miim_read() local
36 ret = mscc_miim_wait_ready(miim); in mscc_miim_read()
42 miim->regs + MIIM_CMD); in mscc_miim_read()
44 ret = mscc_miim_wait_ready(miim); in mscc_miim_read()
48 val = readl(miim->regs + MIIM_DATA); in mscc_miim_read()
62 struct mscc_miim_dev *miim = (struct mscc_miim_dev *)bus->priv; in mscc_miim_write() local
65 ret = mscc_miim_wait_ready(miim); in mscc_miim_write()
71 MIIM_CMD_OPR_WRITE, miim->regs + MIIM_CMD); in mscc_miim_write()
76 struct mii_dev *mscc_mdiobus_init(struct mscc_miim_dev *miim, int *miim_count, in mscc_mdiobus_init() argument
90 miim[*miim_count].regs = ioremap(miim_base, miim_size); in mscc_mdiobus_init()
91 miim[*miim_count].miim_base = miim_base; in mscc_mdiobus_init()
92 miim[*miim_count].miim_size = miim_size; in mscc_mdiobus_init()
93 bus->priv = &miim[*miim_count]; in mscc_mdiobus_init()
100 miim[*miim_count].bus = bus; in mscc_mdiobus_init()