• Home
  • Raw
  • Download

Lines Matching +full:3 +full:- +full:c45

6  * Copyright (C) 2009-2016 Cavium, Inc.
14 #include "mdio-cavium.h"
21 if (m == p->mode) in cavium_mdiobus_set_mode()
24 smi_clk.u64 = oct_mdio_readq(p->register_base + SMI_CLK); in cavium_mdiobus_set_mode()
25 smi_clk.s.mode = (m == C45) ? 1 : 0; in cavium_mdiobus_set_mode()
27 oct_mdio_writeq(smi_clk.u64, p->register_base + SMI_CLK); in cavium_mdiobus_set_mode()
28 p->mode = m; in cavium_mdiobus_set_mode()
38 cavium_mdiobus_set_mode(p, C45); in cavium_mdiobus_c45_addr()
42 oct_mdio_writeq(smi_wr.u64, p->register_base + SMI_WR_DAT); in cavium_mdiobus_c45_addr()
50 oct_mdio_writeq(smi_cmd.u64, p->register_base + SMI_CMD); in cavium_mdiobus_c45_addr()
57 smi_wr.u64 = oct_mdio_readq(p->register_base + SMI_WR_DAT); in cavium_mdiobus_c45_addr()
58 } while (smi_wr.s.pending && --timeout); in cavium_mdiobus_c45_addr()
61 return -EIO; in cavium_mdiobus_c45_addr()
67 struct cavium_mdiobus *p = bus->priv; in cavium_mdiobus_read()
80 op = 3; /* MDIO_CLAUSE_45_READ */ in cavium_mdiobus_read()
89 oct_mdio_writeq(smi_cmd.u64, p->register_base + SMI_CMD); in cavium_mdiobus_read()
96 smi_rd.u64 = oct_mdio_readq(p->register_base + SMI_RD_DAT); in cavium_mdiobus_read()
97 } while (smi_rd.s.pending && --timeout); in cavium_mdiobus_read()
102 return -EIO; in cavium_mdiobus_read()
108 struct cavium_mdiobus *p = bus->priv; in cavium_mdiobus_write()
128 oct_mdio_writeq(smi_wr.u64, p->register_base + SMI_WR_DAT); in cavium_mdiobus_write()
134 oct_mdio_writeq(smi_cmd.u64, p->register_base + SMI_CMD); in cavium_mdiobus_write()
141 smi_wr.u64 = oct_mdio_readq(p->register_base + SMI_WR_DAT); in cavium_mdiobus_write()
142 } while (smi_wr.s.pending && --timeout); in cavium_mdiobus_write()
145 return -EIO; in cavium_mdiobus_write()