summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/tms570 (follow)
Commit message (Collapse)AuthorAgeFilesLines
* arm/tms570: document BSP setup with included hardware initialization.Pavel Pisa2016-10-021-22/+100
|
* arm/tms570: update bootstrap generated preinstall.amPavel Pisa2016-10-021-0/+13
|
* arm/tms570: include TMS570_USE_HWINIT_STARTUP option to select bare metal ↵Pavel Pisa2016-10-022-0/+26
| | | | startup and selftest.
* arm/tms570: include hardware initialization and selftest based on Ti ↵Pavel Pisa2016-10-0216-0/+3519
| | | | | | | | | | | | | | | | | | | | HalCoGen generated files. The configuration is specific for TMS570LS3137 based HDK. Pins configuration can be easily changed in rtems/c/src/lib/libbsp/arm/tms570/hwinit/init_pinmux.c file. The list tms570_selftest_par_list in the file rtems/c/src/lib/libbsp/arm/tms570/hwinit/bspstarthooks-hwinit.c specifies peripherals which health status is examined by parity self-test at BSP start-up. It can be easily modified for other TMS570 family members variants same as the selection of other tests in bspstarthooks-hwinit.c.
* arm/tms570: define base addresses of all TMS570LS3137 SPI interfaces.Pavel Pisa2016-10-021-1/+5
| | | | | | | | Generated header file ti_herc/reg_spi.h contains complete registers and fields set for Ti MibSPI peripheral. Care has to be taken that only TMS570_SPI1, TMS570_SPI3 and TMS570_SPI5 are of this complete multibuffer type. TMS570_SPI2 and TMS570_SPI4 have substantial part of registers removed but else they are compatible.
* bsp/tms570: ensure that change of SCI baudrate is not applied in the middle ↵Pavel Pisa2016-10-021-2/+23
| | | | | | | | | | | | | | | | | | | of character Tx. The rtems_monitor_task() setups/updates termios attributes of the opened TTY and if there is ongoing some other output it leads to the stuck. It would be better to use some termios API function which would call drainOutput() in rtems/cpukit/libcsupport/src/termios.c. But functionality is not accessible outside of core termios implementation. The loop waiting for last character to be sent has to be there anyway because hardware does not provide Tx machine/shift register empty interrupt. Closes #2794
* bsp/tms570: regenerate preinstall makefile by bootstrap -p.Pavel Pisa2016-10-021-0/+8
|
* bsp/tms570: include complete peripheral initialization to SCI driver.Pavel Pisa2016-10-021-2/+36
| | | | Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
* bsp/tms570: update pinmux to provide support for initialization lists and ↵Pavel Pisa2016-10-024-69/+196
| | | | clear of alt outputs.
* bsp/tms570: include package balls and PINMMR registers mapping for ↵Pavel Pisa2016-10-022-0/+700
| | | | TMS570LS3135ZWT chip.
* bsp/tms570: ensure that linker symbol comparison to NULL is not optimized out.Pavel Pisa2015-12-011-2/+12
| | | | Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
* bsp/tms570: unite code duplication in pinmux and clean SCI close per review ↵Premysl Houdek2015-11-183-18/+21
| | | | | | remarks. Signed-off-by: Premysl Houdek <kom541000@gmail.com>
* bsp/tms570: use common tms570ls3137.inc file for all board ling variants.Pavel Pisa2015-11-185-64/+24
| | | | Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
* bsp/tms570: separate Flash variants to one which boots directly and one for ↵Premysl Houdek2015-11-184-0/+57
| | | | | | | | | | | | boot loader. The default tms570ls3137_hdk variant is for building RTEMS application image starting directly from start of Flash. Variant tms570ls3137_hdk_with_loader skips 256kB at start of Flash to allow use with application loader. Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
* bsp/tms570: use POM only when application image does not start at address 0.Pavel Pisa2015-11-187-14/+159
| | | | | | | | | | | | | | | | | | | | | Parameters overlay module is initialized and cleared first. It is used later to replace exception target vectors only if that is required. The application loader code with CPU and SDRAM setup code has to provide well defined pattern of instructions at addresses 0x00000000 and 0x0000001f, because only data read accesses can be processed reliably by POM. The expected instruction pattern can be seen in the next example https://github.com/hornmich/tms570ls3137-hdk-sdram/blob/master/SDRAM_SCI_configuration/source/sys_intvecs.asm Comments with detailed description of code, background and reasons for selected approach have been included in TMS570 bsp startup code. Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz> Signed-off-by: Premysl Houdek <kom541000@gmail.com>
* bsp/tms570: updated reserved space for vector overlay in internal RAMPremysl Houdek2015-11-183-4/+6
|
* bsp/tms570: fixed sci driver freeze when closing terminal bugPremysl Houdek2015-11-181-3/+5
| | | | | | tms570_sci_interrupt_last_close: do not wait for old data transmit. Signed-off-by: Premysl Houdek <kom541000@gmail.com>
* bsp/tms570: Pinmux support and EMAC pin definition addedPremysl Houdek2015-11-184-1/+216
| | | | Signed-off-by: Premysl Houdek <kom541000@gmail.com>
* bsp/tms570: EMAC control header file corrected and EMAC interrupt vector addedPremysl Houdek2015-11-186-236/+295
| | | | | Signed-off-by: Premysl Houdek <kom541000@gmail.com> Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
* bsp/tms570 Use bitfields instead of hard-coded valuesPremysl Houdek2015-07-204-32/+52
| | | | Signed-off-by: Premysl Houdek <kom541000@gmail.com>
* bsp/tms570: skipped 32bit field definitions and corrected single bit fieldsPremysl Houdek2015-07-2036-3298/+2641
| | | | | | | | there is no need to define access macros for field covering whole registers. In addition, BSP_FLD32 does not work right for field 32bit length. Signed-off-by: Premysl Houdek <kom541000@gmail.com>
* bsp/tms570: source changes reflecting new headers.Premysl Houdek2015-07-1611-230/+335
| | | | Signed-off-by: Premysl Houdek <kom541000@gmail.com>
* bsp/tms570: fix get time resolution after infrastructure change to timecounter.Pavel Pisa2015-07-161-6/+35
| | | | | | | | | | | | | | | | | The update fixes breakage of TMS570 support after Alexander Krutwig switch of RTEMS time read to timecounter mechanism bsps: Convert clock drivers to use a timecounter Mechanism to specify odd (non 1 Mhz) time base update frequencies implemented after objections of Martin Galvan. Code is adjusted to convert RTEMS configuration parameter microseconds_per_tick to such odd base if TMS570_PREFERRED_TC_FREQUENCY is specified appropriately. Signed-off-by: Premysl Houdek <kom541000@gmail.com> Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
* bsp/tms570: New/generated header files for TMS570 SoC peripherals registers.Premysl Houdek2015-07-1637-0/+14362
| | | | | | | | | | | The header files are generated by script make_header.py. Current script's version can be found at: https://github.com/AoLaD/rtems-tms570-utils/tree/headers/headers/python Registers offsets and fields have been extracted from reference manual. Signed-off-by: Premysl Houdek <kom541000@gmail.com>
* Multiple bsp_specs: Change *(old_endfile) to %(old_endfile)Joel Sherrill2015-05-211-1/+1
| | | | | | Fix typo. closes 2345.
* bsp/tms570: TypoSebastian Huber2015-05-211-1/+1
|
* bsps: Convert clock drivers to use a timecounterAlexander Krutwig2015-05-201-27/+13
| | | | Update #2271.
* tms570/startup/bspreset.c: Add include <bsp/bootcard.h> to fix warningJoel Sherrill2015-04-151-14/+15
|
* TMS570: Add board reset code to bsp_resetMartin Galvan2015-03-312-22/+34
|
* TMS570: Enable FPU in makefile.Martin Galvan2015-03-271-1/+1
|
* Add fsscandir01 variants as needed to more BSPs testsuite configurationJoel Sherrill2015-03-061-0/+1
|
* ARM: Add BSP_START_NEEDS_REGISTER_INITIALIZATIONMartin Galvan2015-02-272-0/+6
| | | | | | | | | | | | | This patch adds the macro BSP_START_NEEDS_REGISTER_INITIALIZATION and three hooks for BSP-specific register init code to arm/shared/start.S. Said hooks are bsp_start_init_registers_core (intended for initializing the ARM core registers), bsp_start_init_registers_banked_fiq (for the FIQ mode banked registers) and bsp_start_init_registers_vfp (for the FPU registers). BSP_START_NEEDS_REGISTER_INITIALIZATION would be defined in a BSP's configure.ac (so that it appears in its bspopts.h). This patch also adds the register init code required by the TMS570. We've tested it with the tms570ls3137_hdk.cfg config and it works fine.
* arm/tms570: sci context has to be writable because it holds state variable.Pavel Pisa2015-02-042-4/+4
| | | | | | | | | | | | | | The structure tms570_sci_context holds state variable tx_chars_in_hw which holds if and how many characters (in the optional FIFO support for some Ti SCIs) are submitted into hardware. When field is not writable then code breaks when RTEMS is build for Flash area. The problem found and analyzed by Martin Galvan from tallertechnologies. Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
* Update bug report URLSebastian Huber2014-12-051-1/+1
|
* bsps/arm: Add .nocache sectionSebastian Huber2014-11-273-0/+6
| | | | | This section can be use to provide a cache coherent memory area via rtems_cache_coherent_add_area().
* termios: Partially hide rtems_termios_ttySebastian Huber2014-10-072-31/+44
| | | | | | | Move interrupt lock to device context and expose only this structure to the read, write and set attributes device handler. This makes these device handler independent of the general Termios infrastructure suitable for direct use in printk() support.
* termios: Separate flow control from normal handlerSebastian Huber2014-10-071-4/+1
|
* bsps: Fix build errorSebastian Huber2014-09-182-5/+0
| | | | Fix build error introduced in f535fe5311978af53635c2da8e5cb10ef9d78802.
* Use correct prototype of benchmark_timer_read()Joel Sherrill2014-09-161-2/+1
| | | | | | | | | | | | | | This change starts with removing the effectively empty file timerdrv.h. The prototypes for benchmark_timer_XXX() were in btimer.h which was not universally used. Thus every use of timerdrv.h had to be changed to btimer.h. Then the prototypes for benchmark_timer_read() had to be adjusted to return benchmark_timer_t rather than int or uint32_t. I took this opportunity to also correct the file headers to separate the copyright from the file description comments which is needed to ensure the copyright isn't propagated into Doxygen output.
* tms570/Makefile.am: Remove bad networking build infoJoel Sherrill2014-09-041-14/+0
|
* Regenerate all preinstall.am files.Chris Johns2014-08-291-3/+3
| | | | | With this patch the preinstall.am files are in a set order and not dependent on now perl implements a hash.
* Regenerate all preinstall.am files.Joel Sherrill2014-08-281-7/+7
| | | | | Apparently, at some point automake output changed and these were not updated.
* bsp/tms570: implemented and tested initialization of Cortex-R performance ↵Pavel Pisa2014-08-221-4/+84
| | | | | | | | | | | | counters. The code is written as BSP specific now but it should work for all Cortex-A and R based CPUs and can be moved to ARM generic place in future. StackOverflow suggested sequences of writes to the registers required to start counters is used. http://stackoverflow.com/questions/3247373/how-to-measure-program-execution-time-in-arm-cortex-a8-processor
* bsp/tms570: disable huge memory demanding tests for internal RAM build variant.Pavel Pisa2014-08-212-13/+23
| | | | | | | | | | | | | BSP completes build with tests and debug enabled for all three variants now tms570ls3137_hdk tms570ls3137_hdk_intram tms570ls3137_hdk_sdram Even that all enabled tests builds for internal RAM variant, many of them are expected to fail on hardware because whole tests including code, data and runtime work area demands has to fit into 256 kB of RAM.
* bsp/tms570: implemented support functions to satisfy complete tests build ↵Pavel Pisa2014-08-219-4/+186
| | | | | | | | requirements. This patch enables to build all RTEMS tests for tms570ls3137_hdk_sdram BSP variant in in default build. Debug build with --enable-rtems-debug set has succeed for samples subset of tests as well.
* BSP for TMS570LS31x Hercules Development Kit from TI (TMS570LS3137)Premysl Houdek2014-08-2028-0/+2389
Included variants: tms570ls3137_hdk_intram - place code and data into internal SRAM tms570ls3137_hdk_sdram - place code into external SDRAM and data to SRAM tms570ls3137_hdk - variant prepared for stand-alone RTEMS aplication stored and running directly from flash. Not working yet. Chip initialization code not included in BSP. External startup generated by TI's HalCoGen was used for testing and debugging. More information about TMS570 BSP can be found at http://www.rtems.org/wiki/index.php/Tms570 Patch version 2 - most of the formatting suggestion applied. - BSP converted to use clock shell - console driver "set attributes" tested. Baudrate change working Patch version 3 - more formatting changes. - removed leftover defines and test functions Todo: refactor header files (name register fields)