linux/include/linux/platform_data/cpsw.h
<<
>>
Prefs
   1/*
   2 * Texas Instruments Ethernet Switch Driver
   3 *
   4 * Copyright (C) 2012 Texas Instruments
   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#ifndef __CPSW_H__
  16#define __CPSW_H__
  17
  18#include <linux/if_ether.h>
  19
  20struct cpsw_slave_data {
  21        char            phy_id[MII_BUS_ID_SIZE];
  22        int             phy_if;
  23        u8              mac_addr[ETH_ALEN];
  24        u16             dual_emac_res_vlan;     /* Reserved VLAN for DualEMAC */
  25
  26};
  27
  28struct cpsw_platform_data {
  29        u32     ss_reg_ofs;     /* Subsystem control register offset */
  30        u32     channels;       /* number of cpdma channels (symmetric) */
  31        u32     slaves;         /* number of slave cpgmac ports */
  32        struct cpsw_slave_data  *slave_data;
  33        u32     active_slave; /* time stamping, ethtool and SIOCGMIIPHY slave */
  34        u32     cpts_clock_mult;  /* convert input clock ticks to nanoseconds */
  35        u32     cpts_clock_shift; /* convert input clock ticks to nanoseconds */
  36        u32     ale_entries;    /* ale table size */
  37        u32     bd_ram_size;  /*buffer descriptor ram size */
  38        u32     rx_descs;       /* Number of Rx Descriptios */
  39        u32     mac_control;    /* Mac control register */
  40        u16     default_vlan;   /* Def VLAN for ALE lookup in VLAN aware mode*/
  41        bool    dual_emac;      /* Enable Dual EMAC mode */
  42};
  43
  44#endif /* __CPSW_H__ */
  45