Commit Graph

49 Commits

Author SHA1 Message Date
Sebastian Huber
db8f598d56 build: Remove old build system
Close #3250.
Close #4081.
2021-09-21 07:39:09 +02:00
Sebastian Huber
c7b4eca7fa bsps/irq: bsp_interrupt_facility_initialize()
Do not return a status code in bsp_interrupt_facility_initialize() since this
leads to unreachable code in bsp_interrupt_initialize().  Use RTEMS_DEBUG
assertions in bsp_interrupt_facility_initialize() if necessary.
2021-07-27 10:03:19 +02:00
Sebastian Huber
32f5a195d7 bsps/irq: bsp_interrupt_vector_disable()
Return a status code for bsp_interrupt_vector_disable().

Update #3269.
2021-07-26 19:57:31 +02:00
Sebastian Huber
bc86a5fa84 bsps/irq: bsp_interrupt_vector_enable()
Return a status code for bsp_interrupt_vector_enable().

Update #3269.
2021-07-26 19:57:30 +02:00
Sebastian Huber
deb5afb2f2 bsps/irq: Add rtems_interrupt_is_pending()
Add a default implementation which just returns RTEMS_UNSATISFIED.

Update #3269.
2021-07-26 17:08:42 +02:00
Sebastian Huber
eebecd09fa bsps/irq: Add rtems_interrupt_get_attributes()
Add a default implementation which clears the attributes to zero and
just returns RTEMS_SUCCESSFUL for valid parameters.

Update #3269.
2021-07-26 17:08:42 +02:00
Sebastian Huber
9832652c53 bsps/irq: Add rtems_interrupt_raise()
Add rtems_interrupt_raise_on() and rtems_interrupt_clear().

Add a default implementation which just returns RTEMS_UNSATISFIED for
valid parameters.

Update #3269.
2021-07-26 07:54:25 +02:00
Sebastian Huber
781213f9ec bsps/irq: Add rtems_interrupt_vector_is_enabled()
Add a default implementation which just returns RTEMS_UNSATISFIED for
valid parameters.

Update #3269.
2021-07-26 07:54:25 +02:00
Sebastian Huber
94cf67ca66 bsps/irq: Remove BSP_INTERRUPT_VECTOR_MAX
This define is no longer used.

Update #3269.
2021-06-24 11:36:27 +02:00
Sebastian Huber
3fee662093 bsps/irq: Use BSP_INTERRUPT_VECTOR_COUNT
Use BSP_INTERRUPT_VECTOR_COUNT instead of BSP_INTERRUPT_VECTOR_MAX.

Update #3269.
2021-06-24 11:36:25 +02:00
Sebastian Huber
cd5573c09d bsps/irq: Add BSP_INTERRUPT_VECTOR_COUNT
Assert BSP_INTERRUPT_VECTOR_MAX + 1 == BSP_INTERRUPT_VECTOR_COUNT.

After building all BSPs with this patch, BSP_INTERRUPT_VECTOR_MAX can be
removed and replaced by BSP_INTERRUPT_VECTOR_COUNT.  The
BSP_INTERRUPT_VECTOR_COUNT allows a default implementation which supports no
interrupt vector at all.  Using COUNT instead of MAX may avoid some
interpretation issues, for example is the maximum value a valid vector number
or not.

Update #3269.
2021-06-24 11:35:49 +02:00
Sebastian Huber
af73b7b64b bsps/irq: Remove BSP_INTERRUPT_VECTOR_MIN
Remove BSP_INTERRUPT_VECTOR_MIN and unconditionally let interrupt vector
numbers start with zero.

The BSP_INTERRUPT_VECTOR_MIN == 0 invariant was tested by the previous commit
and building all BSPs.

Update #3269.
2021-06-24 11:35:49 +02:00
Sebastian Huber
b361eabd93 bsps: Replace bsp_specs with an empty file
This fixes an issue with the latest tool chain which adds the default
linker script in the endfile specification.

Update #3250.
2021-01-28 06:28:33 +01:00
Joel Sherrill
2695e7d01f lpc2362-testsuite.tcfg: Add monitor and psxmsgq01 2020-10-12 10:14:38 -05:00
Joel Sherrill
f4935345de lpc23xx_tli800-testsuite.tcfg: Add psxaoi03 and psxsignal07
Updates #3938.
2020-04-07 17:13:18 -05:00
Joel Sherrill
dcb097a5cb lpc2362-testsuite.tcfg: Add psxaoi03 and psxsignal07
Updates #3938.
2020-04-07 17:11:26 -05:00
Sebastian Huber
92a3a19c75 tests: Exclude record02 for some BSPs
Update #3938.
2020-04-06 21:22:14 +02:00
Joel Sherrill
9bbfb2b693 lpc23xx_tli800-testsuite.tcfg: Add ttest01 2020-03-12 15:59:35 -05:00
Joel Sherrill
ae6597f93a lpc2362-testsuite.tcfg: Add ttest01 2020-03-12 15:59:10 -05:00
Sebastian Huber
98fc60145c bsp/lpc24xx: Fix LPC24XX_IO_PORT_COUNT 2019-06-04 12:04:55 +02:00
Sebastian Huber
b446457f1c bsps/arm: Adjust machine flags for ARMv7-M
Update machine flags for Cortex-M3 and Cortex-M4 based BSPs to account
for Cortex-M3 Errata 602117 which required GCC multilib changes.

Update #3747.
2019-05-14 09:09:02 +02:00
Sebastian Huber
cf5d5d8093 bsp/lpc24xx: Fix dynamic EMC configurations 2019-05-09 12:32:08 +02:00
Sebastian Huber
50d8d32b66 bsp/lpc24xx: Use fast slew rate for EMC pins 2019-05-09 09:55:27 +02:00
Sebastian Huber
0a6b81ad1c bsp/lpc24xx: Add LPC17XX_PIN_TYPE_FAST_SLEW_RATE 2019-05-09 09:55:26 +02:00
Sebastian Huber
6cad529ccb bsp/lpc24xx: Add SDRAM mode settings comment 2019-05-09 09:55:26 +02:00
Sebastian Huber
0b74d8f0fe bsp/lpc24xx: Fix LPC24XX_EMC_MT48LC4M16A2 MPU cfg 2019-05-08 13:37:06 +02:00
Sebastian Huber
2ffbc4d53c bsp/lpc24xx: Flexible LPC24XX_EMC_MT48LC4M16A2 cfg 2019-05-08 13:05:26 +02:00
Sebastian Huber
d49ff3e360 bsp/lpc24xx: LPC24XX_EMC_MT48LC4M16A2 MPU support 2019-05-08 13:05:23 +02:00
Sebastian Huber
a6c08e8d70 bsp/lpc24xx: Support LPC24XX_EMC_SST39VF3201 pins 2019-05-08 13:01:07 +02:00
Sebastian Huber
007d4e1297 bsp/lpc24xx: Convert I2C driver to Linux API
Change license to BSD-2-Clause.

Close #3725.
2019-03-15 16:02:22 +01:00
Joel Sherrill
5f07bdac96 lpc23xx_tli800-testsuite.tcfg: Update to account for static allocation and BSP small memory 2019-03-12 11:01:21 -05:00
Joel Sherrill
dc632e02e8 lpc2362-testsuite.tcfg: Update to account for static allocation and BSP small memory 2019-03-12 11:01:21 -05:00
Sebastian Huber
1400210989 bsp/lpc24xx: Convert SSP driver to Linux API
Use interrupts instead of polled or DMA driven mode.  Change license to
BSD-2-Clause.

Close #3724.
2019-03-12 15:59:26 +01:00
Sebastian Huber
b2eaa6c69c bsp/lpc24xx: Add alternative SSP2 pins 2019-03-12 15:59:26 +01:00
Sebastian Huber
c991eeeccc bsps: Adjust bsp.h Doxygen groups
Update #3706.
2019-03-08 07:42:54 +01:00
Sebastian Huber
212663bede bsps: Adjust architecture Doxygen groups
- Use CamelCase as it is not used in our C code.  Enables simple search and
   replace.

 - Prefix with "RTEMS" to aid deployment and integration.  It aids
   searching and sorting.

Update #3706.
2019-03-04 07:51:38 +01:00
Joel Sherrill
b56edf1789 lpc23xx_tli800-testsuite.tcfg: Add dl07 2018-11-29 10:53:48 -06:00
Joel Sherrill
90028591f5 lpc2362-testsuite.tcfg: Add dl07 2018-11-29 10:53:32 -06:00
Sebastian Huber
2cd3716103 bsps/arm: Fix PL111 register define re-definition
Close #3502.
2018-08-20 08:36:31 +02:00
Sebastian Huber
65f868cac6 Add _CPU_Counter_frequency()
Add rtems_counter_frequency() API function.  Use it to initialize the
counter value converter via the new system initialization step
(RTEMS_SYSINIT_CPU_COUNTER).  This decouples the counter implementation
and the counter converter.  It avoids an unnecessary pull in of the
64-bit integer division from libgcc.

Update #3456.
2018-06-15 13:02:44 +02:00
Sebastian Huber
eb36d1198c bsps: Move documentation, etc. files to bsps
This patch is a part of the BSP source reorganization.

Update #3285.
2018-04-26 07:17:57 +02:00
Sebastian Huber
74df15caec bsp/lpc24xx: Move source files to bsps
This patch is a part of the BSP source reorganization.

Update #3285.
2018-04-25 14:31:24 +02:00
Sebastian Huber
4fb1b79a80 bsps: Move RTC drivers to bsps
This patch is a part of the BSP source reorganization.

Update #3285.
2018-04-23 15:18:44 +02:00
Sebastian Huber
8f8ccee0d9 bsps: Move interrupt controller support to bsps
This patch is a part of the BSP source reorganization.

Update #3285.
2018-04-23 15:18:44 +02:00
Sebastian Huber
a2dad96ab7 bsps: Move I2C drivers to bsps
This patch is a part of the BSP source reorganization.

Update #3285.
2018-04-23 15:18:43 +02:00
Sebastian Huber
adb85dd473 bsps: Move make/custom/* files to bsps
Adjust various build files.  Remove automatic generation of the
c/src/lib/libbsp/*/acinclude.m4 files from bootstrap script.

This patch is a part of the BSP source reorganization.

Update #3285.
2018-04-23 15:18:42 +02:00
Sebastian Huber
9964895866 bsps: Move startup files to bsps
Adjust build support files to new directory layout.

This patch is a part of the BSP source reorganization.

Update #3285.
2018-04-20 13:52:14 +02:00
Sebastian Huber
d7d66d7d45 bsps: Move console drivers to bsps
This patch is a part of the BSP source reorganization.

Update #3285.
2018-04-20 13:08:32 +02:00
Chris Johns
2afb22b7e1 Remove make preinstall
A speciality of the RTEMS build system was the make preinstall step.  It
copied header files from arbitrary locations into the build tree.  The
header files were included via the -Bsome/build/tree/path GCC command
line option.

This has at least seven problems:

* The make preinstall step itself needs time and disk space.

* Errors in header files show up in the build tree copy.  This makes it
  hard for editors to open the right file to fix the error.

* There is no clear relationship between source and build tree header
  files.  This makes an audit of the build process difficult.

* The visibility of all header files in the build tree makes it
  difficult to enforce API barriers.  For example it is discouraged to
  use BSP-specifics in the cpukit.

* An introduction of a new build system is difficult.

* Include paths specified by the -B option are system headers.  This
  may suppress warnings.

* The parallel build had sporadic failures on some hosts.

This patch removes the make preinstall step.   All installed header
files are moved to dedicated include directories in the source tree.
Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc,
etc.  Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g.
erc32, imx, qoriq, etc.

The new cpukit include directories are:

* cpukit/include

* cpukit/score/cpu/@RTEMS_CPU@/include

* cpukit/libnetworking

The new BSP include directories are:

* bsps/include

* bsps/@RTEMS_CPU@/include

* bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include

There are build tree include directories for generated files.

The include directory order favours the most general header file, e.g.
it is not possible to override general header files via the include path
order.

The "bootstrap -p" option was removed.  The new "bootstrap -H" option
should be used to regenerate the "headers.am" files.

Update #3254.
2018-01-25 08:45:26 +01:00