Re: [PATCH] arm/gicv3: Fix building arm/r52

2022-06-27 Thread Kinsey Moore

On 6/27/2022 01:27, Sebastian Huber wrote:

On 27/06/2022 05:02, Chris Johns wrote:

On 24/6/2022 7:44 pm, Sebastian Huber wrote:

On 20.06.22 04:03, chr...@rtems.org wrote:

From: Chris Johns 

---
   bsps/include/dev/irq/arm-gicv3.h | 5 +
   1 file changed, 5 insertions(+)

diff --git a/bsps/include/dev/irq/arm-gicv3.h 
b/bsps/include/dev/irq/arm-gicv3.h

index a79368ebdf..aac02fa191 100644
--- a/bsps/include/dev/irq/arm-gicv3.h
+++ b/bsps/include/dev/irq/arm-gicv3.h
@@ -335,7 +335,12 @@ static void gicv3_init_cpu_interface(uint32_t 
cpu_index)

 }
       /* Enable interrupt groups 0 and 1 */
+#ifdef ARM_MULTILIB_ARCH_V4
+  WRITE_SR(ICC_IGRPEN0, 0x1);
+  WRITE_SR(ICC_IGRPEN1, 0x1);
+#else
 gic_icc_write(IGRPEN1, 1);
+#endif
 WRITE_SR(ICC_CTLR, 0x0);
   }


I have a different patch to fix this:

https://lists.rtems.org/pipermail/devel/2022-June/072056.html


Does this change work on a real aarch64 with a suitably configured 
TF-A? The
security profile of the TF-A needs to disable EL1 access to these 
registers to

see the issue.


I don't have a hardware to test this change. I can do tests on a 
Cortex-R52 hardware.


For the Cortex-R52, group 0 interrupts are signaled through FIQ 
exceptions and group 1 interrupts are signaled through IRQ exceptions. 
This processor has no secore/non-secure states.
I have reverified that this code works on my ZCU102 (ZynqMP) dev board 
with just the write to IGRPEN1, but I'm not sure it's what Chris would 
consider a suitably configured TF-A since it's a bit stale.



Kinsey

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

Re: [PATCH] irq/arm-gicv3.h: Enable interrupt groups 0 and 1

2022-06-27 Thread Kinsey Moore

On 6/26/2022 22:37, Chris Johns wrote:

On 24/6/2022 7:43 pm, Sebastian Huber wrote:

The GICv3 support is used by AArch32 (indicated by the ARM_MULTILIB_ARCH_V4
define) and AArch64 targets.  Use the existing WRITE_SR() abstraction to access
the interrupt group 0 and 1 enable registers.  This fixes the build for the
AArch32 target.

It needs to be tested on hardware before I am OK with it. It also needs EL3
firmware, ie TF-A, to correctly initialise a system.

I would be OK with qemu if it can be shown it honours the security level
correctly. I however have no time to determine this as I have Versal hardware
that did not like the changes.
I, unfortunately, have no way to test this on hardware but I would 
agree. I would not be inclined to trust qemu in this regard.

---
  bsps/include/dev/irq/arm-gicv3.h | 23 ++-
  1 file changed, 6 insertions(+), 17 deletions(-)

diff --git a/bsps/include/dev/irq/arm-gicv3.h b/bsps/include/dev/irq/arm-gicv3.h
index a79368ebdf..7db7bad034 100644
--- a/bsps/include/dev/irq/arm-gicv3.h
+++ b/bsps/include/dev/irq/arm-gicv3.h
@@ -116,9 +116,11 @@ extern "C" {
  #else /* ARM_MULTILIB_ARCH_V4 */
  
  /* AArch64 GICv3 registers are not named in GCC */

The FreeBSD would suggest this is not entirely true? May be it is for aarch32?
IIRC, a select few were named and usable in GCC, but the vast majority 
were not. This may have gotten better with more recent GCC releases 
since this comment was written more than 2 years ago.



-#define ICC_IGRPEN0 "S3_0_C12_C12_6, %0"
-#define ICC_IGRPEN1 "S3_0_C12_C12_7, %0"
+#define ICC_IGRPEN0_EL1 "S3_0_C12_C12_6, %0"
+#define ICC_IGRPEN1_EL1 "S3_0_C12_C12_7, %0"

This looks like it is only a label change and so it is the same opcode. Is that
correct?

According to the ARMv8 TRM, this is the full proper name for it.



  #define ICC_IGRPEN1_EL3 "S3_6_C12_C12_7, %0"
+#define ICC_IGRPEN0 ICC_IGRPEN0_EL1
+#define ICC_IGRPEN1 ICC_IGRPEN1_EL1
  #define ICC_PMR "S3_0_C4_C6_0, %0"
  #define ICC_EOIR1   "S3_0_C12_C12_1, %0"
  #define ICC_SRE "S3_0_C12_C12_5, %0"
@@ -300,20 +302,6 @@ static void gicv3_init_dist(volatile gic_dist *dist)
}
  }
  
-/*

- * A better way to access these registers than special opcodes
- */
-#define isb() __asm __volatile("isb" : : : "memory")
-
-#define  WRITE_SPECIALREG(reg, _val)\
-  __asm __volatile("msr  " __STRING(reg) ", %0" : : "r"((uint64_t)_val))
-
-#define  gic_icc_write(reg, val)\
-do {\
-  WRITE_SPECIALREG(icc_ ##reg ##_el1, val); \
-  isb();\
-} while (0)
-
  static void gicv3_init_cpu_interface(uint32_t cpu_index)
  {
uint32_t sre_value = 0x7;
@@ -335,7 +323,8 @@ static void gicv3_init_cpu_interface(uint32_t cpu_index)
}
  
/* Enable interrupt groups 0 and 1 */

-  gic_icc_write(IGRPEN1, 1);'

This has been tested and works on a Versal.


+  WRITE_SR(ICC_IGRPEN0, 0x1);

This crashed in EL1 on a Versal with 2021.2 TF-A.

Why do you need to set this here?


+  WRITE_SR(ICC_IGRPEN1, 0x1);

This instruction also generated an exception. It has been a while but I am
pretty sure I had to comment this one and when I did no interrupts happened. The
code I ported from FreeBSD worked.

I also think the FreeBSD calls are easier to review and so maintain. I find
those ARM type registers difficult to find and check.
The opcode S3_0_C12_C12_7 should be identical in behavior and assembly 
with the name ICC_IGRPEN1_EL1. It's spelled out in the ARMv8 TRM on 
D12-3006.


Kinsey

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


[PATCH 04/13] bsps/arm/beagle: Change license to BSD-2

2022-06-27 Thread Joel Sherrill
Updates #3053.
---
 bsps/arm/beagle/start/bspstart.c  | 25 ++---
 bsps/arm/beagle/start/bspstarthooks.c | 25 ++---
 2 files changed, 44 insertions(+), 6 deletions(-)

diff --git a/bsps/arm/beagle/start/bspstart.c b/bsps/arm/beagle/start/bspstart.c
index 8ad7a8cc36..83138f29dd 100644
--- a/bsps/arm/beagle/start/bspstart.c
+++ b/bsps/arm/beagle/start/bspstart.c
@@ -1,9 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
 /*
  * Copyright (c) 2013 embedded brains GmbH.  All rights reserved.
  *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * 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.
  */
 
 #include 
diff --git a/bsps/arm/beagle/start/bspstarthooks.c 
b/bsps/arm/beagle/start/bspstarthooks.c
index bdbdac29e6..3291c698b7 100644
--- a/bsps/arm/beagle/start/bspstarthooks.c
+++ b/bsps/arm/beagle/start/bspstarthooks.c
@@ -1,9 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
 /*
  * Copyright (c) 2013 embedded brains GmbH.  All rights reserved.
  *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * 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.
  */
 
 #include 
-- 
2.24.4

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


[PATCH 13/13] bsps/arm/realview-pbx-a9: Change license to BSD-2

2022-06-27 Thread Joel Sherrill
Updates #3053.
---
 .../realview-pbx-a9/console/console-config.c  | 25 ---
 .../realview-pbx-a9/console/console-polled.c  | 25 ---
 bsps/arm/realview-pbx-a9/include/bsp.h| 25 ---
 .../arm/realview-pbx-a9/include/bsp/console.h | 25 ---
 bsps/arm/realview-pbx-a9/include/bsp/irq.h| 25 ---
 bsps/arm/realview-pbx-a9/include/tm27.h   | 25 ---
 bsps/arm/realview-pbx-a9/start/bspreset.c | 25 ---
 bsps/arm/realview-pbx-a9/start/bspsmp.c   | 25 ---
 bsps/arm/realview-pbx-a9/start/bspstart.c | 25 ---
 .../arm/realview-pbx-a9/start/bspstarthooks.c | 25 ---
 bsps/arm/realview-pbx-a9/start/fb-config.c| 25 ---
 11 files changed, 242 insertions(+), 33 deletions(-)

diff --git a/bsps/arm/realview-pbx-a9/console/console-config.c 
b/bsps/arm/realview-pbx-a9/console/console-config.c
index 73523660a5..17fe7ef3cb 100644
--- a/bsps/arm/realview-pbx-a9/console/console-config.c
+++ b/bsps/arm/realview-pbx-a9/console/console-config.c
@@ -1,9 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
 /*
  * Copyright (c) 2013-2014 embedded brains GmbH.  All rights reserved.
  *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * 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.
  */
 
 #include 
diff --git a/bsps/arm/realview-pbx-a9/console/console-polled.c 
b/bsps/arm/realview-pbx-a9/console/console-polled.c
index 2b6044846c..25f4583cf2 100644
--- a/bsps/arm/realview-pbx-a9/console/console-polled.c
+++ b/bsps/arm/realview-pbx-a9/console/console-polled.c
@@ -1,9 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
 /*
  * Copyright (c) 2013, 2018 embedded brains GmbH.  All rights reserved.
  *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * 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.
  */
 
 #include 
diff --git a/bsps/arm/realview-pbx-a9/include/bsp.h 
b/bsps/arm/realview-pbx-a9/include/bsp.h
index 39023c3c91..d49c97663a 100644
--- a/bsps/arm/realview-pbx-a9/include/bsp.h
+++ b/bsps/arm/realview-pbx-a9/include/bsp.h
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
 /**
  * @file
  *
@@ -9,9 +11,26

[PATCH 11/13] bsps/arm/lpc32xx: Change license to BSD-2

2022-06-27 Thread Joel Sherrill
Updates #3053.
---
 bsps/arm/lpc32xx/console/console-config.c | 25 ---
 bsps/arm/lpc32xx/console/hsu.c| 25 ---
 bsps/arm/lpc32xx/i2c/i2c.c| 25 ---
 bsps/arm/lpc32xx/include/bsp.h| 25 ---
 bsps/arm/lpc32xx/include/bsp/boot.h   | 25 ---
 bsps/arm/lpc32xx/include/bsp/emc.h| 25 ---
 bsps/arm/lpc32xx/include/bsp/hsu.h| 25 ---
 bsps/arm/lpc32xx/include/bsp/i2c.h| 25 ---
 bsps/arm/lpc32xx/include/bsp/irq.h| 25 ---
 .../lpc32xx/include/bsp/lpc-clock-config.h| 25 ---
 .../lpc32xx/include/bsp/lpc-ethernet-config.h | 25 ---
 bsps/arm/lpc32xx/include/bsp/mmu.h| 25 ---
 bsps/arm/lpc32xx/include/tm27.h   | 25 ---
 bsps/arm/lpc32xx/irq/irq.c| 25 ---
 .../lpc32xx/nand/nand-mlc-erase-block-safe.c  | 25 ---
 bsps/arm/lpc32xx/nand/nand-mlc-read-blocks.c  | 25 ---
 bsps/arm/lpc32xx/nand/nand-mlc-write-blocks.c | 25 ---
 bsps/arm/lpc32xx/nand/nand-mlc.c  | 25 ---
 bsps/arm/lpc32xx/nand/nand-select.c   | 25 ---
 bsps/arm/lpc32xx/rtc/rtc-config.c | 25 ---
 bsps/arm/lpc32xx/start/boot.c | 25 ---
 bsps/arm/lpc32xx/start/bspidle.c  | 25 ---
 bsps/arm/lpc32xx/start/bspreset.c | 25 ---
 bsps/arm/lpc32xx/start/bspstart.c | 25 ---
 bsps/arm/lpc32xx/start/bspstarthooks.c| 25 ---
 bsps/arm/lpc32xx/start/emc.c  | 25 ---
 bsps/arm/lpc32xx/start/restart.c  | 25 ---
 bsps/arm/lpc32xx/start/system-clocks.c| 25 ---
 bsps/arm/lpc32xx/start/timer.c| 25 ---
 29 files changed, 638 insertions(+), 87 deletions(-)

diff --git a/bsps/arm/lpc32xx/console/console-config.c 
b/bsps/arm/lpc32xx/console/console-config.c
index 9d7b76fe9a..f89d8af66e 100644
--- a/bsps/arm/lpc32xx/console/console-config.c
+++ b/bsps/arm/lpc32xx/console/console-config.c
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
 /**
  * @file
  *
@@ -9,9 +11,26 @@
 /*
  * Copyright (c) 2009-2014 embedded brains GmbH.  All rights reserved.
  *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * 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.
  */
 
 #include 
diff --git a/bsps/arm/lpc32xx/console/hsu.c b/bsps/arm/lpc32xx/console/hsu.c
index 5f0a42a797..9181d6f734 100644
--- a/bsps/arm/lpc32xx/console/hsu.c
+++ b/bsps/arm/lpc32xx/console/hsu.c
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
 /**
  * @file
  *
@@ -9,9 +11,26 @@
 /*
  * Copyright (c) 2010-2014 embedded brains GmbH.  All rights reserved.
  *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * 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 co

[PATCH 10/13] bsps/arm/lpc24xx: Change license to BSD-2

2022-06-27 Thread Joel Sherrill
Updates #3053.
---
 bsps/arm/lpc24xx/console/console-config.c | 25 ---
 bsps/arm/lpc24xx/console/uart-probe-1.c   | 25 ---
 bsps/arm/lpc24xx/console/uart-probe-2.c   | 25 ---
 bsps/arm/lpc24xx/console/uart-probe-3.c   | 25 ---
 bsps/arm/lpc24xx/fb/lcd.c | 25 ---
 bsps/arm/lpc24xx/include/bsp.h| 25 ---
 bsps/arm/lpc24xx/include/bsp/dma.h| 25 ---
 bsps/arm/lpc24xx/include/bsp/io.h | 25 ---
 bsps/arm/lpc24xx/include/bsp/irq.h| 25 ---
 bsps/arm/lpc24xx/include/bsp/lcd.h| 25 ---
 .../lpc24xx/include/bsp/lpc-clock-config.h| 25 ---
 .../lpc24xx/include/bsp/lpc-ethernet-config.h | 25 ---
 bsps/arm/lpc24xx/include/bsp/lpc17xx.h| 25 ---
 bsps/arm/lpc24xx/include/bsp/lpc24xx.h| 25 ---
 bsps/arm/lpc24xx/include/bsp/start-config.h   | 25 ---
 bsps/arm/lpc24xx/include/bsp/system-clocks.h  | 25 ---
 bsps/arm/lpc24xx/irq/irq-dispatch.c   | 25 ---
 bsps/arm/lpc24xx/irq/irq.c| 25 ---
 bsps/arm/lpc24xx/rtc/rtc-config.c | 25 ---
 bsps/arm/lpc24xx/start/bspidle.c  | 25 ---
 bsps/arm/lpc24xx/start/bspreset-armv4.c   | 25 ---
 bsps/arm/lpc24xx/start/bspstart.c | 25 ---
 bsps/arm/lpc24xx/start/bspstarthooks.c| 25 ---
 bsps/arm/lpc24xx/start/dma-copy.c | 25 ---
 bsps/arm/lpc24xx/start/dma.c  | 25 ---
 bsps/arm/lpc24xx/start/fb-config.c| 25 ---
 bsps/arm/lpc24xx/start/io.c   | 25 ---
 bsps/arm/lpc24xx/start/restart.c  | 25 ---
 .../lpc24xx/start/start-config-emc-dynamic.c  | 25 ---
 .../lpc24xx/start/start-config-emc-static.c   | 25 ---
 bsps/arm/lpc24xx/start/start-config-mpu.c | 25 ---
 bsps/arm/lpc24xx/start/start-config-pinsel.c  | 25 ---
 bsps/arm/lpc24xx/start/system-clocks.c| 25 ---
 bsps/arm/lpc24xx/start/timer.c| 25 ---
 34 files changed, 748 insertions(+), 102 deletions(-)

diff --git a/bsps/arm/lpc24xx/console/console-config.c 
b/bsps/arm/lpc24xx/console/console-config.c
index 2ca3426468..0160bfcd55 100644
--- a/bsps/arm/lpc24xx/console/console-config.c
+++ b/bsps/arm/lpc24xx/console/console-config.c
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
 /**
  * @file
  *
@@ -9,9 +11,26 @@
 /*
  * Copyright (c) 2008-2014 embedded brains GmbH.  All rights reserved.
  *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * 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.
  */
 
 #include 
diff --git a/bsps/arm/lpc24xx/console/uart-probe-1.c 
b/bsps/arm/lpc24xx/console/uart-probe-1.c
index 8a4c148a0d..b6ec6e1e0d 100644
--- a/bsps/arm/lpc24xx/console/uart-probe-1.c
+++ b/bsps/arm/lpc24xx/console/uart-probe-1.c
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
 /**
  * @file
  *
@@ -9,9 +11,26 @@
 /*
  * Copyright (c) 2011-2014 embedded brains GmbH.  All rights reserved.
  *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.

[PATCH 12/13] bsps/arm/raspberrypi: Change license to BSD-2

2022-06-27 Thread Joel Sherrill
Updates #3053.
---
 bsps/arm/raspberrypi/start/bspsmp.c  | 25 +---
 bsps/arm/raspberrypi/start/bspsmp_init.c | 25 +---
 2 files changed, 44 insertions(+), 6 deletions(-)

diff --git a/bsps/arm/raspberrypi/start/bspsmp.c 
b/bsps/arm/raspberrypi/start/bspsmp.c
index 9dcfb0fb03..0ea54c1442 100644
--- a/bsps/arm/raspberrypi/start/bspsmp.c
+++ b/bsps/arm/raspberrypi/start/bspsmp.c
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
 /**
  * @file
  *
@@ -18,9 +20,26 @@
  * GSoC 2015 project and Altera Cyclone-V SMP code
  * by embedded brains GmbH
  *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * 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.
  */
 
 #include 
diff --git a/bsps/arm/raspberrypi/start/bspsmp_init.c 
b/bsps/arm/raspberrypi/start/bspsmp_init.c
index eed5b44fa9..600eb63d47 100644
--- a/bsps/arm/raspberrypi/start/bspsmp_init.c
+++ b/bsps/arm/raspberrypi/start/bspsmp_init.c
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
 /**
  * @file
  *
@@ -18,9 +20,26 @@
  * GSoC 2015 project and Altera Cyclone-V SMP code
  * by embedded brains GmbH
  *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * 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.
  */
 
 #include 
-- 
2.24.4

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


[PATCH 08/13] bsps/arm/lpc176x: Change license to BSD-2

2022-06-27 Thread Joel Sherrill
Updates #3053.
---
 bsps/arm/lpc176x/console/console-config.c | 25 ---
 bsps/arm/lpc176x/include/bsp.h| 25 ---
 bsps/arm/lpc176x/include/bsp/dma.h| 25 ---
 bsps/arm/lpc176x/include/bsp/irq.h| 25 ---
 .../lpc176x/include/bsp/lpc-clock-config.h| 25 ---
 bsps/arm/lpc176x/include/bsp/system-clocks.h  | 25 ---
 bsps/arm/lpc176x/irq/irq.c| 25 ---
 bsps/arm/lpc176x/rtc/rtc-config.c | 25 ---
 bsps/arm/lpc176x/start/bspidle.c  | 25 ---
 bsps/arm/lpc176x/start/bspstart.c | 25 ---
 bsps/arm/lpc176x/start/dma-copy.c | 25 ---
 bsps/arm/lpc176x/start/dma.c  | 25 ---
 bsps/arm/lpc176x/start/restart.c  | 25 ---
 bsps/arm/lpc176x/start/system-clocks.c| 25 ---
 14 files changed, 308 insertions(+), 42 deletions(-)

diff --git a/bsps/arm/lpc176x/console/console-config.c 
b/bsps/arm/lpc176x/console/console-config.c
index 17bc0c5bfc..6cb77874fc 100644
--- a/bsps/arm/lpc176x/console/console-config.c
+++ b/bsps/arm/lpc176x/console/console-config.c
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
 /**
  * @file
  *
@@ -9,9 +11,26 @@
 /*
  * Copyright (c) 2008-2014 embedded brains GmbH.  All rights reserved.
  *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * 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.
  */
 
 #include 
diff --git a/bsps/arm/lpc176x/include/bsp.h b/bsps/arm/lpc176x/include/bsp.h
index 4acff24abf..f2865f39b1 100644
--- a/bsps/arm/lpc176x/include/bsp.h
+++ b/bsps/arm/lpc176x/include/bsp.h
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
 /**
  * @file
  *
@@ -9,9 +11,26 @@
 /*
  * Copyright (c) 2008-2013 embedded brains GmbH.  All rights reserved.
  *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * 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 LIBBSP_ARM_LPC176X_BSP_H
diff --git a/bsps/arm/lpc176x/include/bsp/dma.h 
b/bsps/arm/lpc176x/include/bsp/dma.h
index ec72a6ea34..10117eb209 

[PATCH 09/13] bsps/arm/imxrt: Change license to BSD-2

2022-06-27 Thread Joel Sherrill
Updates #3053.
---
 bsps/arm/imxrt/start/bspstarthooks.c | 25 ++---
 1 file changed, 22 insertions(+), 3 deletions(-)

diff --git a/bsps/arm/imxrt/start/bspstarthooks.c 
b/bsps/arm/imxrt/start/bspstarthooks.c
index 244c13b063..684c263152 100644
--- a/bsps/arm/imxrt/start/bspstarthooks.c
+++ b/bsps/arm/imxrt/start/bspstarthooks.c
@@ -1,9 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
 /*
  * Copyright (c) 2013, 2018 embedded brains GmbH.  All rights reserved.
  *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * 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.
  */
 
 #include 
-- 
2.24.4

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


[PATCH 07/13] bsps/arm/include: Change license to BSD-2

2022-06-27 Thread Joel Sherrill
Updates #3053.
---
 bsps/arm/include/bsp/arm-a9mpcore-clock.h | 25 ---
 bsps/arm/include/bsp/arm-a9mpcore-irq.h   | 25 ---
 bsps/arm/include/bsp/arm-a9mpcore-regs.h  | 25 ---
 bsps/arm/include/bsp/arm-a9mpcore-start.h | 25 ---
 bsps/arm/include/bsp/arm-errata.h | 25 ---
 bsps/arm/include/bsp/arm-pl050-regs.h | 25 ---
 bsps/arm/include/bsp/arm-pl050.h  | 25 ---
 bsps/arm/include/bsp/arm-pl111-fb.h   | 25 ---
 bsps/arm/include/bsp/arm-pl111-regs.h | 25 ---
 bsps/arm/include/bsp/arm-release-id.h | 25 ---
 bsps/arm/include/bsp/linker-symbols.h | 25 ---
 bsps/arm/include/bsp/lpc-dma.h| 25 ---
 bsps/arm/include/bsp/lpc-emc.h| 25 ---
 bsps/arm/include/bsp/lpc-i2s.h| 25 ---
 bsps/arm/include/bsp/lpc-lcd.h| 25 ---
 bsps/arm/include/bsp/lpc-timer.h  | 25 ---
 bsps/arm/include/bsp/start.h  | 25 ---
 17 files changed, 374 insertions(+), 51 deletions(-)

diff --git a/bsps/arm/include/bsp/arm-a9mpcore-clock.h 
b/bsps/arm/include/bsp/arm-a9mpcore-clock.h
index 8d6007ba03..80e3ca4934 100644
--- a/bsps/arm/include/bsp/arm-a9mpcore-clock.h
+++ b/bsps/arm/include/bsp/arm-a9mpcore-clock.h
@@ -1,9 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
 /*
  * Copyright (c) 2013 Chris Johns .  All rights reserved.
  *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * 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 LIBBSP_ARM_SHARED_ARM_A9MPCORE_CLOCK_H
diff --git a/bsps/arm/include/bsp/arm-a9mpcore-irq.h 
b/bsps/arm/include/bsp/arm-a9mpcore-irq.h
index 60ba9f78e4..7b0f497498 100644
--- a/bsps/arm/include/bsp/arm-a9mpcore-irq.h
+++ b/bsps/arm/include/bsp/arm-a9mpcore-irq.h
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
 /**
  *  @file
  *
@@ -9,9 +11,26 @@
 /*
  * Copyright (c) 2013 embedded brains GmbH.  All rights reserved.
  *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * 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 

[PATCH 06/13] bsps/arm/imx: Change license to BSD-2

2022-06-27 Thread Joel Sherrill
Updates #3053.
---
 bsps/arm/imx/console/console-config.c | 25 ---
 bsps/arm/imx/i2c/imx-i2c.c| 25 ---
 .../include/arm/freescale/imx/imx_ecspireg.h  | 25 ---
 .../include/arm/freescale/imx/imx_gpcreg.h| 25 ---
 .../include/arm/freescale/imx/imx_i2creg.h| 25 ---
 .../include/arm/freescale/imx/imx_srcreg.h| 25 ---
 .../include/arm/freescale/imx/imx_uartreg.h   | 25 ---
 bsps/arm/imx/include/bsp.h| 25 ---
 bsps/arm/imx/include/bsp/irq.h| 25 ---
 bsps/arm/imx/include/tm27.h   | 25 ---
 bsps/arm/imx/spi/imx-ecspi.c  | 25 ---
 bsps/arm/imx/start/bspreset.c | 25 ---
 bsps/arm/imx/start/bspsmp.c   | 25 ---
 bsps/arm/imx/start/bspstart.c | 25 ---
 bsps/arm/imx/start/bspstarthooks.c| 25 ---
 bsps/arm/imx/start/ccm.c  | 25 ---
 16 files changed, 352 insertions(+), 48 deletions(-)

diff --git a/bsps/arm/imx/console/console-config.c 
b/bsps/arm/imx/console/console-config.c
index a65d7bff9f..e9e00eb421 100644
--- a/bsps/arm/imx/console/console-config.c
+++ b/bsps/arm/imx/console/console-config.c
@@ -1,9 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
 /*
  * Copyright (c) 2017 embedded brains GmbH.  All rights reserved.
  *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * 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.
  */
 
 #include 
diff --git a/bsps/arm/imx/i2c/imx-i2c.c b/bsps/arm/imx/i2c/imx-i2c.c
index a545a2913d..6799e98827 100644
--- a/bsps/arm/imx/i2c/imx-i2c.c
+++ b/bsps/arm/imx/i2c/imx-i2c.c
@@ -1,9 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
 /*
  * Copyright (c) 2017 embedded brains GmbH.  All rights reserved.
  *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * 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.
  */
 
 #include 
diff --git a/bsps/arm/imx/include/arm/freescale/imx/imx_ecspireg.h 
b/bsps/arm/imx/include/arm/freescale/imx

[PATCH 05/13] bsps/arm/csb337: Change license to BSD-2

2022-06-27 Thread Joel Sherrill
Updates #3053.
---
 bsps/arm/csb337/console/fbcons.c | 25 ++---
 bsps/arm/csb337/include/sed1356.h| 25 ++---
 bsps/arm/csb337/start/umonsupp.c | 25 ++---
 bsps/arm/csb337/umon/tfsDriver.c | 25 ++---
 bsps/arm/csb337/umon/umoncons.c  | 25 ++---
 bsps/arm/csb337/umon/umonrtemsglue.c | 25 ++---
 6 files changed, 132 insertions(+), 18 deletions(-)

diff --git a/bsps/arm/csb337/console/fbcons.c b/bsps/arm/csb337/console/fbcons.c
index 62e840938d..b53307436a 100644
--- a/bsps/arm/csb337/console/fbcons.c
+++ b/bsps/arm/csb337/console/fbcons.c
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
 /*
  *  LCD Console Output Driver for CSBx37
  */
@@ -9,9 +11,26 @@
  *  Modified by Fernando Nicodemos 
  *  from NCB - Sistemas Embarcados Ltda. (Brazil)
  *
- *  The license and distribution terms for this file may be
- *  found in the file LICENSE in this distribution or at
- *  http://www.rtems.org/license/LICENSE.
+ * 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.
  */
 
 #include 
diff --git a/bsps/arm/csb337/include/sed1356.h 
b/bsps/arm/csb337/include/sed1356.h
index 583a2a3a77..54ec2dfeee 100644
--- a/bsps/arm/csb337/include/sed1356.h
+++ b/bsps/arm/csb337/include/sed1356.h
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
 /**
  * @file
  *
@@ -23,9 +25,26 @@
  *  Modified by Fernando Nicodemos 
  *  from NCB - Sistemas Embarcados Ltda. (Brazil)
  *
- *  The license and distribution terms for this file may be
- *  found in the file LICENSE in this distribution or at
- *  http://www.rtems.org/license/LICENSE.
+ * 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 __SED1356_h
diff --git a/bsps/arm/csb337/start/umonsupp.c b/bsps/arm/csb337/start/umonsupp.c
index d4bf731c5d..0f0ebafcc9 100644
--- a/bsps/arm/csb337/start/umonsupp.c
+++ b/bsps/arm/csb337/start/umonsupp.c
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
 /*
  *  COPYRIGHT (c) 1989-2009.
  *  On-Line Applications Research Corporation (OAR).
@@ -5,9 +7,26 @@
  *  Modified by Fernando Nicodemos 
  *  from NCB - Sistemas Embarcados Ltda. (Brazil)
  *
- *  The license and distribution terms for this file may be
- *  found in the file LICENSE in this distribution or at
- *  http://www.rtems.org/license/LICENSE.
+ * Redistribution and use in source and binary forms, with or with

[PATCH 03/13] bsps/arm/atsamv: Change license to BSD-2

2022-06-27 Thread Joel Sherrill
Updates #3053.
---
 bsps/arm/atsam/clock/systick-freq.c   | 25 ---
 bsps/arm/atsam/console/console.c  | 25 ---
 bsps/arm/atsam/console/debug-console.c| 25 ---
 bsps/arm/atsam/i2c/atsam_i2c_bus.c| 25 ---
 bsps/arm/atsam/i2c/atsam_i2c_init.c   | 25 ---
 bsps/arm/atsam/include/bsp.h  | 25 ---
 .../atsam/include/bsp/atsam-clock-config.h| 25 ---
 bsps/arm/atsam/include/bsp/atsam-i2c.h| 25 ---
 bsps/arm/atsam/include/bsp/atsam-spi.h| 25 ---
 bsps/arm/atsam/include/bsp/i2c.h  | 25 ---
 bsps/arm/atsam/include/bsp/iocopy.h   | 25 ---
 bsps/arm/atsam/include/bsp/irq.h  | 25 ---
 bsps/arm/atsam/include/bsp/pin-config.h   | 25 ---
 bsps/arm/atsam/include/bsp/power.h| 25 ---
 bsps/arm/atsam/include/bsp/sc16is752.h| 25 ---
 bsps/arm/atsam/include/bsp/spi.h  | 25 ---
 bsps/arm/atsam/rtc/rtc-config.c   | 25 ---
 bsps/arm/atsam/spi/atsam_spi_init.c   | 25 ---
 bsps/arm/atsam/spi/sc16is752.c| 25 ---
 bsps/arm/atsam/start/bspstart.c   | 25 ---
 bsps/arm/atsam/start/bspstarthooks.c  | 25 ---
 bsps/arm/atsam/start/getentropy-trng.c| 25 ---
 bsps/arm/atsam/start/iocopy.c | 25 ---
 bsps/arm/atsam/start/pin-config.c | 25 ---
 bsps/arm/atsam/start/pmc-config.c | 25 ---
 bsps/arm/atsam/start/power-clock.c| 25 ---
 bsps/arm/atsam/start/power-rtc.c  | 25 ---
 bsps/arm/atsam/start/power.c  | 25 ---
 bsps/arm/atsam/start/restart.c| 25 ---
 bsps/arm/atsam/start/sdram-config.c   | 25 ---
 30 files changed, 660 insertions(+), 90 deletions(-)

diff --git a/bsps/arm/atsam/clock/systick-freq.c 
b/bsps/arm/atsam/clock/systick-freq.c
index f89c66419f..87f6c2df59 100644
--- a/bsps/arm/atsam/clock/systick-freq.c
+++ b/bsps/arm/atsam/clock/systick-freq.c
@@ -1,9 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
 /*
  * Copyright (c) 2016 embedded brains GmbH.  All rights reserved.
  *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * 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.
  */
 
 #include 
diff --git a/bsps/arm/atsam/console/console.c b/bsps/arm/atsam/console/console.c
index 7ed41d84b3..189c42e47d 100644
--- a/bsps/arm/atsam/console/console.c
+++ b/bsps/arm/atsam/console/console.c
@@ -1,9 +1,28 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
 /*
  * Copyright (c) 2016 embedded brains GmbH.  All rights reserved.
  *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * 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

[PATCH 02/13] bsps/arm/altera-cyclone-v: Change license to BSD-2

2022-06-27 Thread Joel Sherrill
Updates #3053.
---
 .../altera-cyclone-v/console/console-config.c | 25 ---
 bsps/arm/altera-cyclone-v/i2c/i2cdrv-config.c | 25 ---
 bsps/arm/altera-cyclone-v/i2c/i2cdrv-config.h | 25 ---
 bsps/arm/altera-cyclone-v/i2c/i2cdrv.c| 25 ---
 bsps/arm/altera-cyclone-v/include/bsp.h   | 25 ---
 .../arm/altera-cyclone-v/include/bsp/i2cdrv.h | 25 ---
 bsps/arm/altera-cyclone-v/include/bsp/irq.h   | 25 ---
 bsps/arm/altera-cyclone-v/include/tm27.h  | 25 ---
 bsps/arm/altera-cyclone-v/rtc/rtc.c   | 25 ---
 bsps/arm/altera-cyclone-v/start/bspclean.c| 25 ---
 bsps/arm/altera-cyclone-v/start/bspreset.c| 25 ---
 bsps/arm/altera-cyclone-v/start/bspsmp.c  | 25 ---
 bsps/arm/altera-cyclone-v/start/bspstart.c| 25 ---
 .../altera-cyclone-v/start/bspstarthooks.c| 25 ---
 bsps/arm/altera-cyclone-v/start/mmu-config.c  | 25 ---
 15 files changed, 330 insertions(+), 45 deletions(-)

diff --git a/bsps/arm/altera-cyclone-v/console/console-config.c 
b/bsps/arm/altera-cyclone-v/console/console-config.c
index 283cda20a2..b19748e653 100644
--- a/bsps/arm/altera-cyclone-v/console/console-config.c
+++ b/bsps/arm/altera-cyclone-v/console/console-config.c
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
 /**
  * @file
  *
@@ -7,9 +9,26 @@
 /*
  * Copyright (c) 2013-2014 embedded brains GmbH.  All rights reserved.
  *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * 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.
  */
 
 #include 
diff --git a/bsps/arm/altera-cyclone-v/i2c/i2cdrv-config.c 
b/bsps/arm/altera-cyclone-v/i2c/i2cdrv-config.c
index f596075a58..61c7a1a411 100644
--- a/bsps/arm/altera-cyclone-v/i2c/i2cdrv-config.c
+++ b/bsps/arm/altera-cyclone-v/i2c/i2cdrv-config.c
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
 /**
  * @file
  *
@@ -7,9 +9,26 @@
 /*
  * Copyright (c) 2014 embedded brains GmbH.  All rights reserved.
  *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * 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 DA

[PATCH 00/13] Change license of ARM BSPs to BSD-2

2022-06-27 Thread Joel Sherrill
Hi

This patch set is generated by scripting which looks for files with the
RTEMS GPL, a single copyright line, and written by OAR, embedded brains,
Chris Johns, or Gedare Bloom. This is a good first step at relicensing
the easy to recognize files.

After doing this to all architectures, the next step will be to make a
similar pass for more submitters. And then unfortunately to continue to
track down people.

--joel

Joel Sherrill (13):
  bsps/arm/shared: Change license to BSD-2
  bsps/arm/altera-cyclone-v: Change license to BSD-2
  bsps/arm/atsamv: Change license to BSD-2
  bsps/arm/beagle: Change license to BSD-2
  bsps/arm/csb337: Change license to BSD-2
  bsps/arm/imx: Change license to BSD-2
  bsps/arm/include: Change license to BSD-2
  bsps/arm/lpc176x: Change license to BSD-2
  bsps/arm/imxrt: Change license to BSD-2
  bsps/arm/lpc24xx: Change license to BSD-2
  bsps/arm/lpc32xx: Change license to BSD-2
  bsps/arm/raspberrypi: Change license to BSD-2
  bsps/arm/realview-pbx-a9: Change license to BSD-2

 .../altera-cyclone-v/console/console-config.c | 25 ---
 bsps/arm/altera-cyclone-v/i2c/i2cdrv-config.c | 25 ---
 bsps/arm/altera-cyclone-v/i2c/i2cdrv-config.h | 25 ---
 bsps/arm/altera-cyclone-v/i2c/i2cdrv.c| 25 ---
 bsps/arm/altera-cyclone-v/include/bsp.h   | 25 ---
 .../arm/altera-cyclone-v/include/bsp/i2cdrv.h | 25 ---
 bsps/arm/altera-cyclone-v/include/bsp/irq.h   | 25 ---
 bsps/arm/altera-cyclone-v/include/tm27.h  | 25 ---
 bsps/arm/altera-cyclone-v/rtc/rtc.c   | 25 ---
 bsps/arm/altera-cyclone-v/start/bspclean.c| 25 ---
 bsps/arm/altera-cyclone-v/start/bspreset.c| 25 ---
 bsps/arm/altera-cyclone-v/start/bspsmp.c  | 25 ---
 bsps/arm/altera-cyclone-v/start/bspstart.c| 25 ---
 .../altera-cyclone-v/start/bspstarthooks.c| 25 ---
 bsps/arm/altera-cyclone-v/start/mmu-config.c  | 25 ---
 bsps/arm/atsam/clock/systick-freq.c   | 25 ---
 bsps/arm/atsam/console/console.c  | 25 ---
 bsps/arm/atsam/console/debug-console.c| 25 ---
 bsps/arm/atsam/i2c/atsam_i2c_bus.c| 25 ---
 bsps/arm/atsam/i2c/atsam_i2c_init.c   | 25 ---
 bsps/arm/atsam/include/bsp.h  | 25 ---
 .../atsam/include/bsp/atsam-clock-config.h| 25 ---
 bsps/arm/atsam/include/bsp/atsam-i2c.h| 25 ---
 bsps/arm/atsam/include/bsp/atsam-spi.h| 25 ---
 bsps/arm/atsam/include/bsp/i2c.h  | 25 ---
 bsps/arm/atsam/include/bsp/iocopy.h   | 25 ---
 bsps/arm/atsam/include/bsp/irq.h  | 25 ---
 bsps/arm/atsam/include/bsp/pin-config.h   | 25 ---
 bsps/arm/atsam/include/bsp/power.h| 25 ---
 bsps/arm/atsam/include/bsp/sc16is752.h| 25 ---
 bsps/arm/atsam/include/bsp/spi.h  | 25 ---
 bsps/arm/atsam/rtc/rtc-config.c   | 25 ---
 bsps/arm/atsam/spi/atsam_spi_init.c   | 25 ---
 bsps/arm/atsam/spi/sc16is752.c| 25 ---
 bsps/arm/atsam/start/bspstart.c   | 25 ---
 bsps/arm/atsam/start/bspstarthooks.c  | 25 ---
 bsps/arm/atsam/start/getentropy-trng.c| 25 ---
 bsps/arm/atsam/start/iocopy.c | 25 ---
 bsps/arm/atsam/start/pin-config.c | 25 ---
 bsps/arm/atsam/start/pmc-config.c | 25 ---
 bsps/arm/atsam/start/power-clock.c| 25 ---
 bsps/arm/atsam/start/power-rtc.c  | 25 ---
 bsps/arm/atsam/start/power.c  | 25 ---
 bsps/arm/atsam/start/restart.c| 25 ---
 bsps/arm/atsam/start/sdram-config.c   | 25 ---
 bsps/arm/beagle/start/bspstart.c  | 25 ---
 bsps/arm/beagle/start/bspstarthooks.c | 25 ---
 bsps/arm/csb337/console/fbcons.c  | 25 ---
 bsps/arm/csb337/include/sed1356.h | 25 ---
 bsps/arm/csb337/start/umonsupp.c  | 25 ---
 bsps/arm/csb337/umon/tfsDriver.c  | 25 ---
 bsps/arm/csb337/umon/umoncons.c   | 25 ---
 bsps/arm/csb337/umon/umonrtemsglue.c  | 25 ---
 bsps/arm/imx/console/console-config.c | 25 ---
 bsps/arm/imx/i2c/imx-i2c.c| 25 ---
 .../include/a

[PATCH 01/13] bsps/arm/shared: Change license to BSD-2

2022-06-27 Thread Joel Sherrill
Updates #3053.
---
 bsps/arm/shared/cache/cache-cp15.c| 25 ---
 bsps/arm/shared/cache/cache-cp15.h| 25 ---
 bsps/arm/shared/cache/cache-v7m.c | 25 ---
 bsps/arm/shared/clock/clock-a9mpcore.c| 25 ---
 bsps/arm/shared/clock/clock-nxp-lpc.c | 25 ---
 .../cp15/arm-cp15-set-exception-handler.c | 25 ---
 .../shared/cp15/arm-cp15-set-ttb-entries.c| 25 ---
 .../arm/shared/cpucounter/cpucounter-armv7m.c | 25 ---
 bsps/arm/shared/fb/arm-pl111.c| 25 ---
 bsps/arm/shared/serial/arm-pl050.c| 25 ---
 bsps/arm/shared/start/arm-a9mpcore-smp.c  | 25 ---
 bsps/arm/shared/start/bsp-start-memcpy.S  | 25 ---
 bsps/arm/shared/start/bspreset-armv7m.c   | 25 ---
 13 files changed, 286 insertions(+), 39 deletions(-)

diff --git a/bsps/arm/shared/cache/cache-cp15.c 
b/bsps/arm/shared/cache/cache-cp15.c
index 9a58146277..4ad9965529 100644
--- a/bsps/arm/shared/cache/cache-cp15.c
+++ b/bsps/arm/shared/cache/cache-cp15.c
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
 /**
  * @file
  *
@@ -9,9 +11,26 @@
 /*
  * Copyright (C) 2009, 2018 embedded brains GmbH
  *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * 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.
  */
 
 #include 
diff --git a/bsps/arm/shared/cache/cache-cp15.h 
b/bsps/arm/shared/cache/cache-cp15.h
index 8d2d2c9fe2..0e1297a84d 100644
--- a/bsps/arm/shared/cache/cache-cp15.h
+++ b/bsps/arm/shared/cache/cache-cp15.h
@@ -1,3 +1,5 @@
+/* SPDX-License-Identifier: BSD-2-Clause */
+
 /**
  * @ingroup RTEMSBSPsARMShared
  *
@@ -9,9 +11,26 @@
 /*
  * Copyright (c) 2014 embedded brains GmbH.  All rights reserved.
  *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
+ * 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 LIBBSP_ARM_SHARED_CACHE_L1_H
diff --git a/bsps/arm/shared/cache/cache-v7m.c 
b/bsps/arm/shared/cache/cache-v7m.c
index f5a9e208e5..ee68e7f9db 100644
--- a/bsps/arm/shared/cache/cache-v7m.c
+++ b/bsps/arm/shared/cache/cache-v7m.c

Re: [PATCH] Proposal for new GPIO API and example implementation for STM32F4 BSP

2022-06-27 Thread Christian MAUDERER

Hello Duc,

Am 27.06.22 um 12:39 schrieb Duc Doan:

Hello Christian and Karel,

On Mon, 2022-06-27 at 08:29 +0200, Christian MAUDERER wrote:

Please think about whether you want to start at 0 or at 1!



I want it to start at 0.



Be really careful with that syntax. If you use increasing numbers
like
you suggested, every controller would have to know it's own offest.
On
the other hand, if there is a unique number to each pin, you don't
necessarily need the "ctrl" pointer at all. You can just use
something like

     rtems_gpio_write(60, RTEMS_GPIO_PIN_SET);

That's an advantage from the usage perspective because you don't have
to
fetch the GPIO controller and can work with a single pin number.

Disadvantage is a overhead in the API: You have to create some global
table with GPIO controllers and their first and last pins. That table
has to be searched for every operation. In the worst case it adds a
loop
over the table with one comparison for each entry. Most systems
should
only have a hand full of GPIO controller so it's not too much but
it's a
lot more than just one pointer de-referencing. There could be methods
to
optimize the search so the loop might isn't the best solution. But
every
search is slower than if you already have the pointer.

It's more or less a trade-off. There are good arguments for both
directions. I think I have seen both directions implemented in
different
situations.



You are right; having both ctrl and virtual pin number is abundant.
Karel's email gave me some inspiration to (hopefully) improve this:

On Mon, 2022-06-27 at 10:25 +0200, Karel Gardas wrote:

In fact I guess ctrl structure would contain some BSP specific data
and
since bsp_gpio_get_ctrl is BSP specific function for f4 that means in
ctrl you will save your GPIOx and pin number -- e.g. hardware
specific
pin representation.

This means on write/read you do not need to map virtual pin ->
physical
pin again, but in fact use physical pin from ctrl and be as fast as
possible.



Actually as of now, my ctrl structure only has pointers to handlers and
GPIOx (F4 only). Pin number was not in there, but I am thinking
including pin number inside that structure might work. The changes I
want to make would be:

- ctrl structure will now include both pointers to handlers and BSP-
specific physical port/pin

struct rtems_gpio_ctrl {
 rtems_gpio_handlers_t *handlers;
}

struct stm32f4_gpio_ctrl {
 rtems_gpio_ctrl base;
 GPIO_TypeDef *GPIOx;
 uint32_t pin; //physical
}

- I will create 2 internal tables (based on Christian's suggestion) to
store the last pins of each controller and pointers to the get_ctrl()
functions. For example, if STM32 has 16 pins per port and 4 ports in
total, my table would be:

uint32_t table[MAX_CONTROLLERS] = {16, 32, 48, 64};

These numbers and the controller pointers are added to the tables by
calling a register() function for each controller. BSPs need to
implement an initialize() function. The prototype of initialize() is
provided by the GPIO API. initialize() needs to be called before any
GPIO operation in the application.

If GPIO expanders exist, their drivers need to have similar initialize
functions that call the register().

Currently I can only think of binary search as a faster method than a
for loop. rtems_gpio_get_ctrl(virtual_pin) will search for the correct
controller, call the BSP/driver-specific get_ctrl(), and return the
result.

- Because pin number is now in ctrl, functions only need to provide
pointer to ctrl object.

Below is an example program with a fake STM32 with 4 GPIOs/16 pins
each. Two GPIO expanders (exA, exB) are used.

/** API header ***/
void register(void (*get_ctrl) (uint32_t pin), uint32_t num_pins); //
shared, already implemented
void initialize(void); // to be implemented by BSP

/** stm32f4 gpio.c **/
void rtems_gpio_initialize(void) {
 register(stm32f4_get_ctrl, 16); // port A
 register(stm32f4_get_ctrl, 16); // port B
 register(stm32f4_get_ctrl, 16); // port C
 register(stm32f4_get_ctrl, 16); // port D
}

/* application blink.c ***/

// initialization
rtems_gpio_initialize();
exA_initialize(); // registers pins to the table
exB_initialize(); // registers pins to the table

uint32_t led_pin = 60; // just a random number
rtems_gpio_ctrl_t *led_ctrl = rtems_gpio_get_ctrl(60);

rtems_gpio_write(led_ctrl, RTEMS_GPIO_PIN_SET);


I think I misinterpreted the rtems_gpio_ctrl_t in my earlier mail. With 
this example it's now much clearer that the rtems_gpio_ctrl_t now 
represents a pin (or maybe a pin group) and not a controller any more. I 
would suggest to rename it to rtems_gpio_t or rtems_gpio_pin_t to make 
that more clear. Otherwise: OK for me.




/* END OF EXAMPLE **/

The only place where the search must be done is now in get_ctrl(), so
read/write operations are still fast. One drawback of this approach
might be the support for pin groups, but currently I have quite little
cl

Re: [PATCH] Proposal for new GPIO API and example implementation for STM32F4 BSP

2022-06-27 Thread Duc Doan
Hello Christian and Karel,

On Mon, 2022-06-27 at 08:29 +0200, Christian MAUDERER wrote:
> Please think about whether you want to start at 0 or at 1!
> 

I want it to start at 0.

> 
> Be really careful with that syntax. If you use increasing numbers
> like 
> you suggested, every controller would have to know it's own offest.
> On 
> the other hand, if there is a unique number to each pin, you don't 
> necessarily need the "ctrl" pointer at all. You can just use
> something like
> 
>     rtems_gpio_write(60, RTEMS_GPIO_PIN_SET);
> 
> That's an advantage from the usage perspective because you don't have
> to 
> fetch the GPIO controller and can work with a single pin number.
> 
> Disadvantage is a overhead in the API: You have to create some global
> table with GPIO controllers and their first and last pins. That table
> has to be searched for every operation. In the worst case it adds a
> loop 
> over the table with one comparison for each entry. Most systems
> should 
> only have a hand full of GPIO controller so it's not too much but
> it's a 
> lot more than just one pointer de-referencing. There could be methods
> to 
> optimize the search so the loop might isn't the best solution. But
> every 
> search is slower than if you already have the pointer.
> 
> It's more or less a trade-off. There are good arguments for both 
> directions. I think I have seen both directions implemented in
> different 
> situations.
> 

You are right; having both ctrl and virtual pin number is abundant.
Karel's email gave me some inspiration to (hopefully) improve this:

On Mon, 2022-06-27 at 10:25 +0200, Karel Gardas wrote:
> In fact I guess ctrl structure would contain some BSP specific data
> and 
> since bsp_gpio_get_ctrl is BSP specific function for f4 that means in
> ctrl you will save your GPIOx and pin number -- e.g. hardware
> specific 
> pin representation.
> 
> This means on write/read you do not need to map virtual pin ->
> physical 
> pin again, but in fact use physical pin from ctrl and be as fast as 
> possible.
> 

Actually as of now, my ctrl structure only has pointers to handlers and
GPIOx (F4 only). Pin number was not in there, but I am thinking
including pin number inside that structure might work. The changes I
want to make would be:

- ctrl structure will now include both pointers to handlers and BSP-
specific physical port/pin

struct rtems_gpio_ctrl {
rtems_gpio_handlers_t *handlers;
}

struct stm32f4_gpio_ctrl {
rtems_gpio_ctrl base;
GPIO_TypeDef *GPIOx;
uint32_t pin; //physical
}

- I will create 2 internal tables (based on Christian's suggestion) to
store the last pins of each controller and pointers to the get_ctrl()
functions. For example, if STM32 has 16 pins per port and 4 ports in
total, my table would be:

uint32_t table[MAX_CONTROLLERS] = {16, 32, 48, 64};

These numbers and the controller pointers are added to the tables by
calling a register() function for each controller. BSPs need to
implement an initialize() function. The prototype of initialize() is
provided by the GPIO API. initialize() needs to be called before any
GPIO operation in the application.

If GPIO expanders exist, their drivers need to have similar initialize
functions that call the register().

Currently I can only think of binary search as a faster method than a
for loop. rtems_gpio_get_ctrl(virtual_pin) will search for the correct
controller, call the BSP/driver-specific get_ctrl(), and return the
result.

- Because pin number is now in ctrl, functions only need to provide
pointer to ctrl object. 

Below is an example program with a fake STM32 with 4 GPIOs/16 pins
each. Two GPIO expanders (exA, exB) are used.

/** API header ***/
void register(void (*get_ctrl) (uint32_t pin), uint32_t num_pins); //
shared, already implemented
void initialize(void); // to be implemented by BSP

/** stm32f4 gpio.c **/
void rtems_gpio_initialize(void) {
register(stm32f4_get_ctrl, 16); // port A
register(stm32f4_get_ctrl, 16); // port B
register(stm32f4_get_ctrl, 16); // port C
register(stm32f4_get_ctrl, 16); // port D 
}

/* application blink.c ***/

// initialization
rtems_gpio_initialize();
exA_initialize(); // registers pins to the table
exB_initialize(); // registers pins to the table

uint32_t led_pin = 60; // just a random number
rtems_gpio_ctrl_t *led_ctrl = rtems_gpio_get_ctrl(60);

rtems_gpio_write(led_ctrl, RTEMS_GPIO_PIN_SET);

/* END OF EXAMPLE **/

The only place where the search must be done is now in get_ctrl(), so
read/write operations are still fast. One drawback of this approach
might be the support for pin groups, but currently I have quite little
clue about that.

What do you think about these changes?

Thank you,

Duc Doan

> > 
> > This, however, only returns integrated GPIO from a BSP. In order to
> > use
> > a GPIO expansion, a separate function must be used. Each GPIO
> > expander
> > driver will have its own get_ctrl funct

Re: [PATCH] Proposal for new GPIO API and example implementation for STM32F4 BSP

2022-06-27 Thread Karel Gardas



Hello Duc,

just one remark.

On 6/27/22 05:34, Duc Doan wrote:


rtems_gpio_ctrl_t *ctrl0 = bsp_gpio_get_ctrl(60); //corresponds to
GPIOD pin 12 on F4


^ if your ctrl structure knows you are working with pin 60


rtems_gpio_write(ctrl, 60, RTEMS_GPIO_PIN_SET);


then you do not need to use it for write.

In fact I guess ctrl structure would contain some BSP specific data and 
since bsp_gpio_get_ctrl is BSP specific function for f4 that means in 
ctrl you will save your GPIOx and pin number -- e.g. hardware specific 
pin representation.


This means on write/read you do not need to map virtual pin -> physical 
pin again, but in fact use physical pin from ctrl and be as fast as 
possible.


Christian described everything else already so no need to add anything here.

I'm glad you are making this steady progress on this project.

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