| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The old layer had some limitations/problems for multiple AHB
buses since the data structure containing all AMBA devices
were allocated before scanning.
The new layer create devices as they are found and memory is
allocated using malloc() or bsp_early_malloc() during booting.
The old 8 functions for finding a specific AHB-Slave or
APB-Slave device has been replaced with one function,
ambapp_for_each(), which iterates over all devices matching
the specified search options and calls a user provided
function. The new way lowers the footprint and makes searching
more flexible.
The frequency information is now supported, if the frequency
of one device is reported by the user.
More AHB-to-AHB bridges are supported.
The API has been split into several parts in order to lower the
footprint.
The API also introduces the AMBAPP CORE concept, where one
ambapp_core can be created from one AHB Master, AHB Slave
and one APB Slave, at least one device is required for creating
a core.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The implementation use IRQ number instead of vector number since
some IRQs does not have a unique vector, for example the extended
interrupts all enter the same trap vector entry.
Added support for the LEON3 extended interrupt controller when using
the shared IRQ layer.
ERC32 patches untested.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
Regenerate
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PR 2009/bsps
All LEON3/4 systems have a CPU-id, if on a single-CPU system the
ID is always zero. On a multicore system it ranges from 0 to 15.
The CPU index should always by updated even in a non-MP RTEMS OS
since the CPU running RTEMS may not always be CPU0. For example
when RTEMS runs on CPU1 and Linux on CPU0 in a mixed ASMP system.
The old code executed within the IRQ controller initialization code
makes no sense since the ASR register is a CPU register, it has
nothing to do with AMBA initialization either.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
|
|
|
|
|
|
| |
* amba/amba.c, include/tm27.h, shmsupp/lock.c, startup/bspstart.c,
startup/spurious.c:
Use "__asm__" instead of "asm" for improved c99-compliance.
|
|
|
|
|
|
|
| |
* Makefile.am, amba/amba.c, console/console.c, console/debugputs.c,
startup/bspstart.c: Rework initialization order so AMBA bus is
scanned earlier. This lets us look for UARTs earlier and support
printk as early as bsp_start() returning.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
* amba/amba.c, clock/ckinit.c, console/console.c, include/bsp.h,
startup/bspstart.c, timer/timer.c: Move interrupt_stack_size field
from CPU Table to Configuration Table. Eliminate CPU Table from all
ports. Delete references to CPU Table in all forms.
|
|
|
|
|
|
|
|
|
|
| |
* amba/amba.c, startup/bspstart.c: Moved most of the remaining CPU
Table fields to the Configuration Table. This included
pretasking_hook, predriver_hook, postdriver_hook, idle_task,
do_zero_of_workspace, extra_mpci_receive_server_stack,
stack_allocate_hook, and stack_free_hook. As a side-effect of this
effort some multiprocessing code was made conditional and some style
clean up occurred.
|
|
|
|
|
| |
* amba/amba.c: Add missing part of previous patch.
* clock/ckinit.c: Update previous patch.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Makefile.am, preinstall.am, amba/amba.c, include/amba.h,
include/leon.h: LEON3 AMBA PnP bus scanning moved to
shared/amba/amba.c and shared/include/ambapp.h. The AMBA scanning was
improved to take account for PnP info address translation. This is
useful when scanning remote AMBA busses for example when a board
connected with PCI has an AMBA bus that needs to be scanned, before
the addresses was hard coded. Also, LEON2 now have AMBA PnP bus
scanning support. By using the new AMBA scanning routines it is
possible to isolate the AMBA scanning code to ambapp.c, however
existing drivers should be updated to use them in order to save
space.
|
|
|
|
|
|
| |
* clock/ckinit.c, include/leon.h, timer/timer.c, amba/amba.c
fixed up merge from 4.6.6. Correct references to
LEON3_IrqCtrl_Regs_Map.mask[x] and LEON3_Timer_Regs_Map.timer[x].
|
|
|
|
|
|
| |
* amba/amba.c, clock/ckinit.c, include/amba.h, timer/timer.c: Search
for the Timer Register when initializing the amba rather than before
each potential use.
|
|
|