linux/include/net/ax88796.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-only */
   2/* include/net/ax88796.h
   3 *
   4 * Copyright 2005 Simtec Electronics
   5 *      Ben Dooks <ben@simtec.co.uk>
   6*/
   7
   8#ifndef __NET_AX88796_PLAT_H
   9#define __NET_AX88796_PLAT_H
  10
  11struct sk_buff;
  12struct net_device;
  13struct platform_device;
  14
  15#define AXFLG_HAS_EEPROM                (1<<0)
  16#define AXFLG_MAC_FROMDEV               (1<<1)  /* device already has MAC */
  17#define AXFLG_HAS_93CX6                 (1<<2)  /* use eeprom_93cx6 driver */
  18#define AXFLG_MAC_FROMPLATFORM          (1<<3)  /* MAC given by platform data */
  19
  20struct ax_plat_data {
  21        unsigned int     flags;
  22        unsigned char    wordlength;    /* 1 or 2 */
  23        unsigned char    dcr_val;       /* default value for DCR */
  24        unsigned char    rcr_val;       /* default value for RCR */
  25        unsigned char    gpoc_val;      /* default value for GPOC */
  26        u32             *reg_offsets;   /* register offsets */
  27        u8              *mac_addr;      /* MAC addr (only used when
  28                                           AXFLG_MAC_FROMPLATFORM is used */
  29
  30        /* uses default ax88796 buffer if set to NULL */
  31        void (*block_output)(struct net_device *dev, int count,
  32                        const unsigned char *buf, int star_page);
  33        void (*block_input)(struct net_device *dev, int count,
  34                        struct sk_buff *skb, int ring_offset);
  35        /* returns nonzero if a pending interrupt request might by caused by
  36         * the ax88786. Handles all interrupts if set to NULL
  37         */
  38        int (*check_irq)(struct platform_device *pdev);
  39};
  40
  41#endif /* __NET_AX88796_PLAT_H */
  42