Re: [rtems-docs commit] Update build system related sections for RTEMS 6

2022-11-10 Thread Sebastian Huber

On 10/11/2022 01:30, Chris Johns wrote:
The first is the maintenance of embedded the version numbers in the 
documentation. If we can avoid doing that the work per release or dot 
release is less.


We could use a simple search and replace for this. Searching for 
'rtems[0-9]' shows a couple of spots which need a more through rework. 
We even have stuff with rtems4.10.




The second is the changing of `kernel` to `src`. The use of `kernel` was 
specific because it removes any ambiguity when a new user attempts to 
build a package like libbsd in the same tree. Source can mean it is the 
place where all source is placed. I think `kernel` should be used and 
returned.


I usually place all Git repositories in a "src" directory.

--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.hu...@embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Re: [PATCH v2] zynqmp: Add support for the CFC-400X

2022-11-10 Thread Padmarao.Begari
Hi Kinsey,

> On Thu, 2022-11-10 at 07:55 -0600, Kinsey Moore wrote:
> 
> Hi Padmarao,
> More compatibles can be added later if necessary to both the device
> tree in RTEMS and the driver in RTEMS-LibBSD, but I don't see the
> need for either at the moment since the ethernet portion of the
> device tree is intended to be used with RTEMS-LibBSD directly. As far
> as the driver in 6-freebsd-12 is concerned, all compatibles are
> currently equivalent and it already supports "cdns,macb" if a BSP
> chooses to use that compatible. This may change when we upgrade to
> the FreeBSD 13 code since the driver has gained more advanced support
> for differentiating among compatibles and hardware quirks, but the
> list of supported compatibles will only expand.
> 

Ok, Makes sense to me.

Regards
Padmarao
> Kinsey
> 
> On Thu, Nov 10, 2022 at 6:50 AM 
> wrote:
> > Hi Kinsey,
> > 
> > The ethernet compatible "cdns,gem" is mentioned in the device tree,
> > even I used same for PolarFire SoC BSP but later realised that
> > common
> > compatible for the candence GEM is "cdns,macb" used in U-Boot and
> > Linux.
> > 
> > Can we go with compatible "cdns,gem"? or will we update with
> > "cdns,macb" later?  
> > 
> > Regards
> > Padmarao
> > > +   ethernet@ff0b {
> > > +   compatible = "cdns,gem";
> > > +   status = "okay";
> > > +   interrupt-parent = <0x01>;
> > > +   interrupts = <0x00 0x39 0x04>;
> > > +   reg = <0x00 0xff0b 0x00 0x1000>;
> > > +   phy-mode = "sgmii";
> > > +   };
> > 
> > 
> > > On Tue, 2022-11-08 at 15:56 -0600, Kinsey Moore wrote:
> > > 
> > > This adds a BSP variant for the ZynqMP BSP family to support the
> > > Innoflight CFC-400X platform. To properly support the CFC-400X,
> > > device
> > > trees were added to the ZynqMP platform due to both the optional
> > > management interface as well as alternate physical configuration
> > of
> > > the
> > > ethernet interfaces.
> > > ---
> > >  bsps/aarch64/xilinx-zynqmp/console/console.c  | 163
> > > +-
> > >  bsps/aarch64/xilinx-zynqmp/fdt/bsp_fdt.c  |  51 ++
> > >  bsps/aarch64/xilinx-zynqmp/fdt/cfc400x.dts| 110 
> > >  bsps/aarch64/xilinx-zynqmp/fdt/cfc400x_dtb.c  | 124
> > +
> > >  bsps/aarch64/xilinx-zynqmp/fdt/zynqmp.dts |  94 ++
> > >  bsps/aarch64/xilinx-zynqmp/fdt/zynqmp_dtb.c   |  97 +++
> > >  bsps/aarch64/xilinx-zynqmp/include/bsp.h  |  15 ++
> > >  .../aarch64/xilinx-zynqmp/start/bspstartmmu.c |   4 +
> > >  .../aarch64/xilinx-zynqmp/bspcfc400xlp64.yml  |  21 +++
> > >  .../aarch64/xilinx-zynqmp/bspqemuilp32.yml|   2 +
> > >  .../aarch64/xilinx-zynqmp/bspqemulp64.yml |   2 +
> > >  .../aarch64/xilinx-zynqmp/bspzu3egilp32.yml   |   2 +
> > >  .../aarch64/xilinx-zynqmp/bspzu3eglp64.yml|   2 +
> > >  spec/build/bsps/aarch64/xilinx-zynqmp/obj.yml |   1 +
> > >  .../aarch64/xilinx-zynqmp/objfdtcfc400x.yml   |  14 ++
> > >  .../aarch64/xilinx-zynqmp/objfdtzynqmp.yml|  14 ++
> > >  .../bsps/aarch64/xilinx-zynqmp/optloadoff.yml |   1 +
> > >  .../bsps/aarch64/xilinx-zynqmp/optramori.yml  |   1 +
> > >  spec/build/cpukit/optsmp.yml  |   1 +
> > >  19 files changed, 718 insertions(+), 1 deletion(-)
> > >  create mode 100644 bsps/aarch64/xilinx-zynqmp/fdt/bsp_fdt.c
> > >  create mode 100644 bsps/aarch64/xilinx-zynqmp/fdt/cfc400x.dts
> > >  create mode 100644 bsps/aarch64/xilinx-zynqmp/fdt/cfc400x_dtb.c
> > >  create mode 100644 bsps/aarch64/xilinx-zynqmp/fdt/zynqmp.dts
> > >  create mode 100644 bsps/aarch64/xilinx-zynqmp/fdt/zynqmp_dtb.c
> > >  create mode 100644 spec/build/bsps/aarch64/xilinx-
> > > zynqmp/bspcfc400xlp64.yml
> > >  create mode 100644 spec/build/bsps/aarch64/xilinx-
> > > zynqmp/objfdtcfc400x.yml
> > >  create mode 100644 spec/build/bsps/aarch64/xilinx-
> > > zynqmp/objfdtzynqmp.yml
> > > 
> > > diff --git a/bsps/aarch64/xilinx-zynqmp/console/console.c
> > > b/bsps/aarch64/xilinx-zynqmp/console/console.c
> > > index d1948f1a0c..d546db8535 100644
> > > --- a/bsps/aarch64/xilinx-zynqmp/console/console.c
> > > +++ b/bsps/aarch64/xilinx-zynqmp/console/console.c
> > > @@ -9,7 +9,7 @@
> > >   */
> > > 
> > >  /*
> > > - * Copyright (C) 2020 On-Line Applications Research Corporation
> > > (OAR)
> > > + * Copyright (C) 2022 On-Line Applications Research Corporation
> > > (OAR)
> > >   * Written by Kinsey Moore 
> > >   *
> > >   * Redistribution and use in source and binary forms, with or
> > > without
> > > @@ -36,13 +36,165 @@
> > > 
> > >  #include 
> > >  #include 
> > > +#include 
> > > +#include 
> > >  #include 
> > > 
> > > +#include 
> > > +#include 
> > >  #include 
> > > +
> > >  #include 
> > > 
> > >  #include 
> > > 
> > > +#include 
> > > +
> > > +uint32_t mgmt_uart_reg_shift = 0;
> > > +static uint8_t get_register(uintptr_t addr, uint8_t i)
> > > +{
> > > +  volatile uint8_t *reg 

Re: [PATCH rtems-lwip] rtemslwip: Add note to intentionally blank files

2022-11-10 Thread Chris Johns
On 11/11/22 8:36 am, Kinsey Moore wrote:
> This should be covered by COPYING.rtemslwip. I would say it isn't worth 
> putting
> it in the intentionally empty files.

Agreed. Copyright of "empty" does not make sense.

Chris
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


[6 DOCS PATCH] waf: Handle the enable options for singlehtml and ditaa/puml

2022-11-10 Thread chrisj
From: Chris Johns 

Close #4756
---
 common/waf.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/common/waf.py b/common/waf.py
index 8584f88..0bd166a 100644
--- a/common/waf.py
+++ b/common/waf.py
@@ -275,21 +275,21 @@ def cmd_configure(ctx):
 if ctx.options.singlehtml:
 check_inliner = not ctx.env.BIN_INLINER
 if check_inliner:
-ctx.env.BUILD_SINGLEHTML = 'yes'
 ctx.find_program("inliner", var = "BIN_INLINER", mandatory = False)
 if not ctx.env.BIN_INLINER:
 ctx.fatal("Node.js inliner is required install with 'npm 
install -g inliner' " +
   "(https://github.com/remy/inliner)")
+ctx.env.BUILD_SINGLEHTML = 'yes'
 
 ctx.env.BUILD_PLANTUML = 'no'
 if ctx.options.plantuml:
 check_plantuml = not ctx.env.BIN_PUML
 if check_plantuml:
-ctx.env.BUILD_PLANTUML = 'yes'
 ctx.find_program("puml", var = "BIN_PUML", mandatory = False)
 if not ctx.env.BIN_PUML:
 ctx.fatal("Node.js puml is required install with 'npm install 
-g node-plantuml' " +
   "(https://www.npmjs.com/package/node-plantuml)")
+ctx.env.BUILD_PLANTUML = 'yes'
 
 ctx.env.BUILD_DITAA = 'no'
 if ctx.options.ditaa:
@@ -304,10 +304,10 @@ def cmd_configure(ctx):
   "(https://www.npmjs.com/package/node-plantuml)")
 check_ditaa = not ctx.env.BIN_DITAA
 if check_ditaa:
-ctx.env.BUILD_DITAA = 'yes'
 ctx.find_program("ditaa", var = "BIN_DITAA", mandatory = False)
 if not ctx.env.BIN_DITAA:
 ctx.fatal("DITAA not found, plase install")
+ctx.env.BUILD_DITAA = 'yes'
 
 def sources_exclude(ctx, sources):
 exclude = sources.get('exclude', [])
-- 
2.37.1

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


[5 DOCS PATCH] waf: Handle the enable options for singlehtml and ditaa/puml

2022-11-10 Thread chrisj
From: Chris Johns 

Close #4755
---
 common/waf.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/common/waf.py b/common/waf.py
index 8584f88..0bd166a 100644
--- a/common/waf.py
+++ b/common/waf.py
@@ -275,21 +275,21 @@ def cmd_configure(ctx):
 if ctx.options.singlehtml:
 check_inliner = not ctx.env.BIN_INLINER
 if check_inliner:
-ctx.env.BUILD_SINGLEHTML = 'yes'
 ctx.find_program("inliner", var = "BIN_INLINER", mandatory = False)
 if not ctx.env.BIN_INLINER:
 ctx.fatal("Node.js inliner is required install with 'npm 
install -g inliner' " +
   "(https://github.com/remy/inliner)")
+ctx.env.BUILD_SINGLEHTML = 'yes'
 
 ctx.env.BUILD_PLANTUML = 'no'
 if ctx.options.plantuml:
 check_plantuml = not ctx.env.BIN_PUML
 if check_plantuml:
-ctx.env.BUILD_PLANTUML = 'yes'
 ctx.find_program("puml", var = "BIN_PUML", mandatory = False)
 if not ctx.env.BIN_PUML:
 ctx.fatal("Node.js puml is required install with 'npm install 
-g node-plantuml' " +
   "(https://www.npmjs.com/package/node-plantuml)")
+ctx.env.BUILD_PLANTUML = 'yes'
 
 ctx.env.BUILD_DITAA = 'no'
 if ctx.options.ditaa:
@@ -304,10 +304,10 @@ def cmd_configure(ctx):
   "(https://www.npmjs.com/package/node-plantuml)")
 check_ditaa = not ctx.env.BIN_DITAA
 if check_ditaa:
-ctx.env.BUILD_DITAA = 'yes'
 ctx.find_program("ditaa", var = "BIN_DITAA", mandatory = False)
 if not ctx.env.BIN_DITAA:
 ctx.fatal("DITAA not found, plase install")
+ctx.env.BUILD_DITAA = 'yes'
 
 def sources_exclude(ctx, sources):
 exclude = sources.get('exclude', [])
-- 
2.37.1

___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


Re: [PATCH rtems-lwip] rtemslwip: Add note to intentionally blank files

2022-11-10 Thread Kinsey Moore
This should be covered by COPYING.rtemslwip. I would say it isn't worth
putting it in the intentionally empty files.

On Thu, Nov 10, 2022 at 2:22 PM Vijay Kumar Banerjee 
wrote:

> Looks good to me.
>
> Do we need copyright statements for these files?
>
> On Wed, Nov 9, 2022 at 9:49 PM Kinsey Moore 
> wrote:
> >
> > ---
> >  rtemslwip/bsd_compat_include/arpa/nameser.h   | 1 +
> >  rtemslwip/bsd_compat_include/machine/rtems-bsd-kernel-space.h | 1 +
> >  rtemslwip/bsd_compat_include/machine/rtems-bsd-user-space.h   | 1 +
> >  rtemslwip/bsd_compat_include/net/if_var.h | 1 +
> >  rtemslwip/bsd_compat_include/netinet/in_systm.h   | 1 +
> >  rtemslwip/bsd_compat_include/netinet/in_var.h | 1 +
> >  rtemslwip/bsd_compat_include/netinet/ip.h | 1 +
> >  rtemslwip/bsd_compat_include/sys/kernel.h | 1 +
> >  rtemslwip/bsd_compat_include/sysexits.h   | 1 +
> >  rtemslwip/include/arch/eth_lwip_default.h | 1 +
> >  rtemslwip/include/bspconfig.h | 1 +
> >  rtemslwip/xilinx/semphr.h | 1 +
> >  rtemslwip/xilinx/timers.h | 1 +
> >  rtemslwip/xilinx/xil_smc.h| 1 +
> >  rtemslwip/xilinx/xil_spinlock.h   | 1 +
> >  15 files changed, 15 insertions(+)
> >
> > diff --git a/rtemslwip/bsd_compat_include/arpa/nameser.h
> b/rtemslwip/bsd_compat_include/arpa/nameser.h
> > index e69de29..d35e631 100644
> > --- a/rtemslwip/bsd_compat_include/arpa/nameser.h
> > +++ b/rtemslwip/bsd_compat_include/arpa/nameser.h
> > @@ -0,0 +1 @@
> > +/* This file is a stub and intentionally left blank */
> > diff --git
> a/rtemslwip/bsd_compat_include/machine/rtems-bsd-kernel-space.h
> b/rtemslwip/bsd_compat_include/machine/rtems-bsd-kernel-space.h
> > index e69de29..d35e631 100644
> > --- a/rtemslwip/bsd_compat_include/machine/rtems-bsd-kernel-space.h
> > +++ b/rtemslwip/bsd_compat_include/machine/rtems-bsd-kernel-space.h
> > @@ -0,0 +1 @@
> > +/* This file is a stub and intentionally left blank */
> > diff --git a/rtemslwip/bsd_compat_include/machine/rtems-bsd-user-space.h
> b/rtemslwip/bsd_compat_include/machine/rtems-bsd-user-space.h
> > index e69de29..d35e631 100644
> > --- a/rtemslwip/bsd_compat_include/machine/rtems-bsd-user-space.h
> > +++ b/rtemslwip/bsd_compat_include/machine/rtems-bsd-user-space.h
> > @@ -0,0 +1 @@
> > +/* This file is a stub and intentionally left blank */
> > diff --git a/rtemslwip/bsd_compat_include/net/if_var.h
> b/rtemslwip/bsd_compat_include/net/if_var.h
> > index e69de29..d35e631 100644
> > --- a/rtemslwip/bsd_compat_include/net/if_var.h
> > +++ b/rtemslwip/bsd_compat_include/net/if_var.h
> > @@ -0,0 +1 @@
> > +/* This file is a stub and intentionally left blank */
> > diff --git a/rtemslwip/bsd_compat_include/netinet/in_systm.h
> b/rtemslwip/bsd_compat_include/netinet/in_systm.h
> > index e69de29..d35e631 100644
> > --- a/rtemslwip/bsd_compat_include/netinet/in_systm.h
> > +++ b/rtemslwip/bsd_compat_include/netinet/in_systm.h
> > @@ -0,0 +1 @@
> > +/* This file is a stub and intentionally left blank */
> > diff --git a/rtemslwip/bsd_compat_include/netinet/in_var.h
> b/rtemslwip/bsd_compat_include/netinet/in_var.h
> > index e69de29..d35e631 100644
> > --- a/rtemslwip/bsd_compat_include/netinet/in_var.h
> > +++ b/rtemslwip/bsd_compat_include/netinet/in_var.h
> > @@ -0,0 +1 @@
> > +/* This file is a stub and intentionally left blank */
> > diff --git a/rtemslwip/bsd_compat_include/netinet/ip.h
> b/rtemslwip/bsd_compat_include/netinet/ip.h
> > index e69de29..d35e631 100644
> > --- a/rtemslwip/bsd_compat_include/netinet/ip.h
> > +++ b/rtemslwip/bsd_compat_include/netinet/ip.h
> > @@ -0,0 +1 @@
> > +/* This file is a stub and intentionally left blank */
> > diff --git a/rtemslwip/bsd_compat_include/sys/kernel.h
> b/rtemslwip/bsd_compat_include/sys/kernel.h
> > index e69de29..d35e631 100644
> > --- a/rtemslwip/bsd_compat_include/sys/kernel.h
> > +++ b/rtemslwip/bsd_compat_include/sys/kernel.h
> > @@ -0,0 +1 @@
> > +/* This file is a stub and intentionally left blank */
> > diff --git a/rtemslwip/bsd_compat_include/sysexits.h
> b/rtemslwip/bsd_compat_include/sysexits.h
> > index e69de29..d35e631 100644
> > --- a/rtemslwip/bsd_compat_include/sysexits.h
> > +++ b/rtemslwip/bsd_compat_include/sysexits.h
> > @@ -0,0 +1 @@
> > +/* This file is a stub and intentionally left blank */
> > diff --git a/rtemslwip/include/arch/eth_lwip_default.h
> b/rtemslwip/include/arch/eth_lwip_default.h
> > index e69de29..d35e631 100644
> > --- a/rtemslwip/include/arch/eth_lwip_default.h
> > +++ b/rtemslwip/include/arch/eth_lwip_default.h
> > @@ -0,0 +1 @@
> > +/* This file is a stub and intentionally left blank */
> > diff --git a/rtemslwip/include/bspconfig.h
> b/rtemslwip/include/bspconfig.h
> > index e69de29..d35e631 100644
> > --- 

[PATCH rtems-lwip] zynqmp: Add support for the CFC-400X BSP

2022-11-10 Thread Kinsey Moore
This adds support for the CFC-400X BSP including an option to select
SGMII instead of the default RGMII PHY interface and adds a way for
ZynqMP BSPs to provide additional configuration via lwipbspopts.h.
---
 .../aarch64/xilinx_zynqmp_lp64_cfc400x.json   | 11 
 .../contrib/ports/xilinx/netif/xemacpsif_hw.c |  6 ++
 rtemslwip/zynqmp/lwipopts.h   |  2 +
 rtemslwip/zynqmp_cfc400x/lwipbspopts.h| 33 ++
 rtemslwip/zynqmp_cfc400x/netstart.c   | 66 +++
 rtemslwip/zynqmp_hardware/lwipbspopts.h   |  1 +
 rtemslwip/zynqmp_qemu/lwipbspopts.h   |  1 +
 7 files changed, 120 insertions(+)
 create mode 100644 defs/bsps/aarch64/xilinx_zynqmp_lp64_cfc400x.json
 create mode 100644 rtemslwip/zynqmp_cfc400x/lwipbspopts.h
 create mode 100644 rtemslwip/zynqmp_cfc400x/netstart.c
 create mode 100644 rtemslwip/zynqmp_hardware/lwipbspopts.h
 create mode 100644 rtemslwip/zynqmp_qemu/lwipbspopts.h

diff --git a/defs/bsps/aarch64/xilinx_zynqmp_lp64_cfc400x.json 
b/defs/bsps/aarch64/xilinx_zynqmp_lp64_cfc400x.json
new file mode 100644
index 000..5fe676c
--- /dev/null
+++ b/defs/bsps/aarch64/xilinx_zynqmp_lp64_cfc400x.json
@@ -0,0 +1,11 @@
+{
+   "includes": [
+   "xilinx_zynqmp_base"
+   ],
+   "header-paths-to-import": [
+   "rtemslwip/zynqmp_cfc400x"
+   ],
+   "source-paths-to-import": [
+   "rtemslwip/zynqmp_cfc400x"
+   ]
+}
diff --git 
a/embeddedsw/ThirdParty/sw_services/lwip211/src/contrib/ports/xilinx/netif/xemacpsif_hw.c
 
b/embeddedsw/ThirdParty/sw_services/lwip211/src/contrib/ports/xilinx/netif/xemacpsif_hw.c
index a1fdeda..f0ddf84 100644
--- 
a/embeddedsw/ThirdParty/sw_services/lwip211/src/contrib/ports/xilinx/netif/xemacpsif_hw.c
+++ 
b/embeddedsw/ThirdParty/sw_services/lwip211/src/contrib/ports/xilinx/netif/xemacpsif_hw.c
@@ -74,6 +74,12 @@ void init_emacps(xemacpsif_s *xemacps, struct netif *netif)
 
xemacpsp = >emacps;
 
+#ifdef __rtems__
+#ifdef ZYNQMP_USE_SGMII
+   XEmacPs_SetOptions(xemacpsp, XEMACPS_SGMII_ENABLE_OPTION);
+#endif
+#endif
+
 #ifdef ZYNQMP_USE_JUMBO
XEmacPs_SetOptions(xemacpsp, XEMACPS_JUMBO_ENABLE_OPTION);
 #endif
diff --git a/rtemslwip/zynqmp/lwipopts.h b/rtemslwip/zynqmp/lwipopts.h
index b9fe277..feabe73 100644
--- a/rtemslwip/zynqmp/lwipopts.h
+++ b/rtemslwip/zynqmp/lwipopts.h
@@ -123,4 +123,6 @@
 #define portTICK_RATE_MS ( rtems_clock_get_ticks_per_second() * 1000 )
 #define vTaskDelay( x ) sys_arch_delay( x )
 
+#include 
+
 #endif /* __LWIPOPTS_H__ */
diff --git a/rtemslwip/zynqmp_cfc400x/lwipbspopts.h 
b/rtemslwip/zynqmp_cfc400x/lwipbspopts.h
new file mode 100644
index 000..27eb6a9
--- /dev/null
+++ b/rtemslwip/zynqmp_cfc400x/lwipbspopts.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2022 On-Line Applications Research Corporation (OAR)
+ * Written by Kinsey Moore 
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *notice, this list of conditions and the following disclaimer in the
+ *documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef RTEMSLWIP_LWIPBSPOPTS_H
+#define RTEMSLWIP_LWIPBSPOPTS_H
+
+/* Use SGMII mode for all interfaces on the CFC-400X */
+#define ZYNQMP_USE_SGMII
+
+#endif /* RTEMSLWIP_LWIPBSPOPTS_H */
diff --git a/rtemslwip/zynqmp_cfc400x/netstart.c 
b/rtemslwip/zynqmp_cfc400x/netstart.c
new file mode 100644
index 000..d19b36c
--- /dev/null
+++ b/rtemslwip/zynqmp_cfc400x/netstart.c
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2022 On-Line Applications Research Corporation (OAR)
+ * Written by Kinsey Moore 
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following 

Re: [PATCH] cpukit/fdt: Fix typos and clarify params

2022-11-10 Thread Chris Johns
OK.

Thanks
Chris

On 10/11/22 4:01 am, Kinsey Moore wrote:
> ---
>  cpukit/include/rtems/rtems-fdt.h | 24 +++-
>  1 file changed, 15 insertions(+), 9 deletions(-)
> 
> diff --git a/cpukit/include/rtems/rtems-fdt.h 
> b/cpukit/include/rtems/rtems-fdt.h
> index 3919593582..18e04352aa 100644
> --- a/cpukit/include/rtems/rtems-fdt.h
> +++ b/cpukit/include/rtems/rtems-fdt.h
> @@ -256,7 +256,7 @@ int rtems_fdt_register (const void* blob, 
> rtems_fdt_handle* handle);
>  
>  /**
>   * Unload a device tree blob or DTB file and release any memory allocated 
> when
> - * loading. The blob is removed from the list of registered.
> + * loading. The blob is removed from the list if registered.
>   *
>   * @param blob_desc A valid blob descriptor.
>   * @return int If less than 0 it is an error code else 0 is return on 
> success.
> @@ -296,7 +296,7 @@ int rtems_fdt_get_mem_rsv (rtems_fdt_handle* handle,
>   * larger string, such as a full path.
>   *
>   * @param blob_desc A valid blob descriptor.
> - * @param arentoffset Structure block offset of a node
> + * @param parentoffset Structure block offset of a node
>   * @param name Name of the subnode to locate.
>   * @param namelen Number of characters of name to consider.
>   * @return int If less than 0 it is an error code else the node offset is
> @@ -345,7 +345,9 @@ int rtems_fdt_path_offset (rtems_fdt_handle* handle, 
> const char* path);
>   *
>   * @param handle The FDT handle to the current blob.
>   * @param nodeoffset Structure block offset of the starting node.
> - * @param length Pointer to an integer variable (will be overwritten) or 
> NULL.
> + * @param length Pointer to an integer variable or NULL. If non-NULL, this 
> will
> + *   be overwritten with either the length in bytes or the error
> + *   code.
>   * @return const char* The node's name on success or NULL on error. The 
> length
>   * if non-NULL will hold the error code.
>   */
> @@ -378,7 +380,9 @@ int rtems_fdt_next_prop_offset(rtems_fdt_handle* handle, 
> int propoffset);
>   * @param handle The FDT handle to the current blob.
>   * @param propoffset Property offset
>   * @param name If not NULL set the pointer to the name string.
> - * @param length Pointer to an integer variable (will be overwritten) or 
> NULL.
> + * @param length Pointer to an integer variable or NULL. If non-NULL, this 
> will
> + *   be overwritten with either the length in bytes or the error
> + *   code.
>   * @return const void* The node's value data.
>   */
>  const void* rtems_fdt_getprop_by_offset(rtems_fdt_handle* handle,
> @@ -395,8 +399,9 @@ const void* rtems_fdt_getprop_by_offset(rtems_fdt_handle* 
> handle,
>   * @param nodeoffset Offset of the node whose property to find
>   * @param name The name of the property to find
>   * @param namelen The number of characters of name to consider
> - * @param length A pointer to an integer variable (will be overwritten) or
> - *   NULL.
> + * @param length Pointer to an integer variable or NULL. If non-NULL, this 
> will
> + *   be overwritten with either the length in bytes or the error
> + *   code.
>   * @return const void* The node's property on success or NULL on error. The
>   * length if non-NULL will hold the error code.
>   */
> @@ -416,8 +421,9 @@ const void *rtems_fdt_getprop_namelen (rtems_fdt_handle* 
> handle,
>   * @param handle The FDT handle to the current blob.
>   * @param nodeoffset The offset of the node whose property to find.
>   * @param name The name of the property to find.
> - * @param length A pointer to an integer variable (will be overwritten) or
> - *   NULL.
> + * @param length Pointer to an integer variable or NULL. If non-NULL, this 
> will
> + *   be overwritten with either the length in bytes or the error
> + *   code.
>   * @return const void* The node's property on success or NULL on error. The
>   * length if non-NULL will hold the error code.
>   */
> @@ -427,7 +433,7 @@ const void *rtems_fdt_getprop (rtems_fdt_handle* handle,
> int*  length);
>  
>  /**
> - * Retrieve the phandle of a given of the device tree node at structure block
> + * Retrieve the phandle of the device tree node at structure block
>   * offset nodeoffset.
>   *
>   * @param handle The FDT handle to the current blob.
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel


Re: [PATCH rtems-lwip] rtemslwip: Add note to intentionally blank files

2022-11-10 Thread Vijay Kumar Banerjee
Looks good to me.

Do we need copyright statements for these files?

On Wed, Nov 9, 2022 at 9:49 PM Kinsey Moore  wrote:
>
> ---
>  rtemslwip/bsd_compat_include/arpa/nameser.h   | 1 +
>  rtemslwip/bsd_compat_include/machine/rtems-bsd-kernel-space.h | 1 +
>  rtemslwip/bsd_compat_include/machine/rtems-bsd-user-space.h   | 1 +
>  rtemslwip/bsd_compat_include/net/if_var.h | 1 +
>  rtemslwip/bsd_compat_include/netinet/in_systm.h   | 1 +
>  rtemslwip/bsd_compat_include/netinet/in_var.h | 1 +
>  rtemslwip/bsd_compat_include/netinet/ip.h | 1 +
>  rtemslwip/bsd_compat_include/sys/kernel.h | 1 +
>  rtemslwip/bsd_compat_include/sysexits.h   | 1 +
>  rtemslwip/include/arch/eth_lwip_default.h | 1 +
>  rtemslwip/include/bspconfig.h | 1 +
>  rtemslwip/xilinx/semphr.h | 1 +
>  rtemslwip/xilinx/timers.h | 1 +
>  rtemslwip/xilinx/xil_smc.h| 1 +
>  rtemslwip/xilinx/xil_spinlock.h   | 1 +
>  15 files changed, 15 insertions(+)
>
> diff --git a/rtemslwip/bsd_compat_include/arpa/nameser.h 
> b/rtemslwip/bsd_compat_include/arpa/nameser.h
> index e69de29..d35e631 100644
> --- a/rtemslwip/bsd_compat_include/arpa/nameser.h
> +++ b/rtemslwip/bsd_compat_include/arpa/nameser.h
> @@ -0,0 +1 @@
> +/* This file is a stub and intentionally left blank */
> diff --git a/rtemslwip/bsd_compat_include/machine/rtems-bsd-kernel-space.h 
> b/rtemslwip/bsd_compat_include/machine/rtems-bsd-kernel-space.h
> index e69de29..d35e631 100644
> --- a/rtemslwip/bsd_compat_include/machine/rtems-bsd-kernel-space.h
> +++ b/rtemslwip/bsd_compat_include/machine/rtems-bsd-kernel-space.h
> @@ -0,0 +1 @@
> +/* This file is a stub and intentionally left blank */
> diff --git a/rtemslwip/bsd_compat_include/machine/rtems-bsd-user-space.h 
> b/rtemslwip/bsd_compat_include/machine/rtems-bsd-user-space.h
> index e69de29..d35e631 100644
> --- a/rtemslwip/bsd_compat_include/machine/rtems-bsd-user-space.h
> +++ b/rtemslwip/bsd_compat_include/machine/rtems-bsd-user-space.h
> @@ -0,0 +1 @@
> +/* This file is a stub and intentionally left blank */
> diff --git a/rtemslwip/bsd_compat_include/net/if_var.h 
> b/rtemslwip/bsd_compat_include/net/if_var.h
> index e69de29..d35e631 100644
> --- a/rtemslwip/bsd_compat_include/net/if_var.h
> +++ b/rtemslwip/bsd_compat_include/net/if_var.h
> @@ -0,0 +1 @@
> +/* This file is a stub and intentionally left blank */
> diff --git a/rtemslwip/bsd_compat_include/netinet/in_systm.h 
> b/rtemslwip/bsd_compat_include/netinet/in_systm.h
> index e69de29..d35e631 100644
> --- a/rtemslwip/bsd_compat_include/netinet/in_systm.h
> +++ b/rtemslwip/bsd_compat_include/netinet/in_systm.h
> @@ -0,0 +1 @@
> +/* This file is a stub and intentionally left blank */
> diff --git a/rtemslwip/bsd_compat_include/netinet/in_var.h 
> b/rtemslwip/bsd_compat_include/netinet/in_var.h
> index e69de29..d35e631 100644
> --- a/rtemslwip/bsd_compat_include/netinet/in_var.h
> +++ b/rtemslwip/bsd_compat_include/netinet/in_var.h
> @@ -0,0 +1 @@
> +/* This file is a stub and intentionally left blank */
> diff --git a/rtemslwip/bsd_compat_include/netinet/ip.h 
> b/rtemslwip/bsd_compat_include/netinet/ip.h
> index e69de29..d35e631 100644
> --- a/rtemslwip/bsd_compat_include/netinet/ip.h
> +++ b/rtemslwip/bsd_compat_include/netinet/ip.h
> @@ -0,0 +1 @@
> +/* This file is a stub and intentionally left blank */
> diff --git a/rtemslwip/bsd_compat_include/sys/kernel.h 
> b/rtemslwip/bsd_compat_include/sys/kernel.h
> index e69de29..d35e631 100644
> --- a/rtemslwip/bsd_compat_include/sys/kernel.h
> +++ b/rtemslwip/bsd_compat_include/sys/kernel.h
> @@ -0,0 +1 @@
> +/* This file is a stub and intentionally left blank */
> diff --git a/rtemslwip/bsd_compat_include/sysexits.h 
> b/rtemslwip/bsd_compat_include/sysexits.h
> index e69de29..d35e631 100644
> --- a/rtemslwip/bsd_compat_include/sysexits.h
> +++ b/rtemslwip/bsd_compat_include/sysexits.h
> @@ -0,0 +1 @@
> +/* This file is a stub and intentionally left blank */
> diff --git a/rtemslwip/include/arch/eth_lwip_default.h 
> b/rtemslwip/include/arch/eth_lwip_default.h
> index e69de29..d35e631 100644
> --- a/rtemslwip/include/arch/eth_lwip_default.h
> +++ b/rtemslwip/include/arch/eth_lwip_default.h
> @@ -0,0 +1 @@
> +/* This file is a stub and intentionally left blank */
> diff --git a/rtemslwip/include/bspconfig.h b/rtemslwip/include/bspconfig.h
> index e69de29..d35e631 100644
> --- a/rtemslwip/include/bspconfig.h
> +++ b/rtemslwip/include/bspconfig.h
> @@ -0,0 +1 @@
> +/* This file is a stub and intentionally left blank */
> diff --git a/rtemslwip/xilinx/semphr.h b/rtemslwip/xilinx/semphr.h
> index e69de29..d35e631 100644
> --- a/rtemslwip/xilinx/semphr.h
> +++ b/rtemslwip/xilinx/semphr.h
> @@ -0,0 +1 @@
> +/* This file is a stub 

Re: [PATCH rtems-lwip v2] lwip.py: Move bsp-specific information out

2022-11-10 Thread Vijay Kumar Banerjee
Thanks for the patch. The v2 looks good. Tested the build with beagleboneblack

On Wed, Nov 9, 2022 at 9:33 PM Kinsey Moore  wrote:
>
> This moves all BSP-specific information out of lwip.py and into JSON
> descriptions of the files required to compile the drivers for each BSP.
>
> Note that file-import.json is kept separate because it is used to manage
> updating from upstream.
> ---
>  COPYING.defs  |  23 
>  ORIGIN.defs   |   1 +
>  defs/bsps/aarch64/xilinx_zynqmp_base.json |  30 
>  .../aarch64/xilinx_zynqmp_ilp32_qemu.json |  11 ++
>  .../aarch64/xilinx_zynqmp_ilp32_zu3eg.json|  11 ++
>  .../bsps/aarch64/xilinx_zynqmp_lp64_qemu.json |  11 ++
>  .../aarch64/xilinx_zynqmp_lp64_zu3eg.json |  11 ++
>  defs/bsps/arm/beaglebone_bw_base.json |  10 ++
>  defs/bsps/arm/beagleboneblack.json|   5 +
>  defs/bsps/arm/beaglebonewhite.json|   5 +
>  defs/bsps/arm/tms570_base.json|   9 ++
>  defs/bsps/arm/tms570ls3137_hdk.json   |   5 +
>  defs/bsps/arm/tms570ls3137_hdk_intram.json|   5 +
>  defs/bsps/arm/tms570ls3137_hdk_sdram.json |   5 +
>  .../arm/tms570ls3137_hdk_with_loader.json |   5 +
>  defs/common/lwip.json |  17 +++
>  lwip.py   | 129 --
>  17 files changed, 194 insertions(+), 99 deletions(-)
>  create mode 100644 COPYING.defs
>  create mode 100644 ORIGIN.defs
>  create mode 100644 defs/bsps/aarch64/xilinx_zynqmp_base.json
>  create mode 100644 defs/bsps/aarch64/xilinx_zynqmp_ilp32_qemu.json
>  create mode 100644 defs/bsps/aarch64/xilinx_zynqmp_ilp32_zu3eg.json
>  create mode 100644 defs/bsps/aarch64/xilinx_zynqmp_lp64_qemu.json
>  create mode 100644 defs/bsps/aarch64/xilinx_zynqmp_lp64_zu3eg.json
>  create mode 100644 defs/bsps/arm/beaglebone_bw_base.json
>  create mode 100644 defs/bsps/arm/beagleboneblack.json
>  create mode 100644 defs/bsps/arm/beaglebonewhite.json
>  create mode 100644 defs/bsps/arm/tms570_base.json
>  create mode 100644 defs/bsps/arm/tms570ls3137_hdk.json
>  create mode 100644 defs/bsps/arm/tms570ls3137_hdk_intram.json
>  create mode 100644 defs/bsps/arm/tms570ls3137_hdk_sdram.json
>  create mode 100644 defs/bsps/arm/tms570ls3137_hdk_with_loader.json
>  create mode 100644 defs/common/lwip.json
>
> diff --git a/COPYING.defs b/COPYING.defs
> new file mode 100644
> index 000..d971823
> --- /dev/null
> +++ b/COPYING.defs
> @@ -0,0 +1,23 @@
> +/*
> + * Redistribution and use in source and binary forms, with or without
> + * modification, are permitted provided that the following conditions
> + * are met:
> + * 1. Redistributions of source code must retain the above copyright
> + *notice, this list of conditions and the following disclaimer.
> + * 2. Redistributions in binary form must reproduce the above copyright
> + *notice, this list of conditions and the following disclaimer in the
> + *documentation and/or other materials provided with the distribution.
> + *
> + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 
> IS"
> + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
> + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
> + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
> + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
> + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
> + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
> + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
> + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
> + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> + * POSSIBILITY OF SUCH DAMAGE.
> + */
> +
> diff --git a/ORIGIN.defs b/ORIGIN.defs
> new file mode 100644
> index 000..33c421c
> --- /dev/null
> +++ b/ORIGIN.defs
> @@ -0,0 +1 @@
> +The files under the defs/ directory are written specifically for this 
> project.
> diff --git a/defs/bsps/aarch64/xilinx_zynqmp_base.json 
> b/defs/bsps/aarch64/xilinx_zynqmp_base.json
> new file mode 100644
> index 000..515ad6e
> --- /dev/null
> +++ b/defs/bsps/aarch64/xilinx_zynqmp_base.json
> @@ -0,0 +1,30 @@
> +{
> +   "header-paths-to-import": [
> +   
> "embeddedsw/ThirdParty/sw_services/lwip211/src/contrib/ports/xilinx/include",
> +   "embeddedsw/lib/bsp/standalone/src/common",
> +   "embeddedsw/XilinxProcessorIPLib/drivers/common/src/",
> +   "embeddedsw/XilinxProcessorIPLib/drivers/scugic/src",
> +   "embeddedsw/XilinxProcessorIPLib/drivers/emacps/src",
> +   "rtemslwip/xilinx",
> +   "rtemslwip/zynqmp",
> +   "embeddedsw/lib/bsp/standalone/src/arm/ARMv8/64bit",
> +   

Re: [PATCH v2] zynqmp: Add support for the CFC-400X

2022-11-10 Thread Kinsey Moore
Hi Padmarao,
More compatibles can be added later if necessary to both the device tree in
RTEMS and the driver in RTEMS-LibBSD, but I don't see the need for either
at the moment since the ethernet portion of the device tree is intended to
be used with RTEMS-LibBSD directly. As far as the driver in 6-freebsd-12 is
concerned, all compatibles are currently equivalent and it already supports
"cdns,macb" if a BSP chooses to use that compatible. This may change when
we upgrade to the FreeBSD 13 code since the driver has gained more advanced
support for differentiating among compatibles and hardware quirks, but the
list of supported compatibles will only expand.

Kinsey

On Thu, Nov 10, 2022 at 6:50 AM  wrote:

> Hi Kinsey,
>
> The ethernet compatible "cdns,gem" is mentioned in the device tree,
> even I used same for PolarFire SoC BSP but later realised that common
> compatible for the candence GEM is "cdns,macb" used in U-Boot and
> Linux.
>
> Can we go with compatible "cdns,gem"? or will we update with
> "cdns,macb" later?
>
> Regards
> Padmarao
> > +   ethernet@ff0b {
> > +   compatible = "cdns,gem";
> > +   status = "okay";
> > +   interrupt-parent = <0x01>;
> > +   interrupts = <0x00 0x39 0x04>;
> > +   reg = <0x00 0xff0b 0x00 0x1000>;
> > +   phy-mode = "sgmii";
> > +   };
>
>
> > On Tue, 2022-11-08 at 15:56 -0600, Kinsey Moore wrote:
> >
> > This adds a BSP variant for the ZynqMP BSP family to support the
> > Innoflight CFC-400X platform. To properly support the CFC-400X,
> > device
> > trees were added to the ZynqMP platform due to both the optional
> > management interface as well as alternate physical configuration of
> > the
> > ethernet interfaces.
> > ---
> >  bsps/aarch64/xilinx-zynqmp/console/console.c  | 163
> > +-
> >  bsps/aarch64/xilinx-zynqmp/fdt/bsp_fdt.c  |  51 ++
> >  bsps/aarch64/xilinx-zynqmp/fdt/cfc400x.dts| 110 
> >  bsps/aarch64/xilinx-zynqmp/fdt/cfc400x_dtb.c  | 124 +
> >  bsps/aarch64/xilinx-zynqmp/fdt/zynqmp.dts |  94 ++
> >  bsps/aarch64/xilinx-zynqmp/fdt/zynqmp_dtb.c   |  97 +++
> >  bsps/aarch64/xilinx-zynqmp/include/bsp.h  |  15 ++
> >  .../aarch64/xilinx-zynqmp/start/bspstartmmu.c |   4 +
> >  .../aarch64/xilinx-zynqmp/bspcfc400xlp64.yml  |  21 +++
> >  .../aarch64/xilinx-zynqmp/bspqemuilp32.yml|   2 +
> >  .../aarch64/xilinx-zynqmp/bspqemulp64.yml |   2 +
> >  .../aarch64/xilinx-zynqmp/bspzu3egilp32.yml   |   2 +
> >  .../aarch64/xilinx-zynqmp/bspzu3eglp64.yml|   2 +
> >  spec/build/bsps/aarch64/xilinx-zynqmp/obj.yml |   1 +
> >  .../aarch64/xilinx-zynqmp/objfdtcfc400x.yml   |  14 ++
> >  .../aarch64/xilinx-zynqmp/objfdtzynqmp.yml|  14 ++
> >  .../bsps/aarch64/xilinx-zynqmp/optloadoff.yml |   1 +
> >  .../bsps/aarch64/xilinx-zynqmp/optramori.yml  |   1 +
> >  spec/build/cpukit/optsmp.yml  |   1 +
> >  19 files changed, 718 insertions(+), 1 deletion(-)
> >  create mode 100644 bsps/aarch64/xilinx-zynqmp/fdt/bsp_fdt.c
> >  create mode 100644 bsps/aarch64/xilinx-zynqmp/fdt/cfc400x.dts
> >  create mode 100644 bsps/aarch64/xilinx-zynqmp/fdt/cfc400x_dtb.c
> >  create mode 100644 bsps/aarch64/xilinx-zynqmp/fdt/zynqmp.dts
> >  create mode 100644 bsps/aarch64/xilinx-zynqmp/fdt/zynqmp_dtb.c
> >  create mode 100644 spec/build/bsps/aarch64/xilinx-
> > zynqmp/bspcfc400xlp64.yml
> >  create mode 100644 spec/build/bsps/aarch64/xilinx-
> > zynqmp/objfdtcfc400x.yml
> >  create mode 100644 spec/build/bsps/aarch64/xilinx-
> > zynqmp/objfdtzynqmp.yml
> >
> > diff --git a/bsps/aarch64/xilinx-zynqmp/console/console.c
> > b/bsps/aarch64/xilinx-zynqmp/console/console.c
> > index d1948f1a0c..d546db8535 100644
> > --- a/bsps/aarch64/xilinx-zynqmp/console/console.c
> > +++ b/bsps/aarch64/xilinx-zynqmp/console/console.c
> > @@ -9,7 +9,7 @@
> >   */
> >
> >  /*
> > - * Copyright (C) 2020 On-Line Applications Research Corporation
> > (OAR)
> > + * Copyright (C) 2022 On-Line Applications Research Corporation
> > (OAR)
> >   * Written by Kinsey Moore 
> >   *
> >   * Redistribution and use in source and binary forms, with or
> > without
> > @@ -36,13 +36,165 @@
> >
> >  #include 
> >  #include 
> > +#include 
> > +#include 
> >  #include 
> >
> > +#include 
> > +#include 
> >  #include 
> > +
> >  #include 
> >
> >  #include 
> >
> > +#include 
> > +
> > +uint32_t mgmt_uart_reg_shift = 0;
> > +static uint8_t get_register(uintptr_t addr, uint8_t i)
> > +{
> > +  volatile uint8_t *reg = (uint8_t *) addr;
> > +
> > +  i <<= mgmt_uart_reg_shift;
> > +  return reg [i];
> > +}
> > +
> > +static void set_register(uintptr_t addr, uint8_t i, uint8_t val)
> > +{
> > +  volatile uint8_t *reg = (uint8_t *) addr;
> > +
> > +  i <<= mgmt_uart_reg_shift;
> > +  reg [i] = val;
> > +}
> > +
> > +static ns16550_context zynqmp_mgmt_uart_context = {
> > +  .base = 

Re: [PATCH v2] zynqmp: Add support for the CFC-400X

2022-11-10 Thread Padmarao.Begari
Hi Kinsey,

The ethernet compatible "cdns,gem" is mentioned in the device tree,
even I used same for PolarFire SoC BSP but later realised that common
compatible for the candence GEM is "cdns,macb" used in U-Boot and
Linux.

Can we go with compatible "cdns,gem"? or will we update with
"cdns,macb" later?  

Regards
Padmarao
> +   ethernet@ff0b {
> +   compatible = "cdns,gem";
> +   status = "okay";
> +   interrupt-parent = <0x01>;
> +   interrupts = <0x00 0x39 0x04>;
> +   reg = <0x00 0xff0b 0x00 0x1000>;
> +   phy-mode = "sgmii";
> +   };


> On Tue, 2022-11-08 at 15:56 -0600, Kinsey Moore wrote:
> 
> This adds a BSP variant for the ZynqMP BSP family to support the
> Innoflight CFC-400X platform. To properly support the CFC-400X,
> device
> trees were added to the ZynqMP platform due to both the optional
> management interface as well as alternate physical configuration of
> the
> ethernet interfaces.
> ---
>  bsps/aarch64/xilinx-zynqmp/console/console.c  | 163
> +-
>  bsps/aarch64/xilinx-zynqmp/fdt/bsp_fdt.c  |  51 ++
>  bsps/aarch64/xilinx-zynqmp/fdt/cfc400x.dts| 110 
>  bsps/aarch64/xilinx-zynqmp/fdt/cfc400x_dtb.c  | 124 +
>  bsps/aarch64/xilinx-zynqmp/fdt/zynqmp.dts |  94 ++
>  bsps/aarch64/xilinx-zynqmp/fdt/zynqmp_dtb.c   |  97 +++
>  bsps/aarch64/xilinx-zynqmp/include/bsp.h  |  15 ++
>  .../aarch64/xilinx-zynqmp/start/bspstartmmu.c |   4 +
>  .../aarch64/xilinx-zynqmp/bspcfc400xlp64.yml  |  21 +++
>  .../aarch64/xilinx-zynqmp/bspqemuilp32.yml|   2 +
>  .../aarch64/xilinx-zynqmp/bspqemulp64.yml |   2 +
>  .../aarch64/xilinx-zynqmp/bspzu3egilp32.yml   |   2 +
>  .../aarch64/xilinx-zynqmp/bspzu3eglp64.yml|   2 +
>  spec/build/bsps/aarch64/xilinx-zynqmp/obj.yml |   1 +
>  .../aarch64/xilinx-zynqmp/objfdtcfc400x.yml   |  14 ++
>  .../aarch64/xilinx-zynqmp/objfdtzynqmp.yml|  14 ++
>  .../bsps/aarch64/xilinx-zynqmp/optloadoff.yml |   1 +
>  .../bsps/aarch64/xilinx-zynqmp/optramori.yml  |   1 +
>  spec/build/cpukit/optsmp.yml  |   1 +
>  19 files changed, 718 insertions(+), 1 deletion(-)
>  create mode 100644 bsps/aarch64/xilinx-zynqmp/fdt/bsp_fdt.c
>  create mode 100644 bsps/aarch64/xilinx-zynqmp/fdt/cfc400x.dts
>  create mode 100644 bsps/aarch64/xilinx-zynqmp/fdt/cfc400x_dtb.c
>  create mode 100644 bsps/aarch64/xilinx-zynqmp/fdt/zynqmp.dts
>  create mode 100644 bsps/aarch64/xilinx-zynqmp/fdt/zynqmp_dtb.c
>  create mode 100644 spec/build/bsps/aarch64/xilinx-
> zynqmp/bspcfc400xlp64.yml
>  create mode 100644 spec/build/bsps/aarch64/xilinx-
> zynqmp/objfdtcfc400x.yml
>  create mode 100644 spec/build/bsps/aarch64/xilinx-
> zynqmp/objfdtzynqmp.yml
> 
> diff --git a/bsps/aarch64/xilinx-zynqmp/console/console.c
> b/bsps/aarch64/xilinx-zynqmp/console/console.c
> index d1948f1a0c..d546db8535 100644
> --- a/bsps/aarch64/xilinx-zynqmp/console/console.c
> +++ b/bsps/aarch64/xilinx-zynqmp/console/console.c
> @@ -9,7 +9,7 @@
>   */
> 
>  /*
> - * Copyright (C) 2020 On-Line Applications Research Corporation
> (OAR)
> + * Copyright (C) 2022 On-Line Applications Research Corporation
> (OAR)
>   * Written by Kinsey Moore 
>   *
>   * Redistribution and use in source and binary forms, with or
> without
> @@ -36,13 +36,165 @@
> 
>  #include 
>  #include 
> +#include 
> +#include 
>  #include 
> 
> +#include 
> +#include 
>  #include 
> +
>  #include 
> 
>  #include 
> 
> +#include 
> +
> +uint32_t mgmt_uart_reg_shift = 0;
> +static uint8_t get_register(uintptr_t addr, uint8_t i)
> +{
> +  volatile uint8_t *reg = (uint8_t *) addr;
> +
> +  i <<= mgmt_uart_reg_shift;
> +  return reg [i];
> +}
> +
> +static void set_register(uintptr_t addr, uint8_t i, uint8_t val)
> +{
> +  volatile uint8_t *reg = (uint8_t *) addr;
> +
> +  i <<= mgmt_uart_reg_shift;
> +  reg [i] = val;
> +}
> +
> +static ns16550_context zynqmp_mgmt_uart_context = {
> +  .base = RTEMS_TERMIOS_DEVICE_CONTEXT_INITIALIZER("Management UART
> 0"),
> +  .get_reg = get_register,
> +  .set_reg = set_register,
> +  .port = 0,
> +  .irq = 0,
> +  .clock = 0,
> +  .initial_baud = 0,
> +};
> +
> +__attribute__ ((weak)) void
> zynqmp_configure_management_console(rtems_termios_device_context
> *base)
> +{
> +  /* This SLIP-encoded watchdog command sets timeouts to 0x
> seconds. */
> +  const char mgmt_watchdog_cmd[] =
> +"\xc0\xda\x00\x00\xff\xff\xff\xff\xff\x00\xff\xff\xff\xffM#\xc0"
> ;
> +
> +  /* Send the system watchdog configuration command */
> +  for (int i = 0; i < sizeof(mgmt_watchdog_cmd); i++) {
> +ns16550_polled_putchar(base, mgmt_watchdog_cmd[i]);
> +  }
> +}
> +
> +static void zynqmp_management_console_init(void)
> +{
> +  /* Find the management console in the device tree */
> +  rtems_fdt_handle fdt_handle;
> +  const uint32_t *prop;
> +  uint32_t outprop[4];
> +  int proplen;
> +  int 

Re: [5 DOCS PATCH] waf: Backport from main build fixes

2022-11-10 Thread Chris Johns
On 10/11/22 3:40 pm, Gedare Bloom wrote:
> looks fine. i'm not sure where
> +   "review":   ("Gerrit Code Review",
> "https://review.rtems.org/;),
> came from, but I see it in before too.

It came from the initial work Amar did in moving us to the RST format.

There is no service provided and I have not removed the label.

Chris
___
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel