[PATCH rtems-libbsd] rtembsd: Use config.inc to control ZynqMP ethernet
Chris Johns
chrisj at rtems.org
Wed Jun 30 23:22:48 UTC 2021
Looks good and thanks.
Chris
On 1/7/21 6:11 am, Kinsey Moore wrote:
> 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.
> ---
> rtemsbsd/include/bsp/nexus-devices.h | 9 +++++----
> testsuite/include/rtems/bsd/test/network-config.h.in | 8 ++++++++
> waf_libbsd.py | 4 +++-
> 3 files changed, 16 insertions(+), 5 deletions(-)
>
> diff --git a/rtemsbsd/include/bsp/nexus-devices.h b/rtemsbsd/include/bsp/nexus-devices.h
> index 5c1bab42..cbb3f48b 100644
> --- a/rtemsbsd/include/bsp/nexus-devices.h
> +++ b/rtemsbsd/include/bsp/nexus-devices.h
> @@ -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;
> diff --git a/testsuite/include/rtems/bsd/test/network-config.h.in b/testsuite/include/rtems/bsd/test/network-config.h.in
> index 39bb5388..da316e15 100755
> --- a/testsuite/include/rtems/bsd/test/network-config.h.in
> +++ b/testsuite/include/rtems/bsd/test/network-config.h.in
> @@ -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_ */
> diff --git a/waf_libbsd.py b/waf_libbsd.py
> index e7222a03..bb4182e3 100644
> --- a/waf_libbsd.py
> +++ b/waf_libbsd.py
> @@ -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()
>
More information about the devel
mailing list