No empty .Rs/.Re
[netbsd-mini2440.git] / sys / arch / arm / at91 / at91emacvar.h
blob37f7ecdc4b73b096aa2301efadf33f5ee001b594
1 /* $Id: at91emacvar.h,v 1.3 2009/10/23 06:53:13 snj Exp $ */
2 /* $NetBSD: at91emacvar.h,v 1.2 2008/07/03 01:15:38 matt Exp $ */
3 /*-
4 * Copyright (c) 2007 Embedtronics Oy
5 * All rights reserved
7 * Based on arch/arm/ep93xx/epevar.h
9 * Copyright (c) 2004 Jesse Off
10 * All rights reserved
12 * Redistribution and use in source and binary forms, with or without
13 * modification, are permitted provided that the following conditions
14 * are met:
15 * 1. Redistributions of source code must retain the above copyright
16 * notice, this list of conditions and the following disclaimer.
17 * 2. Redistributions in binary form must reproduce the above copyright
18 * notice, this list of conditions and the following disclaimer in the
19 * documentation and/or other materials provided with the distribution.
21 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
22 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
25 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * SUCH DAMAGE.
35 #ifndef _AT91EMACVAR_H_
36 #define _AT91EMACVAR_H_
38 #define RX_QLEN 64
39 #define TX_QLEN 2 /* I'm very sorry but that's where we can get */
41 struct emac_qmeta {
42 struct mbuf *m;
43 bus_dmamap_t m_dmamap;
46 struct emac_softc {
47 device_t sc_dev;
48 bus_space_tag_t sc_iot;
49 bus_space_handle_t sc_ioh;
50 bus_dma_tag_t sc_dmat;
51 int sc_pid;
52 uint8_t sc_enaddr[ETHER_ADDR_LEN];
53 struct ethercom sc_ec;
54 mii_data_t sc_mii;
55 void *rbqpage;
56 unsigned rbqlen;
57 bus_addr_t rbqpage_dsaddr;
58 bus_dmamap_t rbqpage_dmamap;
60 volatile struct eth_rdsc *RDSC;
61 int rxqi;
62 struct emac_qmeta rxq[RX_QLEN];
63 int txqi, txqc;
64 struct emac_qmeta txq[TX_QLEN];
65 callout_t emac_tick_ch;
68 #endif /* _AT91EMACVAR_H_ */