| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Most drivers use the Driver Manager for device probing, they
work on AMBA-over-PCI systems if PCI is big-endian.
New APIs:
* GPIO Library, interfaced to GRGPIO
* GENIRQ, Generic interrupt service implementation helper
New GRLIB Drivers:
* ACTEL 1553 RT, user interface is similar to 1553 BRM driver
* GR1553 (1553 BC, RT and BM core)
* AHBSTAT (AHB error status core)
* GRADCDAC (Core interfacing to ADC/DAC hardware)
* GRGPIO (GPIO port accessed from GPIO Library)
* MCTRL (Memory controller settings configuration)
* GRETH (10/100/1000 Ethernet driver using Driver manager)
* GRPWM (Pulse Width Modulation core)
* SPICTRL (SPI master interface)
* GRSPW_ROUTER (SpaceWire Router AMBA configuration interface)
* GRCTM (SpaceCraft on-board Time Management core)
* SPWCUC (Time distribution over SpaceWire)
* GRTC (SpaceCraft up-link Tele core)
* GRTM (SpaceCraft down-link Tele Metry core)
GR712RC ASIC specific interfaces:
* GRASCS
* CANMUX (select between OCCAN and SATCAN)
* SATCAN
* SLINK
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The CCHIP driver is replaced with the GR_701 driver. The
RASTA driver is replaced by the GR-RASTA-IO driver.
All drivers are now compatible with both LEON2 and LEON3,
drivers were initialized directly by the PCI-board drivers
are now initialized by the driver manager and therefore
does not require the double code created by including for
example grcan.c into grcan_rasta.c. The other drivers needs
to be updated to the driver manager framework however.
Added support for:
* GR-701 (only LEON2 before)
* GR-RASTA-IO (only LEON2 before)
* GR-RASTA-ADCDAC
* GR-RASTA-TMTC
* GR-RASTA-SPW-ROUTER
* GR-TMTC-1553
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this patch the LEON family can access the GRLIB GPTIMER using
the Timer library (TLIB).
A System Clock driver instead of BSP/clock/ck_init.c is provided
using the TLIB. The classic clock driver is split in two parts,
clock driver and timer driver. The BSPs need only to fullfill the
timer interface instead of the clock interface. Currently only
LEON3 uses it. The LEON2 Timer is not ported to TLIB.
The GPTIMER driver is implemented using the Driver Manager, so the
System Clock Driver is at this point only suitable for LEON3 when
the driver manager is initialized during BSP startup. When the DrvMgr
is not initialized during startup the standard BSP/clock dirver is
used.
LEON2 sometimes also needs to access GPTIMER when a off-chip GRLIB AMBA
systems is connected, for example AMBA-over-PCI.
|
| |
|
| |
|
|
|
|
|
|
|
| |
This allows it to be wrapped by another function at link-time
and can be used to trace interrupts. If not placed in a separate
file, the function pointer address used in BSP_shared_interrupt_init
will be resolved at compile-time, and the function will not be wrappable.
|
|
|
|
|
| |
Condition needs to be inverted, as a 1 in the mask register means
that the interrupt is enabled. Solves ticket #1959 in trac.
|
|
|
|
| |
Some includes may use C++ and this conflicts if surrounded extern "C".
|
| |
|
| |
|
|
|
|
|
|
| |
The LEON2 and ERC32 maps the new macros to CPU0 since they do not
support SMP. With the LEON3 a specific CPU's interrupt controller
registers can be modified using macros.
|
|
|
|
|
|
|
|
| |
Instead of calling the system call TA instruction directly it
is better paractise to isolate the trap implementation to the
system call functions.
BSP_fatal_exit() is added.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Add doxygen to the header files in sparc/shared/include directory.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Include <bsp/default-initial-extension.h> in all BSPs. Call
rtems_fatal() with RTEMS_FATAL_SOURCE_EXIT as source and the exit()
status code as fatal code in every bsp_cleanup(). Move previous
bsp_cleanup() code into bsp_fatal_extension().
|
|
|
|
| |
The bsp_fatal_extension() will call BSP_fatal_return().
|
|
|
|
|
|
|
|
|
|
|
|
| |
The work areas (RTEMS work space and C program heap) will be initialized
now in a separate step and are no longer part of
rtems_initialize_data_structures(). Initialization is performed with
tables of Heap_Area entries. This allows usage of scattered memory
areas present on various small scale micro-controllers.
The sbrk() support API changes also. The bsp_sbrk_init() must now deal
with a minimum size for the first memory chunk to take the configured
work space size into account.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit daffa606cc4a45d93c1f0f4fe365fde0fda6acbb.
Conflicts:
c/src/lib/libbsp/arm/lpc24xx/include/bspopts.h.in
c/src/lib/libbsp/powerpc/mpc55xxevb/include/bspopts.h.in
c/src/lib/libbsp/powerpc/qoriq/include/bspopts.h.in
Manually deleted conflicting files.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Script does what is expected and tries to do it as
smartly as possible.
+ remove occurrences of two blank comment lines
next to each other after Id string line removed.
+ remove entire comment blocks which only exited to
contain CVS Ids
+ If the processing left a blank line at the top of
a file, it was removed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
If bsp_early_malloc() is called early during boot room will be
allocated after BSS END. If the function is called after boot
is will call malloc() instead. The returned memory is not freeable
and always 8-byte aligned.
If the bsp_early_malloc() isn't called the function is not
dragged in and the workspace will be unmodified in size.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When data cache snooping is not present the cache needs
flushing, the SPARC LEON CPUs does not have to ability
to flush individual cache rows and flushing all cache is
expensive. Instead the LDA instruction is used to force
cache miss on individual loads during the IP-align copy
operation required anyway.
GRETH GBIT non-snooping systems are still unsupported,
since it use zero-copy (can deal with unaligned DMA).
Let the bsp.h select if the GRETH driver is supported.
Currently only the LEON2/LEON3 platforms BSPs builds the
driver.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
|
|
|
|
|
|
|
|
|
| |
Moved the intelligence whether the driver is supported or not
completely to the BSP, now that bsp.h is included (even though it
is a driver... hmm). The ERC32 was never supported, so HAS_SMC91111
is not added to erc32/include/bsp.h.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
|
| |
|
|
|
|
|
|
| |
PR 1783/bsps
* include/bsp.h: Remove dead prototypes of Clock_delay() and delay().
Neither had bodies.
|
|
|
|
|
| |
* cchip/cchip.c, include/tm27.h, startup/spurious.c:
Use "__asm__" instead of "asm" for improved c99-compliance.
|
| |
|
|
|
|
|
|
|
| |
* Makefile.am, include/bsp.h, startup/setvec.c: Split idle method into
its own file. Properly note to confdefs.h that this BSP has its own
idle thread.
* startup/bspidle.c: New file.
|
|
|
|
|
| |
* cchip/cchip.c, include/cchip.h, include/rasta.h, pci/pci.c: Add CVS
Ids.
|
|
|
|
|
| |
* Makefile.am, preinstall.am:
* include/coverhd.h: Removed.
|
|
|
|
|
|
| |
* include/bsp.h: Review of all bsp_cleanup() implementations. In this
phase, all prototypes were removed from bsp.h and empty
implementations were removed and made to use the shared stub.
|
|
|
|
|
|
| |
* clock/ckinit.c, include/bsp.h: Eliminate copies of the Configuration
Table. Use the RTEMS provided accessor macros to obtain configuration
fields.
|
|
|
|
|
|
| |
* include/bsp.h: 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.
|
|
|
|
|
| |
* cchip/cchip.c, include/cchip.h, include/rasta.h,
rasta/rasta.c: New files missed in previous commit.
|
|
|
|
|
|
|
|
| |
* include/bsp.h: LEON2 and LEON3 Data cache snooping detection on
startup, for drivers. (LEON2,3 are configurable processors, they can
be with or without DCache snooping. Caches without snooping needs the
drivers to flush cache or use the sparc instruction lda to force
cache miss...)
|
|
|
|
|
| |
* include/bsp.h: This patch prepares bsp.h so that shared code (new
drivers) can easily have small small sections of BSP specific code.
|
|
|
|
|
|
| |
* console/debugputs.c, include/bsp.h, leon_smc91111/leon_smc91111.c,
startup/spurious.c: Remove debug print methods that are redundant
with prntk and replace their use with printk.
|
|
|
|
|
|
| |
PR 1227/bsps
* include/bsp.h: Remove MAX_LONG_TEST_DURATION and
MAX_SHORT_TEST_DURATION. They are obsolete and unused.
|
| |
|