aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ucc_geth.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ucc_geth.h')
-rw-r--r--drivers/net/ucc_geth.h31
1 files changed, 28 insertions, 3 deletions
diff --git a/drivers/net/ucc_geth.h b/drivers/net/ucc_geth.h
index 46bb1d233597..5beba4c14532 100644
--- a/drivers/net/ucc_geth.h
+++ b/drivers/net/ucc_geth.h
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright (C) Freescale Semicondutor, Inc. 2006. All rights reserved. 2 * Copyright (C) Freescale Semicondutor, Inc. 2006-2009. All rights reserved.
3 * 3 *
4 * Author: Shlomi Gridish <gridish@freescale.com> 4 * Author: Shlomi Gridish <gridish@freescale.com>
5 * 5 *
@@ -193,6 +193,31 @@ struct ucc_geth {
193#define ENET_TBI_MII_JD 0x10 /* Jitter diagnostics */ 193#define ENET_TBI_MII_JD 0x10 /* Jitter diagnostics */
194#define ENET_TBI_MII_TBICON 0x11 /* TBI control */ 194#define ENET_TBI_MII_TBICON 0x11 /* TBI control */
195 195
196/* TBI MDIO register bit fields*/
197#define TBISR_LSTATUS 0x0004
198#define TBICON_CLK_SELECT 0x0020
199#define TBIANA_ASYMMETRIC_PAUSE 0x0100
200#define TBIANA_SYMMETRIC_PAUSE 0x0080
201#define TBIANA_HALF_DUPLEX 0x0040
202#define TBIANA_FULL_DUPLEX 0x0020
203#define TBICR_PHY_RESET 0x8000
204#define TBICR_ANEG_ENABLE 0x1000
205#define TBICR_RESTART_ANEG 0x0200
206#define TBICR_FULL_DUPLEX 0x0100
207#define TBICR_SPEED1_SET 0x0040
208
209#define TBIANA_SETTINGS ( \
210 TBIANA_ASYMMETRIC_PAUSE \
211 | TBIANA_SYMMETRIC_PAUSE \
212 | TBIANA_FULL_DUPLEX \
213 )
214#define TBICR_SETTINGS ( \
215 TBICR_PHY_RESET \
216 | TBICR_ANEG_ENABLE \
217 | TBICR_FULL_DUPLEX \
218 | TBICR_SPEED1_SET \
219 )
220
196/* UCC GETH MACCFG1 (MAC Configuration 1 Register) */ 221/* UCC GETH MACCFG1 (MAC Configuration 1 Register) */
197#define MACCFG1_FLOW_RX 0x00000020 /* Flow Control 222#define MACCFG1_FLOW_RX 0x00000020 /* Flow Control
198 Rx */ 223 Rx */
@@ -852,7 +877,6 @@ struct ucc_geth_hardware_statistics {
852/* Driver definitions */ 877/* Driver definitions */
853#define TX_BD_RING_LEN 0x10 878#define TX_BD_RING_LEN 0x10
854#define RX_BD_RING_LEN 0x10 879#define RX_BD_RING_LEN 0x10
855#define UCC_GETH_DEV_WEIGHT TX_BD_RING_LEN
856 880
857#define TX_RING_MOD_MASK(size) (size-1) 881#define TX_RING_MOD_MASK(size) (size-1)
858#define RX_RING_MOD_MASK(size) (size-1) 882#define RX_RING_MOD_MASK(size) (size-1)
@@ -1100,7 +1124,7 @@ struct ucc_geth_info {
1100 u32 eventRegMask; 1124 u32 eventRegMask;
1101 u16 pausePeriod; 1125 u16 pausePeriod;
1102 u16 extensionField; 1126 u16 extensionField;
1103 char phy_bus_id[BUS_ID_SIZE]; 1127 struct device_node *phy_node;
1104 u8 weightfactor[NUM_TX_QUEUES]; 1128 u8 weightfactor[NUM_TX_QUEUES];
1105 u8 interruptcoalescingmaxvalue[NUM_RX_QUEUES]; 1129 u8 interruptcoalescingmaxvalue[NUM_RX_QUEUES];
1106 u8 l2qt[UCC_GETH_VLAN_PRIORITY_MAX]; 1130 u8 l2qt[UCC_GETH_VLAN_PRIORITY_MAX];
@@ -1189,6 +1213,7 @@ struct ucc_geth_private {
1189 1213
1190 struct ugeth_mii_info *mii_info; 1214 struct ugeth_mii_info *mii_info;
1191 struct phy_device *phydev; 1215 struct phy_device *phydev;
1216 struct phy_device *tbiphy;
1192 phy_interface_t phy_interface; 1217 phy_interface_t phy_interface;
1193 int max_speed; 1218 int max_speed;
1194 uint32_t msg_enable; 1219 uint32_t msg_enable;