summaryrefslogtreecommitdiffstats
path: root/drivers/net/fec_imx.h
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2011-08-14 10:05:29 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2012-10-05 12:32:37 +0200
commit258e096e130c80399221bfb98a7f0847fdcaa288 (patch)
tree801250e1072ecec7b756a71aff8b26f5348dc17c /drivers/net/fec_imx.h
parent3e1f8a05b9227310429552d2b3cb5a57ad075cf6 (diff)
downloadbarebox-258e096e130c80399221bfb98a7f0847fdcaa288.tar.gz
barebox-258e096e130c80399221bfb98a7f0847fdcaa288.tar.xz
net fec_imx: determine fec version based on device ids
This adds the device id mechanism to the i.MX fec driver and uses it to determine the fec version. Also adds devicetree probing support. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/net/fec_imx.h')
-rw-r--r--drivers/net/fec_imx.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/net/fec_imx.h b/drivers/net/fec_imx.h
index d147dca113..1eb1eba5a1 100644
--- a/drivers/net/fec_imx.h
+++ b/drivers/net/fec_imx.h
@@ -122,6 +122,12 @@ struct buffer_descriptor {
uint32_t data_pointer; /**< payload's buffer address */
};
+enum fec_type {
+ FEC_TYPE_IMX27,
+ FEC_TYPE_IMX28,
+ FEC_TYPE_IMX6,
+};
+
/**
* @brief i.MX27-FEC private structure
*/
@@ -139,8 +145,24 @@ struct fec_priv {
struct mii_bus miibus;
void (*phy_init)(struct phy_device *dev);
struct clk *clk;
+ enum fec_type type;
};
+static inline int fec_is_imx27(struct fec_priv *priv)
+{
+ return priv->type == FEC_TYPE_IMX27;
+}
+
+static inline int fec_is_imx28(struct fec_priv *priv)
+{
+ return priv->type == FEC_TYPE_IMX28;
+}
+
+static inline int fec_is_imx6(struct fec_priv *priv)
+{
+ return priv->type == FEC_TYPE_IMX6;
+}
+
/**
* @brief Numbers of buffer descriptors for receiving
*