Commit 7a5b1c04 authored by Thanassis Tsiodras's avatar Thanassis Tsiodras

* DRVMGR compatible Ethernet driver

parent a5a5c292
......@@ -75,9 +75,9 @@
#ifdef __PO_HI_NEED_DRIVER_ETH_LEON
#define CONFIGURE_DRIVER_AMBAPP_GAISLER_GRETH /* GRETH Driver enabled*/
#else
#undef ENABLE_NETWORK
#undef ENABLE_NETWORK_SMC_LEON3
//#else
// #undef ENABLE_NETWORK
// #undef ENABLE_NETWORK_SMC_LEON3
#endif
#ifdef __PO_HI_NEED_DRIVER_SPACEWIRE_RASTA
......@@ -102,6 +102,10 @@ void *POSIX_Init (void);
#define CONFIGURE_DRIVER_AMBAPP_GAISLER_SPW_ROUTER /* SpaceWire Router */
#define CONFIGURE_DRIVER_AMBAPP_GAISLER_GRSPW2 /* SpaceWire Packet driver */
#define CONFIGURE_DRIVER_AMBAPP_GAISLER_GRETH /* GRETH Driver enabled*/
#define CONFIGURE_DRIVER_PCI_GR_LEON4_N2X /* GR-CPCI-LEON4-N2X has two GRETH network MACs */
#define ENABLE_NETWORK
#endif /*GRLEON3 && RTEMS412*/
......@@ -111,8 +115,6 @@ void *POSIX_Init (void);
/* config.c is directly provided by RCC1.3 and initialized drivers per
* drvmgr convention for RASTA (LEON3), N2X and GR740 boards
*/
#undef ENABLE_NETWORK
#undef ENABLE_NETWORK_SMC_LEON3
#include "../src/config.c"
......
......@@ -26,7 +26,9 @@ C_FILES = $(srcdir)/po_hi_driver_linux_serial.c \
$(srcdir)/spwrouter_custom_config.c \
$(srcdir)/po_hi_driver_drvmgr_common.c \
$(srcdir)/po_hi_driver_rtems_drvmgr_spacewire.c \
$(srcdir)/po_hi_driver_rtems_drvmgr_serial.c
$(srcdir)/po_hi_driver_rtems_drvmgr_serial.c \
$(srcdir)/po_hi_driver_rtems_drvmgr_ethernet.c \
$(srcdir)/config_leon4_n2x.c
csrc = ${shell $(CYGPATH_U) '$(OCARINA_RUNTIME)/polyorb-hi-c/src/drivers'}
csrc2 = ${shell $(CYGPATH_U) '$(OCARINA_RUNTIME)/polyorb-hi-c/src'}
......
......@@ -21,7 +21,11 @@
/* Configure Network if enabled */
#ifdef ENABLE_NETWORK
#include <bsp/network_interface_add.h>
#include "networkconfig.h"
//#include "networkconfig.h"
// Gaisler uses this file, user provided. for the moment, config done
// in driver to be discussed
#else
#undef ENABLE_NETWORK_SMC_LEON2
#undef ENABLE_NETWORK_SMC_LEON3
......@@ -123,6 +127,7 @@ void system_init(void)
printf("\n");
rtems_bsdnet_show_if_stats();
printf("\n\n");
#endif
}
#include <bsp/gr_leon4_n2x.h>
#include <drvmgr/ambapp_bus.h>
/* GR-CPCI-LEON4-N2X boards configuration example. Note that this is
* optional, we only override defaults. If default are ok, nothing
* is need to be done.
*/
/*** Driver resources for GR-LEON4-N2X 0 AMBA PnP bus ***/
struct drvmgr_bus_res gr_leon4_n2x0_res =
{
.next = NULL,
.resource = {
DRVMGR_RES_EMPTY
},
};
/* Use GPTIMER core 4 (not present in most systems) as a high
* resoulution timer */
struct drvmgr_key leon4_n2x1_gptimer1[] =
{
{"prescaler", DRVMGR_KT_INT, {(unsigned int)4}},
DRVMGR_KEY_EMPTY
};
/*** Driver resources for GR-LEON4-N2X 1 AMBA PnP bus ***/
struct drvmgr_bus_res gr_leon4_n2x1_res =
{
.next = NULL,
.resource = {
{DRIVER_AMBAPP_GAISLER_GPTIMER_ID, 0, NULL}, /*disable GPT[0]*/
{DRIVER_AMBAPP_GAISLER_GPTIMER_ID, 1, &leon4_n2x1_gptimer1[0]},
DRVMGR_RES_EMPTY
},
};
/* Tell GR-CPCI-LEON4-N2X driver about the bus resources.
* Resources for two GR-CPCI-LEON4-N2X board are available.
* AMBAPP->PCI->GR-CPCI-LEON4-N2X->AMBAPP bus resources
*
* The resources will be used by the drivers for the
* cores found on the GR-CPCI-LEON4-N2X->AMBAPP bus.
*
* The "weak defaults" are overriden here.
*/
struct drvmgr_bus_res *gr_leon4_n2x_resources[] =
{
&gr_leon4_n2x0_res, /* GR-LEON4-N2X board 1 resources */
&gr_leon4_n2x1_res, /* GR-LEON4-N2X board 2 resources */
NULL, /* End of table */
};
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment