123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- /*
- * drivers/net/gianfar_mii.h
- *
- * Gianfar Ethernet Driver -- MII Management Bus Implementation
- * Driver for the MDIO bus controller in the Gianfar register space
- *
- * Author: Andy Fleming
- * Maintainer: Kumar Gala
- *
- * Copyright (c) 2002-2004 Freescale Semiconductor, Inc.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- */
- #ifndef __GIANFAR_MII_H
- #define __GIANFAR_MII_H
- struct gfar_private; /* forward ref */
- #define MIIMIND_BUSY 0x00000001
- #define MIIMIND_NOTVALID 0x00000004
- #define MII_READ_COMMAND 0x00000001
- #define GFAR_SUPPORTED (SUPPORTED_10baseT_Half \
- | SUPPORTED_10baseT_Full \
- | SUPPORTED_100baseT_Half \
- | SUPPORTED_100baseT_Full \
- | SUPPORTED_Autoneg \
- | SUPPORTED_MII)
- struct gfar_mii {
- u32 miimcfg; /* 0x.520 - MII Management Config Register */
- u32 miimcom; /* 0x.524 - MII Management Command Register */
- u32 miimadd; /* 0x.528 - MII Management Address Register */
- u32 miimcon; /* 0x.52c - MII Management Control Register */
- u32 miimstat; /* 0x.530 - MII Management Status Register */
- u32 miimind; /* 0x.534 - MII Management Indicator Register */
- };
- int gfar_mdio_read(struct mii_bus *bus, int mii_id, int regnum);
- int gfar_mdio_write(struct mii_bus *bus, int mii_id, int regnum, u16 value);
- int gfar_local_mdio_write(struct gfar_mii __iomem *regs, int mii_id,
- int regnum, u16 value);
- int gfar_local_mdio_read(struct gfar_mii __iomem *regs, int mii_id, int regnum);
- struct mii_bus *gfar_get_miibus(const struct gfar_private *priv);
- int __init gfar_mdio_init(void);
- void gfar_mdio_exit(void);
- void gfar_mdio_bus_name(char *name, struct device_node *np);
- #endif /* GIANFAR_PHY_H */
|