Sebastian Huber
8266a8a335
bsps/leon3: Move code blocks
...
Move code blocks to simplify C preprocessor usage.
Update #4954 .
2023-10-20 11:16:54 +02:00
Sebastian Huber
abb2f8bd66
bsps/leon3: Use custom CPU counter implementation
...
Merge the timecounter and CPU counter support for the leon3 BSP family.
Remove now unused functions from the CPU counter support of the erc32
and leon3 BSPs.
Update #4954 .
2023-10-20 11:16:54 +02:00
Sebastian Huber
ff533cec9d
bsps/leon3: Simplify clock and CPU counter
...
Share the timecounter instance between the clock and the CPU counter.
This greatly simplifies the clock driver since we have to do the device
selection only in one place, the CPU counter support.
Update #4954 .
2023-10-20 11:16:54 +02:00
Sebastian Huber
3f03a6d2ef
bsps/leon3: Make GPTIMER fall back mandatory
...
Using the auto reload counter which generates the clock ticks for the
timecounter or CPU counter is quite difficult and only works in
uniprocessor configurations.
Update #4954 .
2023-10-20 11:16:54 +02:00
Sebastian Huber
b6dc4b4707
sparc: Move CPU counter implementation
...
Enable a BSP-specific CPU counter implementation.
Update #4954 .
2023-10-20 11:16:54 +02:00
Sebastian Huber
8fe0fc4721
bsps/leon3: Optional IRQ(A)MP timestamp support
...
This is necessary to run the tests on SIS with profiling enabled.
Update #4954 .
2023-10-20 11:16:53 +02:00
Sebastian Huber
95cf6e57be
bsps/leon3: Update due to register API changes
2023-10-20 11:16:53 +02:00
Sebastian Huber
c173f0581a
bsp/leon3: Make declarations conditional
...
The LEON3_IrqCtrl_Adev object is only defined if LEON3_IRQAMP_BASE is
not defined.
The LEON3_Timer_Adev object is only defined if LEON3_GPTIMER_BASE is not
defined.
Close #4850 .
2023-07-28 07:50:15 +02:00
Frank Kühndel
3e1521eea1
bsps/sparc: Add files to Doxygen groups
...
Update #3707 .
2023-07-26 07:18:29 +02:00
Sebastian Huber
1425735738
bsp/leon3: Simplify shutdown
...
Do not wait for other processors to halt.
2023-07-14 12:21:33 +02:00
Sebastian Huber
8d30ae9aa1
bsp/leon3: Add specialized target hash
2023-07-14 12:21:33 +02:00
Sebastian Huber
97f5e1c0cb
bsp/leon3: Fix group memberships
...
Update #3706 .
2023-07-14 12:21:33 +02:00
Sebastian Huber
3e0314e8be
bsps/sparc: Remove BSP_POWER_DOWN_AT_FATAL_HALT
...
Remove the BSP_POWER_DOWN_AT_FATAL_HALT BSP option. Applications should
do the customization of the system termination with an initial fatal
extension.
2023-07-14 12:21:33 +02:00
Sebastian Huber
63626a5d2e
bsp/leon3: Enable up-counter conditionally
2023-07-14 12:21:33 +02:00
Sebastian Huber
dc16709697
bsp/leon3: Use LEON3_GPTIMER_BASE
2023-07-14 12:21:33 +02:00
Sebastian Huber
f6b7279687
bsp/leon3: Add LEON3_IRQAMP_EXTENDED_INTERRUPT
2023-07-14 12:21:33 +02:00
Sebastian Huber
1d1c0e5d9a
bsp/leon3: Add LEON3_PROBE_ASR_22_23_UP_COUNTER
2023-07-14 12:21:33 +02:00
Sebastian Huber
3773a63b2a
bsp/leon3: Simplify fatal error handling
2023-07-14 12:21:33 +02:00
Sebastian Huber
2aff2d03cb
bsp/leon3: Move leon3_power_down_loop()
2023-07-14 12:21:33 +02:00
Sebastian Huber
314945468c
bsp/leon3: Add LEON3_L2CACHE_BASE
2023-07-14 12:21:33 +02:00
Sebastian Huber
de278269ac
bsp/leon3: Add LEON3_HAS_ASR_22_23_UP_COUNTER
2023-07-14 12:21:33 +02:00
Sebastian Huber
3f1186fd07
bsp/leon3: Add LEON3_IRQAMP_PROBE_TIMESTAMP
2023-07-14 12:21:33 +02:00
Sebastian Huber
824556e0b8
bsp/leon3: Add LEON3_IRQAMP_BASE
2023-07-14 12:21:33 +02:00
Sebastian Huber
8f235798a6
bsp/leon3: Add LEON3_GPTIMER_BASE
2023-07-14 12:21:33 +02:00
Sebastian Huber
ac9c55b017
bsp/leon3: LEON3_PLB_FREQUENCY_DEFINED_BY_GPTIMER
2023-07-14 12:21:33 +02:00
Sebastian Huber
fc97810ce3
bsp/leon3: Add LEON3_APBUART_BASE
2023-07-14 12:21:33 +02:00
Sebastian Huber
37880fc656
bsp/leon3: Use new L2CACHE register block API
2023-07-14 12:21:33 +02:00
Sebastian Huber
d85c505ab0
bsp/leon3: Use new GPTIMER register block API
2023-07-14 12:21:33 +02:00
Sebastian Huber
8c9daf56f8
bsp/leon3: Move system control register support
...
Move, document, and reformat support functions from <leon.h> to
<bsp/leon3.h>.
2023-07-14 12:21:33 +02:00
Sebastian Huber
c77a20e85b
bsp/leon3: Use new IRQ(A)MP register block API
2023-07-14 12:21:33 +02:00
Sebastian Huber
32ff60293b
bsp/leon3: Move and simplify bsp_irq_fixup()
2023-07-14 12:21:33 +02:00
Sebastian Huber
a5f95cbb57
bsp/leon3: Untangle interrupt controller support
...
Separate the probing of the interrupt controller from the
initialization.
2023-07-14 12:21:33 +02:00
Sebastian Huber
8fdecf6c55
bsps: Use new APBUART register block API
2023-07-14 12:21:33 +02:00
Sebastian Huber
cba956b5d0
bsps/grlib: Move GR740-specific registers
...
Update #4842 .
2023-07-14 09:11:19 +02:00
Sebastian Huber
2d71cba033
bsps/grlib: Add generated headers
...
Close #4828 .
2023-07-14 09:11:19 +02:00
Sebastian Huber
65b0ba4d8a
bsps/sparc: Deprecate BSP-specific interrupt API
...
Update #3269 .
2023-06-16 07:30:50 +02:00
Sebastian Huber
4e3e9df1b4
bsps: Remove uses of BSP-specific interrupt API
...
Update #3269 .
2023-06-16 07:30:50 +02:00
Sebastian Huber
97a4b306f4
bsp/leon2: Include missing header file
...
Update #4458 .
2023-06-15 20:04:22 +02:00
Sebastian Huber
bcef89f236
Update company name
...
The embedded brains GmbH & Co. KG is the legal successor of embedded
brains GmbH.
2023-05-20 11:05:26 +02:00
Sebastian Huber
bb465c8548
doxygen: Add Doxygen files to a group
...
Update #3707 .
2023-02-16 08:27:09 +01:00
Sebastian Huber
b993111594
bsp/leon3: Move SMP data to start.S
...
The LEON3_Boot_Cpu global object is only used by start.S. Move the definition
of this object to start.S and use a local symbol .Lbootcpuindex for it.
Use a compare-and-swap instruction to assign the boot CPU. This allows a
concurrent initialization.
Close #4845 .
2023-02-10 16:15:52 +01:00
Sebastian Huber
10ee41a8a3
tm27: Avoid function pointer casts
...
Add TM27_USE_VECTOR_HANDLER to select the interrupt handler type used by
the <tm27.h> implementation.
Close #4820 .
2023-01-24 09:56:53 +01:00
Daniel Cederman
e01e499490
bsps/sparc: Change license to BSD-2 for files with Gaisler copyright
...
This patch changes the license to BSD-2 for all source files where the
copyright is held by Aeroflex Gaisler, Cobham Gaisler, or Gaisler Research.
Some files also includes copyright right statements from OAR and/or
embedded Brains in addition to Gaisler.
Updates #3053 .
2022-11-14 10:59:44 +01:00
Sebastian Huber
a660e9dc47
Do not use RTEMS_INLINE_ROUTINE
...
Directly use "static inline" which is available in C99 and later. This brings
the RTEMS implementation closer to standard C.
Close #3935 .
2022-09-19 09:09:22 +02:00
Sebastian Huber
5ed0035377
bsps: Sort .noinit* sections
...
Sort the .noinit* input sections by name first, then by alignment if two
sections have the same name. This allows the placement of begin/end symbols to
initialize some areas with a special value.
Update #4678 .
2022-07-15 10:46:02 +02:00
Joel Sherrill
7a9b240801
bsps/sparc: Scripted embedded brains header file clean up
...
Updates #4625 .
2022-03-10 08:43:50 +01:00
Sebastian Huber
1b1ace7620
bsp/leon3: Fix warning
2022-03-08 08:12:47 +01:00
Sebastian Huber
cfeb3cbb68
bsp/leon3: Include missing header file
...
The <leon.h> include was removed from <bsp.h> in commit
1577a48369 .
2022-03-08 08:12:47 +01:00
Sebastian Huber
f44e2c99cc
bsp/leon3: Do not invalidate cache in SMP start
...
Since the trap table is now statically initialized, there is no need to
invalidate the instruction cache.
2021-12-13 07:32:58 +01:00
Sebastian Huber
044701eb8b
bsp/leon3: Use interrupt entry for tm27 support
...
Using rtems_interrupt_entry_install() instead of
rtems_interrupt_handler_install() avoids a dependency on the dynamic memory
allocation.
Use Interrupt Manager directives instead of a BSP-specific API. Use inline
functions. In SMP configurations, set an affinity to all online processors and
raise the interrupt on the current processor.
2021-12-13 07:32:58 +01:00