| /* |
| * 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/nvmem-consumer.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 nvmem_device *nvmem, void *context); |
| #endif |