Commit Graph

12664 Commits

Author SHA1 Message Date
Sebastian Huber
76386c1047 bsp/altera-cyclone-v: Add DMA support hwlib files 2014-08-26 17:10:18 +02:00
Sebastian Huber
9907ddeb5a bsp/altera-cyclone-v: Update to hwlib 13.1
This version is distributed with SoC EDS 14.0.0.200.
2014-08-26 17:10:18 +02:00
Joel Sherrill
8f1bdcb9ad or1k/Makefile.am: libbsp_a_CPPFLAGS was defined twice 2014-08-25 17:07:12 -05:00
Joel Sherrill
3d99c17deb gensh4: Improve ROM vs RAM startup configuration 2014-08-25 17:00:49 -05:00
Joel Sherrill
bf1f876483 gensh4/bsp_specs: Account for big/little endian 2014-08-25 17:00:48 -05:00
Joel Sherrill
e75907d58e simsh4-testsuite.tcfg: new file 2014-08-25 17:00:48 -05:00
Joel Sherrill
d26cded81b simsh2e-testsuite.tcfg: new file 2014-08-25 17:00:48 -05:00
Joel Sherrill
a4d355b426 shsim/bsp_specs: Account for big/little endian 2014-08-25 17:00:48 -05:00
Hesham ALMatary
baa3c91ecb or1ksim BSP: Include cache manager stubs, and re-generate preinstall.am files. 2014-08-25 11:13:55 -05:00
Hesham ALMatary
9d92a43ff7 Rename or1k_or1ksim BSP to or1ksim 2014-08-25 11:13:14 -05:00
Hesham ALMatary
eeea9e30a2 libcpu: Add new entry for or1k cpu and include cache manager stubs. 2014-08-25 11:12:20 -05:00
Sebastian Huber
4b104834eb bsp/mpc55xx: Fix comment 2014-08-25 13:40:20 +02:00
Sebastian Huber
f3237a3c3b bsp/mpc55xx: Add defines for MPC5668 2014-08-25 09:30:53 +02:00
Sebastian Huber
0a31483901 bsp/mpc55xx: Limit flash support to MPC55[56]X 2014-08-25 09:11:05 +02:00
Daniel Cederman
e7a42a0cfb score: Add missing define to cache manager 2014-08-25 08:52:05 +02:00
Pavel Pisa
d13ce7553b bsp/tms570: implemented and tested initialization of Cortex-R performance 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
2014-08-22 10:24:53 -05:00
Daniel Cederman
ddbc3f8d83 score: Add SMP support to the cache manager
Adds functions that allows the user to specify which cores that should
perform the cache operation. SMP messages are sent to all the specified
cores and the caller waits until all cores have acknowledged that they
have flushed their cache. If CPU_CACHE_NO_INSTRUCTION_CACHE_SNOOPING is
defined the instruction cache invalidation function will perform the
operation on all cores using the previous method.
2014-08-22 13:10:59 +02:00
Daniel Cederman
62f373fb57 bsp/sparc: Flush only instruction cache
The flush instruction on LEON flushes both the data and the instruction
cache. Flushing of just the instruction cache can be done by setting
the "flush instruction cache" bit in the cache control register.
2014-08-22 13:10:59 +02:00
Daniel Cederman
54f3476e24 bsp/sparc: Flush icache before first time enabling interrupts
A secondary processor might miss changes done to the trap table
if the instruction cache is not flushed. Once interrupts are enabled
any other required cache flushes can be ordered via the cache
manager.
2014-08-22 13:10:59 +02:00
Christian Mauderer
d5f5432967 libchip/dwmac: Make PHY address user configurable
This patch allows the user to configure the PHY address for the DWMAC
driver by giving a pointer to a dwmac_user_cfg structure to network
stack via rtems_bsdnet_ifconfig::drv_ctrl.
2014-08-22 11:48:27 +02:00
Pavel Pisa
66f1ca64c8 bsp/tms570: disable huge memory demanding tests for internal RAM build variant.
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.
2014-08-21 10:56:13 -05:00
Pavel Pisa
46265063e3 bsp/tms570: implemented support functions to satisfy complete tests build 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.
2014-08-21 09:07:29 -05:00
Peter Dufault
dc661c87e1 mpc55xx/misc/flash_support.c: Properly flush cache when writing.
Also cleanup:
    * Remove un-needed interrupt disables.
    * Address errata "e989: FLASH: Disable Prefetch during programming and erase"
    * Use RTEMS_ARRAY_SIZE() macro instead of own macro.
2014-08-20 17:08:23 -05:00
Joel Sherrill
2ed97d94da libbsp/arm/acinclude.m4: Regenerate for tms570 2014-08-20 14:53:18 -05:00
Hesham ALMatary
fd5701587f Add new (first) OpenRISC BSP called or1ksim.
This BSP is intended to run on or1ksim (the main OpenRISC emulator).
Fixed version according to Joel comments from the mailing list.
2014-08-20 14:46:15 -05:00
Premysl Houdek
4407ee675c BSP for TMS570LS31x Hercules Development Kit from TI (TMS570LS3137)
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)
2014-08-20 13:44:23 -04:00
Pavel Pisa
0a66c1266f lpc24xx/lpc17xx: lpc24xx_pin_set_function() keep LPC4088 W type pin in digital mode for non-analog function.
The problem wit incorrect switching of pins into analog mode manifestes
on LPC4088 based board.

LPC4088 implements pin P1.17 (ENET_MDIO) as new W type (digital pin
with analog option). The pin was listed as D category on LPC1788
which does not have analog mode control bit. If analog option is
not explicitly switched off on LPC4088 then the pin does not work
as digital pin.

Code tested on LPC1788 and no problems has been observed even that
manual specifies the IOCON_ADMODE field as reserved and should
be written as zero. But even RTEMS lpc24xx_gpio_config sets this
bit unconditionally.

Signed-off-by: Pavel Pisa <ppisa@pikron.com>
2014-08-20 13:42:26 +02:00
Sebastian Huber
6cdc090ff0 bsp/lpc24xx: Add LPC40XX variants 2014-08-12 19:08:37 +02:00
Sebastian Huber
8ae373235b arm: Add support for FPv4-SP floating point unit
This floating point unit is available in Cortex-M4 processors and
defined by ARMv7-M.  This adds basic support for other VFP-D16 variants.
2014-08-12 19:08:19 +02:00
Christian Mauderer
81329f9ecf bsp/altera-cyclone-v: Add RTC driver. 2014-08-11 08:01:26 +02:00
Christian Mauderer
3f9cd87d76 bsp/altera-cyclone-v: Add a simple I2C driver. 2014-08-11 08:01:26 +02:00
Christian Mauderer
1642d27e4c bsp/altera-cyclone-v: Add socal from hwlib.
Some of the headers from the hwlib need the files from the socal subdirectory.
2014-08-11 08:01:26 +02:00
Joel Sherrill
742402b5e0 m68k/gen68360/include/tm27.h: Correct comment 2014-07-16 15:45:59 -05:00
Joel Sherrill
6e868d8724 Add More Testsuite Configuration Files and Update Existing Ones
The first pass at building these was without networking enabled.
This pass addresses that plus accounts for some new BSPs which
needed testsuite.tcfg files and BSPs which could not link tests
which had been added since the first pass.
2014-07-16 15:45:59 -05:00
Chris Johns
6832a5606a Common ARM A8 code. 2014-07-16 14:17:25 +10:00
Ben Gras
7e60b7d125 uart-output-char.h: extra offset definition.
All,

This patch is submitted as its values are used in my to-be-submitted
beagle bsp.
2014-07-15 10:03:32 -05:00
Sebastian Huber
e1f446d3c1 bsps/sparc: Set best baud in APBUART driver
This prevents failures of all tests using rtems_shell_wait_for_input(),
e.g. capture, termios, pppd, etc.
2014-07-09 15:56:43 +02:00
Christian Mauderer
8448a4defc bsps/sparc: Move APBUART printk support 2014-07-09 12:07:49 +02:00
Sebastian Huber
21abc43fb5 bsps/sparc: Add and use shared APBUART console
Move the APBUART console driver support to the shared SPARC area so that
it can be reused by other BSPs.  Only the console driver initialization
is now BSP specific.
2014-07-09 12:07:49 +02:00
Sebastian Huber
a0eb21ebab bsps: Basic console driver for Termios devices 2014-07-09 12:07:49 +02:00
Sebastian Huber
fbda4a8834 score: PR2183: Fix context switch on SMP
Fix context switch on SMP for ARM, PowerPC and SPARC.

Atomically test and set the is executing indicator of the heir context
to ensure that at most one processor uses the heir context.  Break the
busy wait loop also due to heir updates.
2014-07-04 13:17:19 +02:00
Sebastian Huber
7ab6046a62 bsp/altera-cyclone-v: Move MMU configuration table
This makes it possible to use application specific version.
2014-07-01 15:30:07 +02:00
Sebastian Huber
9eb1994fd2 bsps/arm: Rename bsp_mm_config_table
Rename bsp_mm_config_table to arm_cp15_start_mmu_config_table and
rename bsp_mm_config_table_size to arm_cp15_start_mmu_config_table_size
to be in line with the other names in <bsp/arm-cp15-start.h>.
2014-07-01 15:23:04 +02:00
Sebastian Huber
516a60a6f8 bsps/sparc: Reduce copy and paste 2014-07-01 10:25:27 +02:00
Daniel Hellstrom
47cf1adda9 LEON3: devfs free nodes must be sized
.. according to the maximum number of termios ports which is
8. Since LEON3 uses PnP to find how many UARTs there are
present we must make sure worst case work.

The current maximum of 4 free nodes caused for example the
GR712RC with its 6 UARTs to fail during devfs02 test.
2014-06-30 15:45:02 +02:00
Daniel Hellstrom
9f99232e4b LEON3: fix console close handling
On SMP rtems_interrupt_lock_context must be used. Most tests fail with a
NULL pointer exception when exiting, except on NGMP where main memory is
at 0x00000000.
2014-06-30 15:45:02 +02:00
Sebastian Huber
970aa80fe1 bsp/realview-pbx-a9: Fix SMP startup 2014-06-12 13:00:47 +02:00
Martin Galvan
cb42c9a242 lm3s6965-testsuite.cfg: Add pppd.
When trying to compile RTEMS for the Stellaris LM3S6965 board, I had an
issue of pppd.exe's .rodata section being too big to fit in the board's
memory image (region 'ROM_INT' overflowed).
2014-06-10 09:48:54 -05:00
Martin Boretto
19260fbe85 bsp/lpc176x: New BSP 2014-06-10 08:53:36 +02:00
Sebastian Huber
c1072919fa Revert "bsps/powerpc: Fix potential relocation truncation"
This reverts commit d9ff8b3e68.

It is not that simple:

https://sourceware.org/ml/binutils/2014-06/msg00062.html

On Fri, Jun 06, 2014 at 01:31:48PM +0200, Sebastian Huber wrote:
> On 2014-06-06 13:23, Sebastian Huber wrote:
> >Ok, so this "cmplwi cr0, rX, ppc_exc_lock_std@sdarel" is illegal,
> >since
> >ppc_exc_lock_std@sdarel is signed and the immediate is unsigned
> >16-bit?  The
> >assembler doesn't issue a warning about this.
> >
> >Exists there a way to rescue this cmplwi hack without relaxing the
> >overflow
> >checks?
>
> Hm, sorry, it was surprisingly simple.  This works:
>
> "cmplwi cr0, rX, ppc_exc_lock_std@sdarel@l"
>
> I was not aware that you can add several @ in a row.

That is the wrong thing to use here.  sdarel@l translates to a VLE
reloc which applies to a split 16-bit field in VLE insns.

You want
 cmpwi cr0, rX, ppc_exc_lock_std@sdarel
to properly compare a 16-bit signed number from sym@sdarel.

Note that the assembler does error if you write something like
 cmplwi 3,-30000
or
 cmpwi 3,40000
so what the linker is now doing is extending this behaviour to link
time.
2014-06-06 14:54:37 +02:00