| xj | b04a402 | 2021-11-25 15:01:52 +0800 | [diff] [blame] | 1 | /* include/net/ax88796.h | 
|  | 2 | * | 
|  | 3 | * Copyright 2005 Simtec Electronics | 
|  | 4 | *	Ben Dooks <ben@simtec.co.uk> | 
|  | 5 | * | 
|  | 6 | * This program is free software; you can redistribute it and/or modify | 
|  | 7 | * it under the terms of the GNU General Public License version 2 as | 
|  | 8 | * published by the Free Software Foundation. | 
|  | 9 | * | 
|  | 10 | */ | 
|  | 11 |  | 
|  | 12 | #ifndef __NET_AX88796_PLAT_H | 
|  | 13 | #define __NET_AX88796_PLAT_H | 
|  | 14 |  | 
|  | 15 | struct sk_buff; | 
|  | 16 | struct net_device; | 
|  | 17 | struct platform_device; | 
|  | 18 |  | 
|  | 19 | #define AXFLG_HAS_EEPROM		(1<<0) | 
|  | 20 | #define AXFLG_MAC_FROMDEV		(1<<1)	/* device already has MAC */ | 
|  | 21 | #define AXFLG_HAS_93CX6			(1<<2)	/* use eeprom_93cx6 driver */ | 
|  | 22 | #define AXFLG_MAC_FROMPLATFORM		(1<<3)	/* MAC given by platform data */ | 
|  | 23 |  | 
|  | 24 | struct ax_plat_data { | 
|  | 25 | unsigned int	 flags; | 
|  | 26 | unsigned char	 wordlength;	/* 1 or 2 */ | 
|  | 27 | unsigned char	 dcr_val;	/* default value for DCR */ | 
|  | 28 | unsigned char	 rcr_val;	/* default value for RCR */ | 
|  | 29 | unsigned char	 gpoc_val;	/* default value for GPOC */ | 
|  | 30 | u32		*reg_offsets;	/* register offsets */ | 
|  | 31 | u8		*mac_addr;	/* MAC addr (only used when | 
|  | 32 | AXFLG_MAC_FROMPLATFORM is used */ | 
|  | 33 |  | 
|  | 34 | /* uses default ax88796 buffer if set to NULL */ | 
|  | 35 | void (*block_output)(struct net_device *dev, int count, | 
|  | 36 | const unsigned char *buf, int star_page); | 
|  | 37 | void (*block_input)(struct net_device *dev, int count, | 
|  | 38 | struct sk_buff *skb, int ring_offset); | 
|  | 39 | /* returns nonzero if a pending interrupt request might by caused by | 
|  | 40 | * the ax88786. Handles all interrupts if set to NULL | 
|  | 41 | */ | 
|  | 42 | int (*check_irq)(struct platform_device *pdev); | 
|  | 43 | }; | 
|  | 44 |  | 
|  | 45 | #endif /* __NET_AX88796_PLAT_H */ |