uboot/include/cpsw.h
<<
>>
Prefs
   1/*
   2 * CPSW Ethernet Switch Driver
   3 *
   4 * Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/
   5 *
   6 * This program is free software; you can redistribute it and/or
   7 * modify it under the terms of the GNU General Public License as
   8 * published by the Free Software Foundation version 2.
   9 *
  10 * This program is distributed "as is" WITHOUT ANY WARRANTY of any
  11 * kind, whether express or implied; without even the implied warranty
  12 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13 * GNU General Public License for more details.
  14 */
  15
  16#ifndef _CPSW_H_
  17#define _CPSW_H_
  18
  19struct cpsw_slave_data {
  20        u32             slave_reg_ofs;
  21        u32             sliver_reg_ofs;
  22        int             phy_addr;
  23        int             phy_if;
  24        int             phy_of_handle;
  25};
  26
  27enum {
  28        CPSW_CTRL_VERSION_1 = 0,
  29        CPSW_CTRL_VERSION_2     /* am33xx like devices */
  30};
  31
  32struct cpsw_platform_data {
  33        u32     mdio_base;
  34        u32     cpsw_base;
  35        u32     mac_id;
  36        u32     gmii_sel;
  37        int     mdio_div;
  38        int     channels;       /* number of cpdma channels (symmetric) */
  39        u32     cpdma_reg_ofs;  /* cpdma register offset                */
  40        int     slaves;         /* number of slave cpgmac ports         */
  41        u32     ale_reg_ofs;    /* address lookup engine reg offset     */
  42        int     ale_entries;    /* ale table size                       */
  43        u32     host_port_reg_ofs;      /* cpdma host port registers    */
  44        u32     hw_stats_reg_ofs;       /* cpsw hw stats counters       */
  45        u32     bd_ram_ofs;             /* Buffer Descriptor RAM offset */
  46        u32     mac_control;
  47        struct cpsw_slave_data  *slave_data;
  48        void    (*control)(int enabled);
  49        u32     host_port_num;
  50        u32     active_slave;
  51        u8      version;
  52};
  53
  54int cpsw_register(struct cpsw_platform_data *data);
  55int ti_cm_get_macid(struct udevice *dev, int slave, u8 *mac_addr);
  56
  57#endif /* _CPSW_H_  */
  58