Lines Matching refs:slave

129 static void am65_cpsw_port_set_sl_mac(struct am65_cpsw_port *slave,
136 writel(mac_hi, slave->port_base + AM65_CPSW_PORTN_REG_SA_H);
137 writel(mac_lo, slave->port_base + AM65_CPSW_PORTN_REG_SA_L);
142 cpsw_sl_reset(port->slave.mac_sl, 100);
164 struct phy_device *phy = port->slave.phy;
186 if (port->slave.rx_pause)
189 if (port->slave.tx_pause)
192 cpsw_sl_ctl_set(port->slave.mac_sl, mac_control);
207 cpsw_sl_ctl_set(port->slave.mac_sl, CPSW_SL_CTL_CMD_IDLE);
209 tmo = cpsw_sl_wait_for_idle(port->slave.mac_sl, 100);
211 cpsw_sl_reg_read(port->slave.mac_sl, CPSW_SL_MACSTATUS),
214 cpsw_sl_ctl_reset(port->slave.mac_sl);
564 if (port->slave.phy)
565 phy_stop(port->slave.phy);
569 if (port->slave.phy) {
570 phy_disconnect(port->slave.phy);
571 port->slave.phy = NULL;
630 if (port->slave.mac_only)
647 ret = phy_set_mode_ext(port->slave.ifphy, PHY_MODE_ETHERNET,
648 port->slave.phy_if);
652 if (port->slave.phy_node) {
653 port->slave.phy = of_phy_connect(ndev,
654 port->slave.phy_node,
656 0, port->slave.phy_if);
657 if (!port->slave.phy) {
658 dev_err(common->dev, "phy %pOF not found on slave %d\n",
659 port->slave.phy_node,
669 phy_attached_info(port->slave.phy);
670 phy_start(port->slave.phy);
1330 if (!port->slave.phy)
1333 return phy_mii_ioctl(port->slave.phy, req, cmd);
1396 cpsw_sl_reset(port->slave.mac_sl, 100);
1397 cpsw_sl_ctl_reset(port->slave.mac_sl);
1639 int slave, u8 *mac_addr)
1720 /* it is not a slave port node, continue */
1750 port->slave.mac_sl = cpsw_sl_get("am65", dev, port->port_base);
1751 if (IS_ERR(port->slave.mac_sl)) {
1752 ret = PTR_ERR(port->slave.mac_sl);
1760 port->slave.ifphy = devm_of_phy_get(dev, port_np, NULL);
1761 if (IS_ERR(port->slave.ifphy)) {
1762 ret = PTR_ERR(port->slave.ifphy);
1768 port->slave.mac_only =
1780 port->slave.phy_node = of_node_get(port_np);
1782 port->slave.phy_node =
1786 if (!port->slave.phy_node) {
1788 "slave[%d] no phy found\n", port_id);
1793 ret = of_get_phy_mode(port_np, &port->slave.phy_if);
1802 ether_addr_copy(port->slave.mac_addr, mac_addr);
1805 port->slave.mac_addr) ||
1806 !is_valid_ether_addr(port->slave.mac_addr)) {
1807 random_ether_addr(port->slave.mac_addr);
1843 dev_err(dev, "error allocating slave net_device %u\n",
1853 ether_addr_copy(port->ndev->dev_addr, port->slave.mac_addr);
1940 dev_err(dev, "error registering slave net device %d\n", ret);