osd-contiki/cpu/cc2538
George Oikonomou eed1352282 Fix CC2538 random_init lockup
Contiki sometimes fails to boot correctly and locks up in
random_init()

This problem only manifests itself for specific versions
of the arm-gcc toolchain and then again only for specific
levels of optimisation (-Os vs -O2, depending on the
value of the SMALL make variable)

The lockup is caused when we write an RFCORE XREG before
the RF clock ungating has taken effect, which in turn
only occurs depending on the assembly generated for those
two instructions:

  REG(SYS_CTRL_RCGCRFC) = 1;

  REG(RFCORE_XREG_FRMCTRL0) = 0x00000008;

This commit makes the RNG wait for the ungating to take
effect before attempting to write the register
2014-04-13 14:38:00 +01:00
..
dev Fix CC2538 random_init lockup 2014-04-13 14:38:00 +01:00
usb Changed the name of the rimeaddr module to linkaddr 2014-01-29 20:12:24 +01:00
cc2538.lds cc2538: Remove the unused vtable section 2013-12-23 15:50:05 +01:00
clock.c New Platform: TI CC2538 Development Kit 2013-04-06 21:07:31 +01:00
cpu.c New Platform: TI CC2538 Development Kit 2013-04-06 21:07:31 +01:00
cpu.h New Platform: TI CC2538 Development Kit 2013-04-06 21:07:31 +01:00
dbg.c New Platform: TI CC2538 Development Kit 2013-04-06 21:07:31 +01:00
dbg.h New Platform: TI CC2538 Development Kit 2013-04-06 21:07:31 +01:00
debug-uart.h New Platform: TI CC2538 Development Kit 2013-04-06 21:07:31 +01:00
ieee-addr.c CC2538: add secondary location to ieee address 2014-03-06 10:31:30 -05:00
ieee-addr.h CC2538: add secondary location to ieee address 2014-03-06 10:31:30 -05:00
lpm.c cc2538: lpm: Fix build for LPM_CONF_ENABLE == 0 2014-01-28 20:21:06 +01:00
lpm.h cc2538: lpm: Fix build for LPM_CONF_ENABLE == 0 2014-01-28 20:21:06 +01:00
Makefile.cc2538 Merge pull request #411 from ADVANSEE/cc2538-adc 2014-04-13 03:05:12 +01:00
mtarch.h A massive all-tree automated update of all double inclusion guard #defines that changes from using two underscores as a prefix, which are reserved, to not using two underscores as a prefix 2013-11-24 20:20:11 +01:00
reg.h New Platform: TI CC2538 Development Kit 2013-04-06 21:07:31 +01:00
rtimer-arch.c cc2538: lpm: Fix RTIMER_NOW() upon wake-up 2013-12-05 20:23:29 +01:00
rtimer-arch.h New Platform: TI CC2538 Development Kit 2013-04-06 21:07:31 +01:00
slip-arch.c New Platform: TI CC2538 Development Kit 2013-04-06 21:07:31 +01:00
spi-arch.h cc2538: spi: Add enable and disable functions 2013-11-20 14:20:50 +01:00