Commit Graph

222 Commits (d1d6bf51b387ef39f97320b2febd5d79231682ba)

Author SHA1 Message Date
Harrison Mutai d1d6bf51b3 Add license notice to Arm copyrighted source files
Scancode found missing license notices in our source files. This commit
addresses those issues by adding an Apache-2.0 notice to source files
highlighted.
2020-10-15 10:46:35 +01:00
Martin Kojtal 468372e759
Merge pull request #13492 from talorion/fix-PwmOut-resets-after-suspend
Fix pwm out resets after suspend
2020-09-10 12:40:18 +01:00
Jaeden Amero 612b148fd4 stack: armc: Workaround config passing bug
Workaround a bug where the boot stack size configuration option is not
passed on to armlink, the Arm Compiler's linker. Prefer
MBED_CONF_TARGET_BOOT_STACK_SIZE if present, as this is what the
configuration system should provide. Fall back to MBED_BOOT_STACK_SIZE
if MBED_CONF_TARGET_BOOT_STACK_SIZE is not defined, as in the case of
buggy tools. If both MBED_CONF_TARGET_BOOT_STACK_SIZE and
MBED_BOOT_STACK_SIZE are not defined, then we fall back to a hard-coded
value provided by the linkerscript. See
https://github.com/ARMmbed/mbed-os/issues/13474 for more information.
2020-09-10 10:08:38 +01:00
Jaeden Amero 39e69d328d Use boot stack size from config system
To allow overriding of the boot stack size from the Mbed configuration
system, consistently use MBED_CONF_TARGET_BOOT_STACK_SIZE rather than
MBED_BOOT_STACK_SIZE.

Fixes #10319
2020-09-10 10:08:38 +01:00
talorion b1eedc0a7c fixed order of operations 2020-09-08 17:08:06 +02:00
talorion 0361627c33 fixed order of operations 2020-09-08 16:53:29 +02:00
amq 6da9237f6f
Fix a typo in PeripheralPins.c for EFM32GG11
- PF13 had the same value as PF15
2020-09-08 12:04:32 +00:00
talorion 067431e088 pwmout - EFM32 - add read methods for period and pulsewidth 2020-09-02 13:39:16 +02:00
Marcelo Salazar 4d8a720e21 Remove EFM32PG12 targets 2020-04-30 09:56:37 +01:00
MarceloSalazar 52581cdd0e Remove EFR32MG1_BRD4150 target 2020-04-30 09:56:35 +01:00
MarceloSalazar 1553868748 Remove TB_SENSE_1 target 2020-04-30 09:56:35 +01:00
MarceloSalazar 80aaa29e85 Remove efm32zg_stk3200 target 2020-04-30 09:56:35 +01:00
MarceloSalazar 851fd4c0a7 Remove efm32hg_stk3400 targets 2020-04-30 09:56:35 +01:00
MarceloSalazar e4b243b334 Remove efm32wg_stk3800 target 2020-04-30 09:56:35 +01:00
MarceloSalazar 0d46778392 Remove efm32lg_stk3600 target 2020-04-30 09:56:34 +01:00
MarceloSalazar 9276eb0cc3 Remove efm32pg_stk3401 target 2020-04-30 09:56:34 +01:00
Martin Kojtal 66bf7e85a6
Merge pull request #12547 from amq/update-emlib
EFM32: update emlib to 5.9.1
2020-04-01 14:19:10 +02:00
amq ef28b74802 EFM32: move __Vectors from header to source 2020-03-31 10:37:28 +02:00
Martin Kojtal f011ccb2cb
Merge pull request #12692 from petroborys/master
EFM32G11: Add RGB LEDs to PinNames.h
2020-03-26 09:08:53 +01:00
petroborys 3f6a48fcc8 Added RGB LEDs to PinNames.h 2020-03-24 21:05:07 +02:00
amq 0fdb9f237a EFM32: fix minor emlib changelog typos 2020-03-02 14:00:40 +01:00
amq 6f7b242ff5 EFM32: update emlib for EFR32MG12 2020-03-02 13:32:41 +01:00
amq 4c375046bc EFM32: update emlib for EFR32MG1 2020-03-02 13:32:41 +01:00
amq 0361bdea3f EFM32: update emlib for EFM32ZG 2020-03-02 13:32:41 +01:00
amq c68bcf806e EFM32: update emlib for EFM32WG 2020-03-02 13:32:40 +01:00
amq 4c230763db EFM32: update emlib for EFM32PG 2020-03-02 13:32:40 +01:00
amq 012682a244 EFM32: update emlib for EFM32LG 2020-03-02 13:32:40 +01:00
amq b3f13b8d4a EFM32: update emlib for EFM32HG 2020-03-02 13:32:39 +01:00
amq 39d5c86829 EFM32: update emlib for EFM32PG12 2020-02-27 22:32:39 +01:00
amq 5dfea97afc EFM32: update emlib for EFM32GG11 2020-02-27 22:31:57 +01:00
amq a1a55d8c5c EFM32: update emlib for EFM32GG 2020-02-27 22:31:16 +01:00
amq b81d585404 EFM32: update emlib src and inc 2020-02-27 22:16:06 +01:00
amq 9399887686 EFM32: update emlib changelog 2020-02-27 22:15:44 +01:00
Steven Cooreman 9bc59fe2d7 Bugfix for #12374
Use an RTCC retention register to keep track of user timebase for RTC API. RTC and LP Ticker implementations use the same counter, but they shouldn't share timebases.
2020-02-25 11:44:12 +01:00
amq ca9424f6ba EFM32: fix mbed_hal-pinmap test 2020-02-24 11:25:01 +01:00
amq 860ccdec5e
EFM32: add UART and LEUART for EFM32GG11
- adds the missing PinMap definitions for UART0, UART1, LEUART0 and LEUART1
- corrects a misplaced `#endif` for `#if DEVICE_SPI` which included `UART_TX`
- all according to https://www.silabs.com/documents/public/data-sheets/efm32gg11-datasheet.pdf
2020-01-18 14:10:22 +01:00
petroborys 2525100cc7 modified itm_api.c for STK3701 and add SWO location 0 to EFM32GG11_STK3701, EFM32GG_STK3700, EFM32LG_STK3600, EFM32PG_STK3401, EFM32PG12_STK3402 and EFM32WG_STK3800 2019-12-07 03:00:01 +02:00
Kevin Bracey 1f94428a56 Update HAL CRC API
* Change "is supported" check to be a macro, so it can be done at
  compile-time.
* Eliminate weird shift on 7-bit CRCs.
* Add support for 32-bit CRCs and reversals to TMPM3HQ.
2019-11-13 14:31:49 +02:00
Martin Kojtal eea83007be
Merge pull request #11203 from Tharazi97/Watchdog_lower_limit_timeout_test
Add watchdog lower limit timeout test
2019-10-31 14:25:52 +01:00
Kevin Bracey fb6aa3ef4f Clean up ARM toolchain heap+stack setup in targets
ARM Compiler 6.13 testing revealed linker errors pointing out
conflicting use of `__user_setup_stackheap` and
`__user_initial_stackheap` in some targets. Remove the unwanted
`__user_initial_stackheap` from the targets - the setup is
centralised in the common platform code.

Looking into this, a number of other issues were highlighted

* Almost all targets had `__initial_sp` hardcoded in assembler,
  rather than getting it from the scatter file. This was behind
  issue #11313. Fix this generally.
* A few targets' `__initial_sp` values did not match the scatter
  file layout, in some cases meaning they were overlapping heap
  space. They now all use the area reserved in the scatter file.
  If any problems are seen, then there is an error in the
  scatter file.
* A number of targets were reserving unneeded space for heap and
  stack in their startup assembler, on top of the space reserved in
  the scatter file, so wasting a few K. A couple were using that
  space for the stack, rather than the space in the scatter file.

To clarify expected behaviour:

* Each scatter file contains empty regions `ARM_LIB_HEAP` and
  `ARM_LIB_STACK` to reserve space. `ARM_LIB_STACK` is sized
  by the macro `MBED_BOOT_STACK_SIZE`, which is set by the tools.
  `ARM_LIB_HEAP` is generally the space left over after static
  RAM and stack.
* The address of the end of `ARM_LIB_STACK` is written into the
  vector table and on reset the CPU sets MSP to that address.
* The common platform code in Mbed OS provides `__user_setup_stackheap`
  for the ARM library. The ARM library calls this during startup, and
  it calls `__mbed_user_setup_stackheap`.
* The default weak definition of `__mbed_user_setup_stackheap` does not
  modify SP, so we remain on the boot stack, and the heap is set to
  the region described by `ARM_LIB_HEAP`. If `ARM_LIB_HEAP` doesn't
  exist, then the heap is the space from the end of the used data in
  `RW_IRAM1` to the start of `ARM_LIB_STACK`.
* Targets can override `__mbed_user_setup_stackheap` if they want.
  Currently only Renesas (ARMv7-A class) devices do.
* If microlib is in use, then it doesn't call `__user_setup_stackheap`.
  Instead it just finds and uses `ARM_LIB_STACK` and `ARM_LIB_HEAP`
  itself.
2019-10-23 14:53:49 +03:00
Filip Jagodzinski fe685068ff Silicon Labs: Fix watchdog features build errors 2019-10-15 15:40:10 +02:00
Matthew Macovsky baf375f8cb Allow for arbitrary QSPI alt sizes
The QSPI spec allows alt to be any size that is a multiple of the
number of data lines. For example, Micron's N25Q128A uses only a
single alt cycle for all read modes (1, 2, or 4 bits depending on
how many data lines are in use).
2019-09-30 14:45:08 -07:00
int_szyk e2955eb968 Add watchdog clock accuracy to SiliconLabs targets 2019-09-30 08:10:25 +02:00
Arto Kinnunen 01484a2226
Merge pull request #11007 from SiliconLabs/fix/fpga_tests/pwm
Fix PWM output on Silicon Labs targets for large pulsewidths
2019-07-15 15:43:46 +03:00
Arto Kinnunen b5d8c3860e
Merge pull request #11008 from SiliconLabs/fix/fpga_tests/spi
Enable FPGA-based SPI testing on Silicon Labs targets
2019-07-15 15:42:55 +03:00
Arto Kinnunen 6ef5e228b5
Merge pull request #11015 from SiliconLabs/fix/fpga_tests/adc
Fix wrongly declared ADC pinout for EFM32GG11 STK3701A
2019-07-15 15:38:47 +03:00
Steven Cooreman 35851005ef Fix wrongly declared ADC pinout for EFM32GG11 STK3701A 2019-07-10 11:27:29 +01:00
Steven Cooreman fb4d898f2e Allow re-initializing an I2C peripheral
Allows the FPGA based test to pass, but requires #11004 before it will
2019-07-09 23:37:11 +01:00
Steven Cooreman 6094542bb1 Avoid the FPGA tester using hardware CS which is not supported
Also implement rudimentary spi_free...
2019-07-09 22:48:37 +01:00
Steven Cooreman 476dc6e46a Fix for PWM output found by testing against FPGA shield
Two issues:
* Downcasting too early
* Potential for a uint32_t overflow in an intermediate calculation

Passing test requires #11005 to be merged.
2019-07-09 22:38:53 +01:00