Commit Graph

13045 Commits

Author SHA1 Message Date
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
Sebastian Huber
d9ff8b3e68 bsps/powerpc: Fix potential relocation truncation
See also

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

On Fri, Jun 06, 2014 at 11:01:10AM +0200, Sebastian Huber wrote:
> I performed a git bisect and found this:
>
> 93d1b056cb396d6468781fe0e40dd769891bed32 is the first bad commit
> commit 93d1b056cb396d6468781fe0e40dd769891bed32
> Author: Alan Modra <amodra@gmail.com>
> Date:   Tue May 20 11:42:42 2014 +0930
>
>     Rewrite ppc32 backend .sdata and .sdata2 handling

Hmm, I'm surprised that your git bisect found this patch.  Was
_SDA_BASE_ set differently before this?

>                 0x00000000000dfc00                _SDA_BASE_
>                 0x00000000000d7f78                ppc_exc_lock_std

>      4b8:       28 05 00 00     cmplwi  r5,0
>                         4ba: R_PPC_SDAREL16     ppc_exc_lock_std

ppc_exc_lock_std@sdarel will be calculating 0xd7f78 - 0xdfc00
which is 0xf...fff8378, and that falls foul of

commit 86c9573369616e7437481b6e5533aef3a435cdcf
Author: Alan Modra <amodra@gmail.com>
Date:   Sat Mar 8 13:05:06 2014 +1030

    Better overflow checking for powerpc32 relocations

cmplwi has an *unsigned* 16-bit field, and we now check the overflow
properly.

I wonder how many more of these we'll hit, and whether the uproar will
be enough that I'll be forced to relax the checks?
2014-06-06 13:39:55 +02:00
Sebastian Huber
dc44de7686 bsps/arm: Fix TLB invalidation for ARMv7-A 2014-06-06 08:02:10 +02:00
Sebastian Huber
c19342a767 bsps/arm: Fix Cortex-A9 MPCore clock driver
The nanoseconds extension returned wrong values on secondary processors
since some of the global timer registeres are banked.  Use global
variables instead.
2014-06-06 08:02:10 +02:00
Sebastian Huber
1468d70f79 bsp/altera-cyclone-v: Enable unified L2 cache 2014-06-06 08:02:10 +02:00
Sebastian Huber
2a1d86c6bf bsp/altera-cyclone-v: Move SMP support 2014-06-06 08:02:10 +02:00
Sebastian Huber
40599e7e86 bsps/arm: Change L2 cache initialization
Do not touch the L1 caches since they have been initialized by the start
hooks.
2014-06-06 08:02:09 +02:00
Sebastian Huber
8fb685b7a3 bsp/altera-cyclone-v: Simplify start hooks
Use arm_a9mpcore_start_hook_0().  The L2 cache is now disabled.
2014-06-06 08:02:09 +02:00
Sebastian Huber
330ccc5f65 bsp/altera-cyclone-v: Change default baud
Use value for standard U-Boot.
2014-06-06 08:02:09 +02:00
Sebastian Huber
82054c8052 bsp/altera-cyclone-v: Use NOLOAD for nocache sec 2014-06-06 08:02:09 +02:00
Sebastian Huber
9fa88124ef bsp/altera-cyclone-v: Simplify MMU config table 2014-06-06 08:02:08 +02:00
Sebastian Huber
2d3caccf86 bsps/arm: Define ARM_CP15_TEXT_SECTION
Define ARM_CP15_TEXT_SECTION to BSP_START_TEXT_SECTION so that the
start code is in the right section.
2014-06-06 08:02:04 +02:00
Sebastian Huber
66a2409d30 bsps/arm: Add ARM_CP15_TEXT_SECTION
Allow users of this header file to optionally place the inline functions
into a non-standard section.
2014-06-05 14:55:16 +02:00
Sebastian Huber
44fbca379a bsps/arm: Simplify L1 caches support
Delete superfluous/incorrect interrupt disable/enable.
2014-06-05 14:55:16 +02:00
Sebastian Huber
d0a8f513f5 bsps/arm: Add all level data cache invalidation 2014-06-05 14:55:16 +02:00
Sebastian Huber
def03aecef bsps/arm: Typo 2014-06-05 14:55:16 +02:00
Sebastian Huber
82850b8e82 bsps/arm: Cortex-A9 MPCore start
Invalidate entire branch predictor array.
2014-06-05 14:55:16 +02:00
Sebastian Huber
e87ccf547b bsps/arm: Cortex-A9 MPCore start
Enable SCU only on the boot processor.
2014-06-05 14:55:16 +02:00
Sebastian Huber
b938108b3d bsps/arm: Cortex-A9 MPCore start
Add arm_a9mpcore_start_enable_smp_in_auxiliary_control().
2014-06-05 14:55:16 +02:00
Sebastian Huber
041bf16fd4 bsps/arm: Simplify Cortex-A9 MPCore start
Add arm_a9mpcore_start_on_secondary_processor().  Rely on error checks
in _SMP_Start_multitasking_on_secondary_processor().
2014-06-05 14:55:16 +02:00