Merge branch 'misc_devel_3.4' of git://git.pwsan.com/linux-2.6 into fixes
[firefly-linux-kernel-4.4.55.git] / include / linux / platform_data / cpsw.h
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
20 struct cpsw_slave_data {
21         u32             slave_reg_ofs;
22         u32             sliver_reg_ofs;
23         const char      *phy_id;
24         int             phy_if;
25         u8              mac_addr[ETH_ALEN];
26 };
27
28 struct cpsw_platform_data {
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 */
35         struct cpsw_slave_data  *slave_data;
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__ */