Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
cpsw.h
Go to the documentation of this file.
1 /*
2  * Texas Instruments Ethernet Switch Driver
3  *
4  * Copyright (C) 2012 Texas Instruments
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License as
8  * published by the Free Software Foundation version 2.
9  *
10  * This program is distributed "as is" WITHOUT ANY WARRANTY of any
11  * kind, whether express or implied; without even the implied warranty
12  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  */
15 #ifndef __CPSW_H__
16 #define __CPSW_H__
17 
18 #include <linux/if_ether.h>
19 
23  const char *phy_id;
24  int phy_if;
26 };
27 
29  u32 ss_reg_ofs; /* Subsystem control register offset */
30  u32 channels; /* number of cpdma channels (symmetric) */
31  u32 cpdma_reg_ofs; /* cpdma register offset */
32  u32 cpdma_sram_ofs; /* cpdma sram offset */
33 
34  u32 slaves; /* number of slave cpgmac ports */
36 
37  u32 ale_reg_ofs; /* address lookup engine reg offset */
38  u32 ale_entries; /* ale table size */
39 
40  u32 host_port_reg_ofs; /* cpsw cpdma host port registers */
41  u32 host_port_num; /* The port number for the host port */
42 
43  u32 hw_stats_reg_ofs; /* cpsw hardware statistics counters */
44 
45  u32 bd_ram_ofs; /* embedded buffer descriptor RAM offset*/
46  u32 bd_ram_size; /*buffer descriptor ram size */
47  u32 hw_ram_addr; /*if the HW address for BD RAM is different */
48  bool no_bd_ram; /* no embedded BD ram*/
49 
50  u32 rx_descs; /* Number of Rx Descriptios */
51 
52  u32 mac_control; /* Mac control register */
53 };
54 
55 #endif /* __CPSW_H__ */