2007-07-03 19:53:09 +04:00
/* include/net/ax88796.h
*
* Copyright 2005 Simtec Electronics
* Ben Dooks < ben @ simtec . co . uk >
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation .
*
*/
# ifndef __NET_AX88796_PLAT_H
# define __NET_AX88796_PLAT_H
2018-04-19 05:05:22 +03:00
struct sk_buff ;
struct net_device ;
2018-04-19 05:05:23 +03:00
struct platform_device ;
2018-04-19 05:05:22 +03:00
2007-07-03 19:53:09 +04:00
# define AXFLG_HAS_EEPROM (1<<0)
# define AXFLG_MAC_FROMDEV (1<<1) /* device already has MAC */
2007-09-29 09:42:16 +04:00
# define AXFLG_HAS_93CX6 (1<<2) /* use eeprom_93cx6 driver */
2009-03-25 09:32:03 +03:00
# define AXFLG_MAC_FROMPLATFORM (1<<3) /* MAC given by platform data */
2007-07-03 19:53:09 +04:00
struct ax_plat_data {
unsigned int flags ;
2009-03-25 09:32:03 +03:00
unsigned char wordlength ; /* 1 or 2 */
unsigned char dcr_val ; /* default value for DCR */
unsigned char rcr_val ; /* default value for RCR */
unsigned char gpoc_val ; /* default value for GPOC */
u32 * reg_offsets ; /* register offsets */
u8 * mac_addr ; /* MAC addr (only used when
AXFLG_MAC_FROMPLATFORM is used */
2018-04-19 05:05:22 +03:00
/* uses default ax88796 buffer if set to NULL */
void ( * block_output ) ( struct net_device * dev , int count ,
const unsigned char * buf , int star_page ) ;
void ( * block_input ) ( struct net_device * dev , int count ,
struct sk_buff * skb , int ring_offset ) ;
2018-04-19 05:05:23 +03:00
/* returns nonzero if a pending interrupt request might by caused by
* the ax88786 . Handles all interrupts if set to NULL
*/
int ( * check_irq ) ( struct platform_device * pdev ) ;
2007-07-03 19:53:09 +04:00
} ;
# endif /* __NET_AX88796_PLAT_H */