root/include/linux/davinci_emac.h

/* [<][>][^][v][top][bottom][index][help] */
/*
 * 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

/* [<][>][^][v][top][bottom][index][help] */