Commit | Line | Data |
---|---|---|
dbe34724 | 1 | /* Texas Instruments Ethernet Switch Driver |
df828598 | 2 | * |
dbe34724 | 3 | * Copyright (C) 2013 Texas Instruments |
df828598 M |
4 | * |
5 | * This program is free software; you can redistribute it and/or | |
dbe34724 M |
6 | * modify it under the terms of the GNU General Public License |
7 | * version 2 as published by the Free Software Foundation. | |
df828598 M |
8 | * |
9 | * This program is distributed "as is" WITHOUT ANY WARRANTY of any | |
10 | * kind, whether express or implied; without even the implied warranty | |
11 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 | * GNU General Public License for more details. | |
13 | */ | |
14 | #ifndef __CPSW_H__ | |
15 | #define __CPSW_H__ | |
16 | ||
17 | #include <linux/if_ether.h> | |
18 | ||
19 | struct cpsw_slave_data { | |
549985ee | 20 | char phy_id[MII_BUS_ID_SIZE]; |
df828598 M |
21 | int phy_if; |
22 | u8 mac_addr[ETH_ALEN]; | |
d9ba8f9e | 23 | u16 dual_emac_res_vlan; /* Reserved VLAN for DualEMAC */ |
df828598 M |
24 | }; |
25 | ||
26 | struct cpsw_platform_data { | |
dbe34724 | 27 | struct cpsw_slave_data *slave_data; |
df828598 M |
28 | u32 ss_reg_ofs; /* Subsystem control register offset */ |
29 | u32 channels; /* number of cpdma channels (symmetric) */ | |
df828598 | 30 | u32 slaves; /* number of slave cpgmac ports */ |
e86ac13b | 31 | u32 active_slave; /* time stamping, ethtool and SIOCGMIIPHY slave */ |
00ab94ee RC |
32 | u32 cpts_clock_mult; /* convert input clock ticks to nanoseconds */ |
33 | u32 cpts_clock_shift; /* convert input clock ticks to nanoseconds */ | |
df828598 | 34 | u32 ale_entries; /* ale table size */ |
df828598 | 35 | u32 bd_ram_size; /*buffer descriptor ram size */ |
df828598 | 36 | u32 rx_descs; /* Number of Rx Descriptios */ |
df828598 | 37 | u32 mac_control; /* Mac control register */ |
3b72c2fe | 38 | u16 default_vlan; /* Def VLAN for ALE lookup in VLAN aware mode*/ |
d9ba8f9e | 39 | bool dual_emac; /* Enable Dual EMAC mode */ |
df828598 M |
40 | }; |
41 | ||
5892cd13 M |
42 | void cpsw_phy_sel(struct device *dev, phy_interface_t phy_mode, int slave); |
43 | ||
df828598 | 44 | #endif /* __CPSW_H__ */ |