drivers: net:ethernet: cpsw: add support for VLAN
[cascardo/linux.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         char            phy_id[MII_BUS_ID_SIZE];
22         int             phy_if;
23         u8              mac_addr[ETH_ALEN];
24 };
25
26 struct cpsw_platform_data {
27         u32     ss_reg_ofs;     /* Subsystem control register offset */
28         u32     channels;       /* number of cpdma channels (symmetric) */
29         u32     slaves;         /* number of slave cpgmac ports */
30         struct cpsw_slave_data  *slave_data;
31         u32     cpts_active_slave; /* time stamping slave */
32         u32     cpts_clock_mult;  /* convert input clock ticks to nanoseconds */
33         u32     cpts_clock_shift; /* convert input clock ticks to nanoseconds */
34         u32     ale_entries;    /* ale table size */
35         u32     bd_ram_size;  /*buffer descriptor ram size */
36         u32     rx_descs;       /* Number of Rx Descriptios */
37         u32     mac_control;    /* Mac control register */
38         u16     default_vlan;   /* Def VLAN for ALE lookup in VLAN aware mode*/
39 };
40
41 #endif /* __CPSW_H__ */