2009-05-07 21:19:40 +08:00
|
|
|
/*
|
|
|
|
* TI DaVinci EMAC platform support
|
|
|
|
*
|
|
|
|
* Author: Kevin Hilman, Deep Root Systems, LLC
|
|
|
|
*
|
|
|
|
* 2007 (c) Deep Root Systems, LLC. This file is licensed under
|
|
|
|
* the terms of the GNU General Public License version 2. This program
|
|
|
|
* is licensed "as is" without any warranty of any kind, whether express
|
|
|
|
* or implied.
|
|
|
|
*/
|
2009-11-19 18:28:25 +08:00
|
|
|
#ifndef _LINUX_DAVINCI_EMAC_H
|
|
|
|
#define _LINUX_DAVINCI_EMAC_H
|
2009-05-07 21:19:40 +08:00
|
|
|
|
|
|
|
#include <linux/if_ether.h>
|
2009-04-16 03:41:27 +08:00
|
|
|
#include <linux/memory.h>
|
2009-05-07 21:19:40 +08:00
|
|
|
|
|
|
|
struct emac_platform_data {
|
|
|
|
char mac_addr[ETH_ALEN];
|
|
|
|
u32 ctrl_reg_offset;
|
|
|
|
u32 ctrl_mod_reg_offset;
|
|
|
|
u32 ctrl_ram_offset;
|
2009-11-19 18:28:27 +08:00
|
|
|
u32 hw_ram_addr;
|
2009-05-07 21:19:40 +08:00
|
|
|
u32 mdio_reg_offset;
|
|
|
|
u32 ctrl_ram_size;
|
|
|
|
u32 phy_mask;
|
|
|
|
u32 mdio_max_freq;
|
|
|
|
u8 rmii_en;
|
|
|
|
u8 version;
|
2009-11-19 18:28:26 +08:00
|
|
|
void (*interrupt_enable) (void);
|
|
|
|
void (*interrupt_disable) (void);
|
2009-05-07 21:19:40 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
enum {
|
|
|
|
EMAC_VERSION_1, /* DM644x */
|
|
|
|
EMAC_VERSION_2, /* DM646x */
|
|
|
|
};
|
|
|
|
|
2009-04-16 03:41:27 +08:00
|
|
|
void davinci_get_mac_addr(struct memory_accessor *mem_acc, void *context);
|
|
|
|
#endif
|