[PATCH] bsps/zynqmp: Allow any or all CGEMs to be enabled

Gedare Bloom gedare at rtems.org
Tue Jun 29 16:10:35 UTC 2021


On Tue, Jun 29, 2021 at 6:34 AM Kinsey Moore <kinsey.moore at oarcorp.com> wrote:
>
> I suppose this could have been configured in libbsd (possibly
> config.inc) instead if that's what you're getting at. The overall goal
> is to be able to run the tests that use the network on any one of the
> board variants that this BSP supports. My takeaway from the earlier
> conversation on the list is that this was the preferred method of
> switching the ethernet interface for those tests.
>
I acked this patch, and then I also dug into the cgem code. It seems
we should leave the decision of which GEM to use to the application.
This patch and way of doing that accomplishes the configuration by the
application as a BSP option. However, there's no code in the BSP that
actually gets controlled by the option. So, I think we should probably
find a better way to allow the application to select which GEM it
uses, and to provide the glue in the BSP to allow all the possible
GEMs to be available.

> Kinsey
>
> On 6/28/2021 20:49, Chris Johns wrote:
> > Hi,
> >
> > I am just catching up and missed this one until I saw the patch was pushed. I am
> > sorry but I am confused by this patch.
> >
> > Could someone please explain this reason for this addition to the BSP and
> > approach being taken? Is there something in the BSP that requires this
> > information be provided here?
> >
> > Chris
> >
> > On 9/6/21 6:18 am, Kinsey Moore wrote:
> >> Provide the options necessary to enable any combination of CGEM ethernet
> >> interfaces in LibBSD. The default is still CGEM3, so this should
> >> continue to operate as expected on typical Zynq Ultrascale+ MPSoC
> >> development hardware.
> >> ---
> >>   spec/build/bsps/aarch64/xilinx-zynqmp/grp.yml    |  8 ++++++++
> >>   .../bsps/aarch64/xilinx-zynqmp/optcgem0.yml      | 16 ++++++++++++++++
> >>   .../bsps/aarch64/xilinx-zynqmp/optcgem1.yml      | 16 ++++++++++++++++
> >>   .../bsps/aarch64/xilinx-zynqmp/optcgem2.yml      | 16 ++++++++++++++++
> >>   .../bsps/aarch64/xilinx-zynqmp/optcgem3.yml      | 16 ++++++++++++++++
> >>   5 files changed, 72 insertions(+)
> >>   create mode 100644 spec/build/bsps/aarch64/xilinx-zynqmp/optcgem0.yml
> >>   create mode 100644 spec/build/bsps/aarch64/xilinx-zynqmp/optcgem1.yml
> >>   create mode 100644 spec/build/bsps/aarch64/xilinx-zynqmp/optcgem2.yml
> >>   create mode 100644 spec/build/bsps/aarch64/xilinx-zynqmp/optcgem3.yml
> >>
> >> diff --git a/spec/build/bsps/aarch64/xilinx-zynqmp/grp.yml b/spec/build/bsps/aarch64/xilinx-zynqmp/grp.yml
> >> index 16e2b8a7e9..1b6b756912 100644
> >> --- a/spec/build/bsps/aarch64/xilinx-zynqmp/grp.yml
> >> +++ b/spec/build/bsps/aarch64/xilinx-zynqmp/grp.yml
> >> @@ -27,6 +27,14 @@ links:
> >>     uid: optramori
> >>   - role: build-dependency
> >>     uid: optclkuart
> >> +- role: build-dependency
> >> +  uid: optcgem0
> >> +- role: build-dependency
> >> +  uid: optcgem1
> >> +- role: build-dependency
> >> +  uid: optcgem2
> >> +- role: build-dependency
> >> +  uid: optcgem3
> >>   - role: build-dependency
> >>     uid: ../../optconminor
> >>   - role: build-dependency
> >> diff --git a/spec/build/bsps/aarch64/xilinx-zynqmp/optcgem0.yml b/spec/build/bsps/aarch64/xilinx-zynqmp/optcgem0.yml
> >> new file mode 100644
> >> index 0000000000..fc878fda60
> >> --- /dev/null
> >> +++ b/spec/build/bsps/aarch64/xilinx-zynqmp/optcgem0.yml
> >> @@ -0,0 +1,16 @@
> >> +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
> >> +actions:
> >> +- get-boolean: null
> >> +- env-enable: null
> >> +- define-condition: null
> >> +build-type: option
> >> +copyrights:
> >> +- Copyright (C) 2021 On-Line Applications Research
> >> +default: false
> >> +default-by-variant: []
> >> +description: |
> >> +  Enable support for CGEM0
> >> +enabled-by: true
> >> +links: []
> >> +name: BSP_XILINX_ZYNQMP_USE_CGEM0
> >> +type: build
> >> diff --git a/spec/build/bsps/aarch64/xilinx-zynqmp/optcgem1.yml b/spec/build/bsps/aarch64/xilinx-zynqmp/optcgem1.yml
> >> new file mode 100644
> >> index 0000000000..6d5096bbde
> >> --- /dev/null
> >> +++ b/spec/build/bsps/aarch64/xilinx-zynqmp/optcgem1.yml
> >> @@ -0,0 +1,16 @@
> >> +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
> >> +actions:
> >> +- get-boolean: null
> >> +- env-enable: null
> >> +- define-condition: null
> >> +build-type: option
> >> +copyrights:
> >> +- Copyright (C) 2021 On-Line Applications Research
> >> +default: false
> >> +default-by-variant: []
> >> +description: |
> >> +  Enable support for CGEM1
> >> +enabled-by: true
> >> +links: []
> >> +name: BSP_XILINX_ZYNQMP_USE_CGEM1
> >> +type: build
> >> diff --git a/spec/build/bsps/aarch64/xilinx-zynqmp/optcgem2.yml b/spec/build/bsps/aarch64/xilinx-zynqmp/optcgem2.yml
> >> new file mode 100644
> >> index 0000000000..a8aca3ebbd
> >> --- /dev/null
> >> +++ b/spec/build/bsps/aarch64/xilinx-zynqmp/optcgem2.yml
> >> @@ -0,0 +1,16 @@
> >> +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
> >> +actions:
> >> +- get-boolean: null
> >> +- env-enable: null
> >> +- define-condition: null
> >> +build-type: option
> >> +copyrights:
> >> +- Copyright (C) 2021 On-Line Applications Research
> >> +default: false
> >> +default-by-variant: []
> >> +description: |
> >> +  Enable support for CGEM2
> >> +enabled-by: true
> >> +links: []
> >> +name: BSP_XILINX_ZYNQMP_USE_CGEM2
> >> +type: build
> >> diff --git a/spec/build/bsps/aarch64/xilinx-zynqmp/optcgem3.yml b/spec/build/bsps/aarch64/xilinx-zynqmp/optcgem3.yml
> >> new file mode 100644
> >> index 0000000000..8275ad3440
> >> --- /dev/null
> >> +++ b/spec/build/bsps/aarch64/xilinx-zynqmp/optcgem3.yml
> >> @@ -0,0 +1,16 @@
> >> +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
> >> +actions:
> >> +- get-boolean: null
> >> +- env-enable: null
> >> +- define-condition: null
> >> +build-type: option
> >> +copyrights:
> >> +- Copyright (C) 2021 On-Line Applications Research
> >> +default: true
> >> +default-by-variant: []
> >> +description: |
> >> +  Enable support for CGEM3
> >> +enabled-by: true
> >> +links: []
> >> +name: BSP_XILINX_ZYNQMP_USE_CGEM3
> >> +type: build
> >>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel


More information about the devel mailing list