diff options
Diffstat (limited to 'include/cpsw.h')
| -rw-r--r-- | include/cpsw.h | 51 | 
1 files changed, 51 insertions, 0 deletions
| diff --git a/include/cpsw.h b/include/cpsw.h new file mode 100644 index 000000000..296b0e557 --- /dev/null +++ b/include/cpsw.h @@ -0,0 +1,51 @@ +/* + * CPSW Ethernet Switch Driver + * + * Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/ + * + * 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_ + +struct cpsw_slave_data { +	u32		slave_reg_ofs; +	u32		sliver_reg_ofs; +	int		phy_id; +	int		phy_if; +}; + +enum { +	CPSW_CTRL_VERSION_1 = 0, +	CPSW_CTRL_VERSION_2	/* am33xx like devices */ +}; + +struct cpsw_platform_data { +	u32	mdio_base; +	u32	cpsw_base; +	int	mdio_div; +	int	channels;	/* number of cpdma channels (symmetric)	*/ +	u32	cpdma_reg_ofs;	/* cpdma register offset		*/ +	int	slaves;		/* number of slave cpgmac ports		*/ +	u32	ale_reg_ofs;	/* address lookup engine reg offset	*/ +	int	ale_entries;	/* ale table size			*/ +	u32	host_port_reg_ofs;	/* cpdma host port registers	*/ +	u32	hw_stats_reg_ofs;	/* cpsw hw stats counters	*/ +	u32	mac_control; +	struct cpsw_slave_data	*slave_data; +	void	(*control)(int enabled); +	u32	host_port_num; +	u8	version; +}; + +int cpsw_register(struct cpsw_platform_data *data); + +#endif /* _CPSW_H_  */ |