Commit Graph

155 Commits (bc098d027207b1c7e15c8bf8175e5afb15492f76)

Author SHA1 Message Date
Russ Butler 8669417e7b Add HAL API for spi pinmap
Add the functions to get spi pinmaps to all targets.
2019-02-08 09:10:37 -06:00
Russ Butler 34c176654d Add HAL API for serial pinmap
Add the functions serial_tx_pinmap, serial_rx_pinmap, serial_cts_pinmap
and serial_rts_pinmap to all targets.
2019-02-08 09:10:28 -06:00
Russ Butler 2ed1dc2bfa Add HAL API for qspi pinmap
Add the functions qspi_master_sclk_pinmap, qspi_master_ssel_pinmap and
qspi_master_data0_pinmap-qspi_master_data3_pinmap to all targets with
qspi support.
2019-02-08 09:10:25 -06:00
Russ Butler be492fe07a Add HAL API for pwmout pinmap
Add the function pwm_pinmap to all targets.
2019-02-08 09:10:19 -06:00
Russ Butler 22a89773fa Add HAL API for i2c pinmap
Add the functions i2c_master_sda_pinmap, i2c_master_scl_pinmap,
i2c_slave_sda_pinmap and i2c_slave_scl_pinmap to all targets.
2019-02-08 09:10:12 -06:00
Russ Butler 3bd3aca6db Add HAL API for analog out pinmap
Add the function analogout_pinmap to all targets.
2019-02-08 09:10:05 -06:00
Russ Butler 4818f88d73 Add HAL API for analog in pinmap
Add the function analogin_pinmap to all targets.
2019-02-08 09:09:51 -06:00
Przemyslaw Stekiel d30a14e64f [Silicon_Labs] Support boot stack size configuration option 2019-01-08 15:32:06 +01:00
Alastair D'Silva aa80b7c70a Don't use define checks on DEVICE_FOO macros (partner code)
The DEVICE_FOO macros are always defined (either 0 or 1).

This patch replaces any instances of a define check on a DEVICE_FOO
macro with value test instead.

Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
2018-12-20 20:02:29 +11:00
David Saada 542744d03c Support erase value in Flash HAL drivers, FlashIAP and block devices 2018-11-07 14:23:07 +02:00
Deepika 08051f5c23 SiLabs: Fix alignment of execute region to 8-byte boundary
--legacyalign, --no_legacyalign are deprecated from ARMC6 compiler, in order to
remove deprecated flags all linker files (GCC and IAR as well to have uniformity)
should strictly align to 8-byte boundary
2018-10-09 10:15:07 -05:00
Martin Kojtal b5ee0c0e27
Merge pull request #8026 from SiliconLabs/bugfix/gpcrc
Fix for HW CRC calculations on Silicon Labs targets
2018-09-24 10:22:13 +02:00
Steven 0f879adccd Apply @kjbracey-arm's comments 2018-09-22 20:40:32 +02:00
Cruz Monrreal 7d54df66b1
Merge pull request #7993 from evva-sfw/hotfix/efm32_hal_pwmout_set_period_fix
Fix EFM32 pwmout hal function pwmout_period
2018-09-20 13:42:04 -05:00
Steven 7711d4c93b Word-sized input to GPCRC is only valid for 32-bit polynomial 2018-09-07 00:19:32 +02:00
Yossi Levy acfda5895e Changes in PR #7774 of PinNames.h should be reverted. This commit reverts those files excpet for K82F and K64F which are left as an example 2018-09-05 14:13:05 +03:00
Michael Kaplan dd2e93fbd3 Fix EFM32 pwmout hal function pwmout_period
In pwmout_period() is a check for changed values, which is not working because of a wrongly used bitmask. This is fixed now.
2018-09-05 11:17:28 +02:00
Cruz Monrreal 993c897b55
Merge pull request #7774 from yossi2le/sd-spif-to-mbed-os
Add default block device support (SD, SPIF and FLASHIAP)
2018-09-01 11:15:13 -05:00
Cruz Monrreal 00b7700be2
Merge pull request #7875 from c1728p9/feature_CMSIS_5_0b521765
Update CMSIS to 5.4.0
2018-08-31 11:31:37 -05:00
Yossi Levy ed8e170d15 Moving SD, SPIF and FLASHIAP into mbedos and refactoring features storage directory structure. 2018-08-29 12:01:11 +03:00
Steven Cooreman 55c6dade3d Apply changes corresponding to #7817
QSPI standard pin names were changed after the QSPI feature PR.
2018-08-27 10:10:18 +02:00
Steven e0d033bdd1 Allow unaligned input/output for QSPI
The code is written such that access to the data input/output happens word-by-word, and that means unaligned access is fine (though with a performance loss) on Cortex-M3/M4 devices.
2018-08-27 10:03:08 +02:00
Steven 845a5beb30 Initial commit of Silicon Labs QSPI HAL implementation
* For EFM32GG11, since that is the only Silicon Labs target with QSPI per today
* Verified working using the on-board flash and tests-mbed_hal-qspi
2018-08-27 10:03:08 +02:00
Russ Butler 22ebf69dea Revert "EFM32: Use SECURE_ACCESS to access the ROM table"
This reverts commit 1b0922e97b.
2018-08-25 20:40:35 -05:00
Oren Cohen 787317b7eb Remove uVisor from mbed-os 2018-08-22 16:36:59 +03:00
Cruz Monrreal bb7b97cadc
Merge pull request #7491 from evva-sfw/feature/EFM32_make_PeripheralPins_overridable
EFM32: fix weak PeripheralPins configuration
2018-07-20 08:01:39 -05:00
PHST 804edd578e Place "MBED_WEAK" for IAR-Toolchain before the type. 2018-07-17 08:12:41 +02:00
PHST de266d827e Added missing include. 2018-07-16 19:28:54 +02:00
PHST 1658349965 Replace __attribute__((weak)) with MBED_WEAK 2018-07-16 15:38:25 +02:00
PHST a8dcf52971 Make PeripheralPins.c configuration tables weakly defined to be overridable for target EFM32GG11. 2018-07-16 12:35:44 +02:00
PHST 95d78df962 EFM32 Make PeripheralPins.c configuration tables weakly defined to be overridable.
See issue "https://github.com/ARMmbed/mbed-os/issues/7424#issuecomment-404233377"
2018-07-16 11:48:53 +02:00
Steven Cooreman 86491627bf Add implementation for CRC API 2018-07-16 11:08:45 +02:00
Steven Cooreman 001844231b Add EFM32GG11_STK3701 support 2018-07-11 10:45:38 +02:00
Cruz Monrreal 513960f17d
Merge pull request #7386 from evva-sfw/feature/make_clock_src_changeable
Make clock source changeable over mbed_app.json for EFM32-Targets
2018-07-05 10:39:11 -05:00
PHST 9d9db81841 Make clock source changeable over mbed_app.json
By adding the missing include the clock source for EFM32-Targets is changeable over mbed_app.json.
2018-07-02 10:04:05 +02:00
Cruz Monrreal 42b3ef7bd5
Merge pull request #6991 from amq/efm32-universal-rtx
EFM32: make mbed_rtx.h depend of families instead of targets
2018-05-29 10:39:27 -05:00
Cruz Monrreal 88d863aaeb
Merge pull request #6984 from stevew817/'efm32_irq_bugfix'
EFM32 IRQ handling fix
2018-05-29 10:38:55 -05:00
Cruz Monrreal 1a0c2d0600
Merge pull request #6970 from stevew817/efm32_flash_bugfix
Fixes to EFM32 port
2018-05-29 10:38:30 -05:00
Cruz Monrreal fe43377939
Merge pull request #6947 from evva-sfw/hotfix/EFM32PG12_STK3402_Expansion_Header
EFM32PG12_STK3402 - Correct wrong Expansion-Header pin namings
2018-05-29 10:36:31 -05:00
Bartek Szatkowski a305d849a8 Rename LOWPOWERTIMER to LPTICKER 2018-05-25 13:06:56 -05:00
Martin Kojtal 73de4e6e48 efm32: remove unused undefined function from rtc 2018-05-25 13:04:23 -05:00
Steven Cooreman 81e6c96014 Code style fixes requested by @0xc0170
Tests still passing
2018-05-25 12:59:19 -05:00
Steven Cooreman 4b3bde1082 Re-implement RTC for Silicon Labs targets
mbed RTC specifications now dictate that the RTC needs to retain and keep on counting through reset. On Silicon Labs parts, this means the RTC API can not be backed by the Silicon Labs RTC peripheral, since that doesn't provide retention functionality.
Therefore:
* On EFM32GG, EFM32WG, EFM32LG: mbed RTC API is now backed by BURTC.
* On EFM32PG, EFR32MG, EFM32PG12, EFR32MG12: mbed RTC API is now backed by RTCC.
* On EFM32ZG, EFM32HG: mbed RTC API is sadly no longer supported, since these chips don't have retained memory.
2018-05-25 12:57:30 -05:00
Steven Cooreman 1448f81620 Re-implement us_ticker and lp_ticker for Silicon Labs targets
Re-implemented both us_ticker and lp_ticker to match the new API and specifications.
Details:
* On EFM32GG, EFM32WG, EFM32LG, EFM32HG, EFM32ZG: Use the RTC peripheral to back lp_ticker, and a TIMER to back us_ticker.
* On EFM32PG, EFR32MG, EFM32PG12, EFR32MG12: Use the RTCC peripheral to back lp_ticker (dual-purpose, also used to back RTC), and a TIMER to back us_ticker.
2018-05-25 12:20:10 -05:00
Steven Cooreman 5590f2b495 Re-implement RTC for Silicon Labs targets
mbed RTC specifications now dictate that the RTC needs to retain and keep on counting through reset. On Silicon Labs parts, this means the RTC API can not be backed by the Silicon Labs RTC peripheral, since that doesn't provide retention functionality.
Therefore:
* On EFM32GG, EFM32WG, EFM32LG: mbed RTC API is now backed by BURTC.
* On EFM32PG, EFR32MG, EFM32PG12, EFR32MG12: mbed RTC API is now backed by RTCC.
* On EFM32ZG, EFM32HG: mbed RTC API is sadly no longer supported, since these chips don't have retained memory.

# Conflicts:
#	targets/TARGET_Silicon_Labs/TARGET_EFM32/lp_ticker.c
#	targets/TARGET_Silicon_Labs/TARGET_EFM32/rtc_api.c
#	targets/targets.json
2018-05-25 12:20:10 -05:00
Bartek Szatkowski 6e9f04bf2f Rename DEVICE_LOWPOWERTIMER to DEVICE_LPTICKER
That's to match DEVICE_USTICKER.
2018-05-25 12:20:09 -05:00
amq d9fcbc7605 EFM32: make mbed_rtx.h depend of families instead of targets 2018-05-23 15:56:38 +00:00
Steven c2bc20ef74 Fix to flash API on EFM32
* Since mbed does not overwrite itself, make the flashing routines run out of flash by default
* Report a writeable size of 4 bytes (previously erroneously reported a full eraseable page as the minimum write size)
2018-05-22 22:55:49 +02:00
Steven 30db7fd441 Update pinout of TB_SENSE_12 to production revision
* Updated pinout of EXP header from pre-production to production
* Move assignment of PF7 to SPI_2 to be compatible with the new SPI flash routing
2018-05-22 22:54:24 +02:00
Steven b011e2b8c7 EFM32 IRQ handling fix
* IRQ handling got updated previously to a non-functional state when both callbacks were registered (it'd fire a fall callback for both rise and fall events). With this update, that faulty behaviour is corrected. Due to delays between the detection of the edge and the handling of the interrupt (and the fact that information about which edge you received on the pin is not stored anywhere), there is no way to be absolutely sure which edge got triggered on the pin. Therefore, we make a best-guess effort by looking at the pin state at the time of IRQ handling, and fire a callback as if that was the end state of the event. This will usually work out fine, except in cases were the signal is toggling faster than the IRQ handler's response time. In that case, a user won't get both callbacks (as expected for a pulse), but only the last event.
* Stripped some dead code.
2018-05-22 22:43:43 +02:00