3 #define SET_ETH_SPEED_AUTO SIOCDEVPRIVATE
4 #define SET_ETH_SPEED_10 SIOCDEVPRIVATE+1
5 #define SET_ETH_SPEED_100 SIOCDEVPRIVATE+2
6 #define SET_ETH_DUPLEX_AUTO SIOCDEVPRIVATE+3
7 #define SET_ETH_DUPLEX_HALF SIOCDEVPRIVATE+4
8 #define SET_ETH_DUPLEX_FULL SIOCDEVPRIVATE+5
9 #define SET_ETH_REG SIOCDEVPRIVATE+6
10 #define VLAN_TOOLS SIOCDEVPRIVATE+7
11 #define MAC_TABLE_TOOLS SIOCDEVPRIVATE+8
14 /*===mac table commands==*/
15 #define RESET_MAC_TABLE 0
16 #define READ_MAC_ENTRY 1
17 #define WRITE_MAC_ENTRY 2
18 #define ADD_MAC_ENTRY 3
20 /*====vlan commands===*/
22 #define CHANGE_VLAN_CTRL 0
23 #define READ_VLAN_ENTRY 1
24 #define UPDATE_VLAN_ENTRY 2
25 #define CLEAR_VLAN_ENTRY 3
26 #define RESET_VLAN_TABLE 4
27 #define ADD_VLAN_ENTRY 5
33 #define MDIO_BASE_STATUS_REG 0x1
34 #define MDIO_BASE_CONTROL_REG 0x0
35 #define MDIO_PHY_ID_HIGH_REG 0x2
36 #define MDIO_PHY_ID_LOW_REG 0x3
37 #define MDIO_BC_NEGOTIATE 0x0200
38 #define MDIO_BC_FULL_DUPLEX_MASK 0x0100
39 #define MDIO_BC_AUTO_NEG_MASK 0x1000
40 #define MDIO_BC_SPEED_SELECT_MASK 0x2000
41 #define MDIO_STATUS_100_FD 0x4000
42 #define MDIO_STATUS_100_HD 0x2000
43 #define MDIO_STATUS_10_FD 0x1000
44 #define MDIO_STATUS_10_HD 0x0800
45 #define MDIO_STATUS_SPEED_DUPLEX_MASK 0x7800
46 #define MDIO_ADVERTISMENT_REG 0x4
47 #define MDIO_ADVERT_100_FD 0x100
48 #define MDIO_ADVERT_100_HD 0x080
49 #define MDIO_ADVERT_10_FD 0x040
50 #define MDIO_ADVERT_10_HD 0x020
51 #define MDIO_LINK_UP_MASK 0x4
52 #define MDIO_START 0x1
54 #define MDIO_WRITE 0x1
55 #define MDIO_PREAMBLE 0xfffffffful
57 #define PHY_RESET 0x8000
58 #define AUTO_NEGOTIATION_ENABLE 0X1000
59 #define AUTO_NEGOTIATION_COMPLETE 0x20
60 #define RESTART_AUTO_NEGOTIATION 0X200
67 #define AMAZON_SW_REG32(reg_num) *((volatile u32*)(reg_num))
71 #ifdef CONFIG_CPU_LITTLE_ENDIAN
72 typedef struct mac_table_entry
{
82 typedef struct IFX_Switch_VLanTableEntry
{
89 }_IFX_Switch_VLanTableEntry
;
91 typedef struct mac_table_req
{
98 #else //not CONFIG_CPU_LITTLE_ENDIAN
99 typedef struct mac_table_entry
{
109 typedef struct IFX_Switch_VLanTableEntry
{
116 }_IFX_Switch_VLanTableEntry
;
119 typedef struct mac_table_req
{
126 #endif //CONFIG_CPU_LITTLE_ENDIAN
130 typedef struct vlan_req
{
137 typedef struct data_req
{
150 struct net_device_stats stats
;
155 #ifdef CONFIG_NET_HW_FLOWCONTROL
157 #endif //CONFIG_NET_HW_FLOWCONTROL
160 struct dma_device_info
*dma_device
;
165 int current_speed_selection
;
168 enum duplex current_duplex
;