// SPDX-License-Identifier: GPL-2.0-only /***************************************************************************** * * * File: mv88x201x.c * * $Revision: 1.12 $ * * $Date: 2005/04/15 19:27:14 $ * * Description: * * Marvell PHY (mv88x201x) functionality. * * part of the Chelsio 10Gb Ethernet Driver. * * * * * * http://www.chelsio.com * * * * Copyright (c) 2003 - 2005 Chelsio Communications, Inc. * * All rights reserved. * * * * Maintainers: [email protected] * * * * Authors: Dimitrios Michailidis <[email protected]> * * Tina Yang <[email protected]> * * Felix Marti <[email protected]> * * Scott Bardone <[email protected]> * * Kurt Ottaway <[email protected]> * * Frank DiMambro <[email protected]> * * * * History: * * * ****************************************************************************/ #include "cphy.h" #include "elmer0.h" /* * The 88x2010 Rev C. requires some link status registers * to be read * twice in order to get the right values. Future * revisions will fix * this problem and then this macro * can disappear. */ #define MV88x2010_LINK_STATUS_BUGS … static int led_init(struct cphy *cphy) { … } static int led_link(struct cphy *cphy, u32 do_enable) { … } /* Port Reset */ static int mv88x201x_reset(struct cphy *cphy, int wait) { … } static int mv88x201x_interrupt_enable(struct cphy *cphy) { … } static int mv88x201x_interrupt_disable(struct cphy *cphy) { … } static int mv88x201x_interrupt_clear(struct cphy *cphy) { … } static int mv88x201x_interrupt_handler(struct cphy *cphy) { … } static int mv88x201x_set_loopback(struct cphy *cphy, int on) { … } static int mv88x201x_get_link_status(struct cphy *cphy, int *link_ok, int *speed, int *duplex, int *fc) { … } static void mv88x201x_destroy(struct cphy *cphy) { … } static const struct cphy_ops mv88x201x_ops = …; static struct cphy *mv88x201x_phy_create(struct net_device *dev, int phy_addr, const struct mdio_ops *mdio_ops) { … } /* Chip Reset */ static int mv88x201x_phy_reset(adapter_t *adapter) { … } const struct gphy t1_mv88x201x_ops = …;