summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc/leon2/Makefile.am (follow)
Commit message (Collapse)AuthorAgeFilesLines
* LEON: move driver headers to bsp/ directoryDaniel Hellstrom2015-04-171-41/+41
|
* MCTRL: fix build warnings in MCTRL driverDaniel Hellstrom2015-04-171-0/+1
|
* LEON: added get_resarray_count() helper routineDaniel Hellstrom2015-04-171-0/+2
|
* AT697PCI: fix build warningsDaniel Hellstrom2015-04-171-0/+1
|
* GPTIMER: fix build warningsDaniel Hellstrom2015-04-171-0/+1
|
* GR-RASTA-SPW-ROUTER: fix build warningsDaniel Hellstrom2015-04-171-0/+1
|
* PCIF: fixed build warningsDaniel Hellstrom2015-04-171-0/+1
|
* GRPCI: fixed build warningsDaniel Hellstrom2015-04-171-0/+1
|
* GR-CPCI-LEON4-N2X: added PCI peripheral driver for PCI deviceDaniel Hellstrom2015-04-171-0/+2
| | | | Interrupts have not been test yet
* LEON: added new drivers to the LEON2/LEON3 BSPsDaniel Hellstrom2015-04-171-0/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* LEON: added network device configuration helper functionDaniel Hellstrom2015-04-171-0/+5
|
* LEON: updated and added PCI peripherals for LEON BSPsDaniel Hellstrom2015-04-171-30/+25
| | | | | | | | | | | | | | | | | | | | 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
* LEON2: added support for LEON2-GRLIB systemsDaniel Hellstrom2015-04-171-0/+1
| | | | | | | | | | | In some non-standard designs GRLIB peripherals are used together LEON2. This patch adds a GRLIB amba Plug&Play driver so that AMBA devices can be found from Plug&Play the same way as with the LEON3 BSP. The user is required to add an AMBA-PnP device entry into the LEON2 bus configuration, so that the driver manager unite this driver with the "fake" device and start scanning after AMBA PnP devices.
* LEON: replaced old BSP PCI layer with new generic libpci PCI layerDaniel Hellstrom2015-04-171-2/+7
| | | | | | | | | | | | | | | | | The old code used a limited PCI configuration library, which was duplicated into LEON2 and LEON3 BSP pci.c together with respective Host controller PCI interface. The LEON2 BSP had support for AT697 PCI, and LEON3 for GRPCI PCI Host controller. With this update new PCI Host drivers are added, and all support the new generic PCI Library: * AT697 PCI (LEON2 only) * GRPCI (LEON2-GRLIB and LEON3) * GRPCI2 (LEON2-GRLIB and LEON3) * Actel PCIF GRLIB Wrapper (LEON3 only) The LEON2 BSP is defined as big-endian PCI in bsp.h, since the AT697 supports only big-endian PCI.
* LEON: GPTIMER driver, Timer Library and System Clock for LEON3Daniel Hellstrom2015-04-171-0/+6
| | | | | | | | | | | | | | | | | | | | 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.
* LEON2: implemented AMBA Bus Driver for Driver ManagerDaniel Hellstrom2015-04-171-0/+7
|
* bsp/sparc: Move BSP_ISR_handler to a separate file and rename itDaniel Cederman2015-02-111-0/+1
| | | | | | | 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.
* libmisc: More useful default configurationSebastian Huber2014-12-051-1/+0
| | | | | | | | | | | The dummy.c was a de-facto default configuration. Rename it to default-configuration.c. Use unlimited objects and the stack checker. This makes it easier for new RTEMS users which will likely use this file if they just work with the usual main() function as the application entry point. Provide proper arguments for main() using the BSP command line. Add spare user extensions and drivers. Do not initialize the network by default. Delete bspinit.c.
* SPARC: Fatal_halt use source and exit codesDaniel Hellstrom2014-10-061-0/+1
| | | | | | | | | | | | | | | The Fatal_halt handler now have two options, either halt as before or enter system error state to return to debugger or simulator. The exit-code is now also propagated to the debugger which is very useful for testing. The CPU_Fatal_halt handler was split up into two, since the only the LEON3 support the CPU power down. The LEON3 halt now uses the power-down instruction to save CPU power. This doesn't stop a potential watch-dog timer from expiring.
* SPARC: add BSP specific error handlerDaniel Hellstrom2014-10-061-0/+1
| | | | | | | | 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.
* score/sparc: Add support for paravirtualizationChristian Mauderer2014-06-031-0/+1
| | | | | | | Guest systems in paravirtualization environments run usually in user mode. Thus it is not possible to directly access the PSR and TBR registers. Use functions instead of inline assembler to access these registers if RTEMS_PARAVIRT is defined.
* bsps: Use standard file name for BSP supportSebastian Huber2014-05-121-1/+2
|
* leon2/Makefile.am: Change to one file per lineJoel Sherrill2014-04-031-7/+16
|
* bsps/sparc: Add common gnat handler function prototype.Daniel Cederman2014-03-241-1/+2
| | | | Moved prototype for __gnat_install_handler and __gnat_install_handler_common to common header file. Placed header file in bsp namespace.
* sparc: Fix CPU counter supportSebastian Huber2014-02-241-1/+0
| | | | | | | | The SPARC processors supported by RTEMS have no built-in CPU counter support. We have to use some hardware counter module for this purpose. The BSP must provide a 32-bit register which contains the current CPU counter value and a function for the difference calculation. It can use for example the GPTIMER instance used for the clock driver.
* score: Add CPU counter supportSebastian Huber2014-02-141-0/+1
| | | | | | | | | Add a CPU counter interface to allow access to a free-running counter. It is useful to measure short time intervals. This can be used for example to enable profiling of critical low-level functions. Add two busy wait functions rtems_counter_delay_ticks() and rtems_counter_delay_nanoseconds() implemented via the CPU counter.
* sparc: refactored shared/start.S to shared/start/start.SDaniel Ramirez2013-12-031-1/+1
|
* libbsp: refactored sparc/shared/bspgetworkarea.c to ↵Daniel Ramirez2013-12-031-1/+1
| | | | | | sparc/shared/startup/bspgetworkarea.c * refactored sparc/shared/bspgetworkarea.c to sparc/shared/startup/bspgetworkarea.c
* smp: Simplify SMP initialization sequenceSebastian Huber2013-05-291-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Delete bsp_smp_wait_for(). Other parts of the system work without timeout, e.g. the spinlocks. Using a timeout here does not make the system more robust. Delete bsp_smp_cpu_state and replace it with Per_CPU_State. The Per_CPU_State follows the Score naming conventions. Add _Per_CPU_Change_state() and _Per_CPU_Wait_for_state() functions to change and observe states. Use Per_CPU_State in Per_CPU_Control instead of the anonymous integer. Add _CPU_Processor_event_broadcast() and _CPU_Processor_event_receive() functions provided by the CPU port. Use these functions in _Per_CPU_Change_state() and _Per_CPU_Wait_for_state(). Add prototype for _SMP_Send_message(). Delete RTEMS_BSP_SMP_FIRST_TASK message. The first context switch is now performed in rtems_smp_secondary_cpu_initialize(). Issuing the first context switch in the context of the inter-processor interrupt is not possible on systems with a modern interrupt controller. Such an interrupt controler usually requires a handshake protocol with interrupt acknowledge and end of interrupt signals. A direct context switch in an interrupt handler circumvents the interrupt processing epilogue and may leave the system in an inconsistent state. Release lock in rtems_smp_process_interrupt() even if no message was delivered. This prevents deadlock of the system. Simplify and format _SMP_Send_message(), _SMP_Request_other_cores_to_perform_first_context_switch(), _SMP_Request_other_cores_to_dispatch() and _SMP_Request_other_cores_to_shutdown().
* score: Add RTEMS_FATAL_SOURCE_EXITSebastian Huber2012-11-151-1/+0
| | | | | | | 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().
* bsps/sparc: Add BSP_INITIAL_EXTENSION to <bsp.h>Sebastian Huber2012-11-131-0/+1
| | | | The bsp_fatal_extension() will call BSP_fatal_return().
* LEON: moved register definitions into grlib header fileDaniel Hellstrom2012-05-161-0/+1
| | | | | | | | | | | | Some register layout definitions for LEON3 reside in ambapp.h which does not really has anything to do with device registers. The register structures has been incorrectly named LEON3_*, the cores are not only used on LEON3 but on LEON4 and perhaps on LEON5 when that day comes. Some structures has been renamed according to the GRLIB core name instead, which CPU that actually use it is not relevant. Drivers has been updated with the new names. Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill2012-05-111-4/+0
| | | | | | | | | | | | 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.
* LEON: updated AMBA PnP APIDaniel Hellstrom2012-04-171-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* SPARC BSPs: implemented shared-irq using libbsp/shared layerDaniel Hellstrom2012-04-061-1/+14
| | | | | | | | | | | | | | | 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
* SPARC: bsp_early_malloc() routine for startup memory allocationDaniel Hellstrom2012-03-291-1/+2
| | | | | | | | | | | | 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>
* SPARC: added libcpu lowlevel access and byteorder routines/definitionsDaniel Hellstrom2012-03-211-0/+1
| | | | | | | | | | | | The low level routines can be used in different occasions, it will be required when accessing PCI. Note the difference between byteorder.h (inlined functions) and access.S where the functions will be declared in the library archive librtemscpu.a. Function names starting with _ are in library and can be referenced by function pointers. Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
* 2011-06-19 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-06-191-1/+2
| | | | * Makefile.am: Fix broken path to clockdrv_shell.h.
* 2011-06-11 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-06-111-4/+0
| | | | | | | * Makefile.am, configure.ac: runtest for this BSP obsoleted by rtems-testing/sim-scripts support. Please use those scripts. * tools/.cvsignore, tools/ChangeLog, tools/Makefile.am, tools/configure.ac, tools/runtest.in: Removed.
* 2011-05-25 Jennifer Averett <Jennifer.Averett@OARcorp.com>Jennifer Averett2011-05-251-1/+2
| | | | | | | | | | PR 1792/bsps * src/lib/libbsp/i386/pc386/Makefile.am, src/lib/libbsp/sparc/erc32/Makefile.am, src/lib/libbsp/sparc/leon2/Makefile.am, src/lib/libbsp/sparc/leon3/Makefile.am: Added a generic smp wait method to sparc and i386 bsps. * src/lib/libbsp/shared/smp/bspsmp_wait_for.c: New file.
* 2011-05-23 Jennifer Averett <Jennifer.Averett@OARcorp.com>Jennifer Averett2011-05-231-2/+2
| | | | | | | | PR 1795/bsps * erc32/Makefile.am, leon2/Makefile.am, leon3/Makefile.am: Add rtems_bsp_delay to sparc bsps. * erc32/startup/bspdelay.c, leon2/startup/bspdelay.c, leon3/startup/bspdelay.c: New files.
* 2011-03-16 Jennifer Averett <jennifer.averett@OARcorp.com>Joel Sherrill2011-03-161-0/+6
| | | | | | | | | | | | PR 1729/cpukit * Makefile.am, configure.ac: Add next step in SMP support. This adds an allocated array of the Per_CPU structures to support multiple cpus vs a single instance of the structure which is still used if SMP support is disabled. Configuration support is also added to explicitly enable or disable SMP. But SMP can only be enabled for the CPUs which will support it initially -- SPARC and i386. With the stub BSP support, a BSP can be run as a single core SMP system from an RTEMS data structure standpoint.
* 2010-08-26 Chris Johns <chrisj@rtems.org>Chris Johns2010-08-261-1/+2
| | | | * Makefile.am: Add bspinit.c from the shared BSP files.
* 2010-05-11 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2010-05-111-1/+1
| | | | | | | * startup/linkcmds: Include basic linker command file and define only board specific values. Define RAM and PROM limits only if not defined by command line arguments. * Makefile.am, preinstall.am: Reflect changes above.
* 2009-11-23 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2009-11-231-3/+3
| | | | | | * Makefile.am: sparc/shared/bspstart.c was really leon2 specific. So move it here. * startup/bspstart.c: New file.
* 2009-08-19 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2009-08-191-1/+1
| | | | | | | * 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.
* 2008-10-02 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2008-10-021-1/+1
| | | | | * Makefile.am, preinstall.am: * include/coverhd.h: Removed.
* 2008-09-30 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2008-09-301-1/+1
| | | | | * clock/ckinit.c: include "../../../shared/clockdrv_shell.h". * Makefile.am: Reflect changes above.
* 2008-09-29 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2008-09-291-16/+4
| | | | | * Makefile.am: Eliminate bsp.am. Build startup files as side-effect of building libbspstart.a, using automake-rules.
* 2008-09-29 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2008-09-291-19/+29
| | | | * Makefile.am: Eliminate *_SOURCES.