Skip to content

Re-implement us_ticker and lp_ticker for Silicon Labs targets #6471

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

stevew817
Copy link
Contributor

@stevew817 stevew817 commented Mar 27, 2018

Description

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, which has 15 bits of sub-second precision, to back lp_ticker (dual-purpose, also used to back RTC), and a TIMER to back us_ticker.

Blockers

This PR will fail automatic testing until the test methodology is fixed, see issue #6470

@geky
Copy link
Contributor

geky commented Mar 27, 2018

Tested with #6472 on the EFM32PG12_STK3402 👍

@0xc0170
Copy link
Contributor

0xc0170 commented Mar 27, 2018

Jenkins should be fixed via #6469 (once merged we shall rebase this and should be green)

@geky
Copy link
Contributor

geky commented Mar 27, 2018

@0xc0170 needs both #6472 and #6469 just fyi

@bulislaw bulislaw force-pushed the feature-hal-spec-ticker branch from afd66ab to 6daa7fc Compare March 27, 2018 14:06
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
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.
@stevew817 stevew817 force-pushed the feature-hal-spec-ticker branch from 343bbed to fdb4a8e Compare March 28, 2018 08:50
@stevew817
Copy link
Contributor Author

Rebased to include #6472 and #6469 which just got merged. Should go green now!

@0xc0170
Copy link
Contributor

0xc0170 commented Mar 28, 2018

/morph build

@mbed-ci
Copy link

mbed-ci commented Mar 28, 2018

Build : SUCCESS

Build number : 1611
Build artifacts/logs : http://mbed-os.s3-website-eu-west-1.amazonaws.com/?prefix=builds/6471/

Triggering tests

/morph test
/morph uvisor-test
/morph export-build
/morph mbed2-build

@mbed-ci
Copy link

mbed-ci commented Mar 28, 2018

@mbed-ci
Copy link

mbed-ci commented Mar 28, 2018

@cmonr cmonr merged commit 2153046 into ARMmbed:feature-hal-spec-ticker Mar 29, 2018
@cmonr cmonr removed the needs: CI label Mar 29, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants