rtemsbsd: Use config.inc to control ZynqMP ethernet

This alters the selection of the 4 Cadence GEM interfaces on the Zynq
Ultrascale+ MPSoC BSP to be provided by config.inc instead of being
provided by options in the RTEMS BSP itself since those options appear
to be dead code when not used in conjunction with LibBSD.
This commit is contained in:
Kinsey Moore 2021-06-30 15:00:58 -05:00 committed by Joel Sherrill
parent 8dfea31d72
commit b0c8153d54
3 changed files with 16 additions and 5 deletions

View File

@ -38,6 +38,7 @@
#include <rtems/bsd/bsd.h>
#include <rtems/bsd/modules.h>
#include <rtems/bsd/test/network-config.h>
#include <machine/rtems-bsd-nexus-bus.h>
@ -115,16 +116,16 @@ RTEMS_BSD_DRIVER_XILINX_ZYNQMP_SLCR;
* CGEM3 is used for LibBSD because all Zynq Ultrascale+ MPSoC dev boards treat
* the highest-mapped CGEM as the primary interface.
*/
#if BSP_XILINX_ZYNQMP_USE_CGEM0
#if NET_CFG_ZYNQMP_USE_CGEM0 == '1'
RTEMS_BSD_DRIVER_XILINX_ZYNQMP_CGEM0(ZYNQMP_IRQ_ETHERNET_0);
#endif
#if BSP_XILINX_ZYNQMP_USE_CGEM1
#if NET_CFG_ZYNQMP_USE_CGEM1 == '1'
RTEMS_BSD_DRIVER_XILINX_ZYNQMP_CGEM1(ZYNQMP_IRQ_ETHERNET_1);
#endif
#if BSP_XILINX_ZYNQMP_USE_CGEM2
#if NET_CFG_ZYNQMP_USE_CGEM2 == '1'
RTEMS_BSD_DRIVER_XILINX_ZYNQMP_CGEM2(ZYNQMP_IRQ_ETHERNET_2);
#endif
#if BSP_XILINX_ZYNQMP_USE_CGEM3
#if NET_CFG_ZYNQMP_USE_CGEM3 == '1'
RTEMS_BSD_DRIVER_XILINX_ZYNQMP_CGEM3(ZYNQMP_IRQ_ETHERNET_3);
#endif
RTEMS_BSD_DRIVER_E1000PHY;

View File

@ -64,4 +64,12 @@
#define NET_CFG_GATEWAY_IP "@NET_CFG_GATEWAY_IP@"
#define NET_CFG_ZYNQMP_USE_CGEM0 '@NET_CFG_ZYNQMP_USE_CGEM0@'
#define NET_CFG_ZYNQMP_USE_CGEM1 '@NET_CFG_ZYNQMP_USE_CGEM1@'
#define NET_CFG_ZYNQMP_USE_CGEM2 '@NET_CFG_ZYNQMP_USE_CGEM2@'
#define NET_CFG_ZYNQMP_USE_CGEM3 '@NET_CFG_ZYNQMP_USE_CGEM3@'
#endif /* _RTEMS_BSD_TEST_NETWORK_CONFIG_H_ */

View File

@ -289,7 +289,9 @@ class Builder(builder.ModuleManager):
(bld.env.NET_CONFIG))
tags = [
'NET_CFG_INTERFACE_0', 'NET_CFG_SELF_IP', 'NET_CFG_NETMASK',
'NET_CFG_PEER_IP', 'NET_CFG_GATEWAY_IP'
'NET_CFG_PEER_IP', 'NET_CFG_GATEWAY_IP',
'NET_CFG_ZYNQMP_USE_CGEM0', 'NET_CFG_ZYNQMP_USE_CGEM1',
'NET_CFG_ZYNQMP_USE_CGEM2', 'NET_CFG_ZYNQMP_USE_CGEM3'
]
try:
net_cfg_lines = open(bld.env.NET_CONFIG).readlines()