| 
									
										
										
										
											2012-03-18 20:17:54 +00:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * Texas Instruments Ethernet Switch Driver | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Copyright (C) 2012 Texas Instruments | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * This program is free software; you can redistribute it and/or | 
					
						
							|  |  |  |  * modify it under the terms of the GNU General Public License as | 
					
						
							|  |  |  |  * published by the Free Software Foundation version 2. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * This program is distributed "as is" WITHOUT ANY WARRANTY of any | 
					
						
							|  |  |  |  * kind, whether express or implied; without even the implied warranty | 
					
						
							|  |  |  |  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
					
						
							|  |  |  |  * GNU General Public License for more details. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | #ifndef __CPSW_H__
 | 
					
						
							|  |  |  | #define __CPSW_H__
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <linux/if_ether.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct cpsw_slave_data { | 
					
						
							| 
									
										
										
										
											2012-11-14 09:07:56 +00:00
										 |  |  | 	char		phy_id[MII_BUS_ID_SIZE]; | 
					
						
							| 
									
										
										
										
											2012-03-18 20:17:54 +00:00
										 |  |  | 	int		phy_if; | 
					
						
							|  |  |  | 	u8		mac_addr[ETH_ALEN]; | 
					
						
							| 
									
										
										
										
											2013-02-11 09:52:20 +00:00
										 |  |  | 	u16		dual_emac_res_vlan;	/* Reserved VLAN for DualEMAC */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-03-18 20:17:54 +00:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct cpsw_platform_data { | 
					
						
							|  |  |  | 	u32	ss_reg_ofs;	/* Subsystem control register offset */ | 
					
						
							|  |  |  | 	u32	channels;	/* number of cpdma channels (symmetric) */ | 
					
						
							|  |  |  | 	u32	slaves;		/* number of slave cpgmac ports */ | 
					
						
							|  |  |  | 	struct cpsw_slave_data	*slave_data; | 
					
						
							| 
									
										
										
										
											2012-10-29 08:45:18 +00:00
										 |  |  | 	u32	cpts_active_slave; /* time stamping slave */ | 
					
						
							| 
									
										
										
										
											2012-10-29 08:45:19 +00:00
										 |  |  | 	u32	cpts_clock_mult;  /* convert input clock ticks to nanoseconds */ | 
					
						
							|  |  |  | 	u32	cpts_clock_shift; /* convert input clock ticks to nanoseconds */ | 
					
						
							| 
									
										
										
										
											2012-03-18 20:17:54 +00:00
										 |  |  | 	u32	ale_entries;	/* ale table size */ | 
					
						
							|  |  |  | 	u32	bd_ram_size;  /*buffer descriptor ram size */ | 
					
						
							|  |  |  | 	u32	rx_descs;	/* Number of Rx Descriptios */ | 
					
						
							|  |  |  | 	u32	mac_control;	/* Mac control register */ | 
					
						
							| 
									
										
										
										
											2013-02-05 08:26:48 +00:00
										 |  |  | 	u16	default_vlan;	/* Def VLAN for ALE lookup in VLAN aware mode*/ | 
					
						
							| 
									
										
										
										
											2013-02-11 09:52:20 +00:00
										 |  |  | 	bool	dual_emac;	/* Enable Dual EMAC mode */ | 
					
						
							| 
									
										
										
										
											2012-03-18 20:17:54 +00:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif /* __CPSW_H__ */
 |