xref: /FreeRTOS-Plus-TCP-v3.1.0/source/portable/NetworkInterface/xilinx_ultrascale/x_topology.h (revision a4124602cc584fa0658448c229f48a459a84fbb1)
1 /*
2  * Copyright (c) 2007-2013 Xilinx, Inc.  All rights reserved.
3  *
4  * Xilinx, Inc.
5  * XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" AS A
6  * COURTESY TO YOU.  BY PROVIDING THIS DESIGN, CODE, OR INFORMATION AS
7  * ONE POSSIBLE   IMPLEMENTATION OF THIS FEATURE, APPLICATION OR
8  * STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS IMPLEMENTATION
9  * IS FREE FROM ANY CLAIMS OF INFRINGEMENT, AND YOU ARE RESPONSIBLE
10  * FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE FOR YOUR IMPLEMENTATION.
11  * XILINX EXPRESSLY DISCLAIMS ANY WARRANTY WHATSOEVER WITH RESPECT TO
12  * THE ADEQUACY OF THE IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO
13  * ANY WARRANTIES OR REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE
14  * FROM CLAIMS OF INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY
15  * AND FITNESS FOR A PARTICULAR PURPOSE.
16  *
17  */
18 
19 #ifndef __XTOPOLOGY_H_
20     #define __XTOPOLOGY_H_
21 
22     #ifdef __cplusplus
23         extern "C" {
24     #endif
25 
26     enum xemac_types
27     {
28         xemac_type_unknown = -1, xemac_type_xps_emaclite, xemac_type_xps_ll_temac, xemac_type_axi_ethernet, xemac_type_emacps
29     };
30 
31     struct xtopology_t
32     {
33         unsigned emac_baseaddr;
34         enum xemac_types emac_type;
35         unsigned intc_baseaddr;
36         unsigned intc_emac_intr;   /* valid only for xemac_type_xps_emaclite */
37         unsigned scugic_baseaddr;  /* valid only for Zynq */
38         unsigned scugic_emac_intr; /* valid only for GEM */
39     };
40 
41     extern int x_topology_n_emacs;
42     extern struct xtopology_t x_topology[];
43 
44     int x_topology_find_index( unsigned base );
45 
46     #ifdef __cplusplus
47         }
48     #endif
49 
50 #endif /* ifndef __XTOPOLOGY_H_ */
51