diff options
Diffstat (limited to 'kernel/include/linux/davinci_emac.h')
-rw-r--r-- | kernel/include/linux/davinci_emac.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/kernel/include/linux/davinci_emac.h b/kernel/include/linux/davinci_emac.h new file mode 100644 index 000000000..542888504 --- /dev/null +++ b/kernel/include/linux/davinci_emac.h @@ -0,0 +1,50 @@ +/* + * 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. + */ +#ifndef _LINUX_DAVINCI_EMAC_H +#define _LINUX_DAVINCI_EMAC_H + +#include <linux/if_ether.h> +#include <linux/memory.h> + +struct mdio_platform_data { + unsigned long bus_freq; +}; + +struct emac_platform_data { + char mac_addr[ETH_ALEN]; + u32 ctrl_reg_offset; + u32 ctrl_mod_reg_offset; + u32 ctrl_ram_offset; + u32 hw_ram_addr; + u32 ctrl_ram_size; + + /* + * phy_id can be one of the following: + * - NULL : use the first phy on the bus, + * - "" : force to 100/full, no mdio control + * - "<bus>:<addr>" : use the specified bus and phy + */ + const char *phy_id; + + u8 rmii_en; + u8 version; + bool no_bd_ram; + void (*interrupt_enable) (void); + void (*interrupt_disable) (void); +}; + +enum { + EMAC_VERSION_1, /* DM644x */ + EMAC_VERSION_2, /* DM646x */ +}; + +void davinci_get_mac_addr(struct memory_accessor *mem_acc, void *context); +#endif |