linux/include/linux/davinci_emac.h
<<
>>
Prefs
   1/*
   2 * TI DaVinci EMAC platform support
   3 *
   4 * Author: Kevin Hilman, Deep Root Systems, LLC
   5 *
   6 * 2007 (c) Deep Root Systems, LLC. This file is licensed under
   7 * the terms of the GNU General Public License version 2. This program
   8 * is licensed "as is" without any warranty of any kind, whether express
   9 * or implied.
  10 */
  11#ifndef _LINUX_DAVINCI_EMAC_H
  12#define _LINUX_DAVINCI_EMAC_H
  13
  14#include <linux/if_ether.h>
  15#include <linux/nvmem-consumer.h>
  16
  17struct mdio_platform_data {
  18        unsigned long           bus_freq;
  19};
  20
  21struct emac_platform_data {
  22        char mac_addr[ETH_ALEN];
  23        u32 ctrl_reg_offset;
  24        u32 ctrl_mod_reg_offset;
  25        u32 ctrl_ram_offset;
  26        u32 hw_ram_addr;
  27        u32 ctrl_ram_size;
  28
  29        /*
  30         * phy_id can be one of the following:
  31         *   - NULL             : use the first phy on the bus,
  32         *   - ""               : force to 100/full, no mdio control
  33         *   - "<bus>:<addr>"   : use the specified bus and phy
  34         */
  35        const char *phy_id;
  36
  37        u8 rmii_en;
  38        u8 version;
  39        bool no_bd_ram;
  40        void (*interrupt_enable) (void);
  41        void (*interrupt_disable) (void);
  42};
  43
  44enum {
  45        EMAC_VERSION_1, /* DM644x */
  46        EMAC_VERSION_2, /* DM646x */
  47};
  48
  49#endif
  50