Commit Graph

251 Commits (mbed-os-5.7)

Author SHA1 Message Date
ccli8 d2a7f5deb4 Rework us_ticker and lp_ticker with one H/W timer
Originally, we use 2 H/W timers for us_ticker/lp_ticker, one for counting and the other for alarm.
With H/W timer running in continuous mode, we could use just one H/W timer for counting/alarm simultaneously.
2018-03-14 14:48:09 -05:00
cyliangtw 55de114133 Define SERIAL and I2C pin name for compatiblity 2018-03-14 14:48:09 -05:00
ccli8 e9be37db4b Refine crypto_zeroize/crypto_zeroize32 2018-02-23 17:08:31 -06:00
ccli8 1c01ea93da Fix warning in crypto 2018-02-23 17:08:30 -06:00
ccli8 0eb60860f6 Support ECP H/W accelerator 2018-02-23 17:08:30 -06:00
ccli8 6dd4cf0b6d Rework us_ticker and lp_ticker
The rework includes the following:
1. Remove ticker overflow handling because upper layer (mbed_ticker_api.c) has done with it.
   This makes us_ticker/lp_ticker implementation more succinct and avoids potential error.
2. Refine timer register access with low-power clock source
2018-02-23 17:08:30 -06:00
ccli8 74fdd09939 Add gpio_is_connected 2018-01-27 00:57:27 -06:00
ccli8 51087a9f50 Fix DMA input/output buffers are overlapped in AES alter. 2018-01-12 15:01:47 +00:00
ccli8 fd650adcee Fix indefinite loop in SHA alter. 2018-01-12 15:01:47 +00:00
ccli8 1fea286725 Guard from reordering DMA wait and post-wait for crypto modules 2018-01-12 15:01:47 +00:00
ccli8 e352fc48bd Use interrupt signal rather than polling to check operation completion in DES alter.
This is to be consistent with PRNG/AES.
2018-01-12 15:01:47 +00:00
ccli8 274a54eb8b Refine flow control code between crypto start and crypto ISR 2018-01-12 15:01:47 +00:00
ccli8 9374e43545 Add comment for crypto_zeroize 2018-01-12 15:01:47 +00:00
ccli8 101892527f Update BSP crypto driver 2018-01-12 15:01:46 +00:00
ccli8 402d2d26ec Strengthen crypto DMA buffer check
1. Catch incompatible buffer range, where buffer base = 0xffffff00 and buffer size = 0x100.
2. Add buffer size alignment check.
2018-01-12 15:01:46 +00:00
ccli8 56087fe0a4 Fix compile error as mbedtls is not included
Currently, trng_api.c is located in targets/ and AES/DES/SHA alter. are located in mbedtls/.
They have shared crypto code.
If they could locate at same location e.g. mbedtls/, the shared crypto code placement would be more reasonable.
2018-01-12 15:01:46 +00:00
ccli8 77c53f8d06 Coordinate crypto interrupt handler among AES/PRNG 2018-01-12 15:01:46 +00:00
ccli8 41f4e1a12c Coordinate crypto init among AES/DES/SHA/PRNG
Add counter to track crypto init among crypto sub-modules. It includes:
1. Enable crypto clock
2. Enable crypto interrupt

As counter gets zero, crypto clock is disabled to save power.
2018-01-12 15:01:45 +00:00
Jimmy Brisson ab1b3ae8d3
Merge pull request #5454 from OpenNuvoton/trng_get_unalignment
Nuvoton: TRNG_Get support 32 bytes unalignment
2017-11-22 10:21:39 -06:00
ccli8 bc9c9ca1e2 [M487] Remove trailing space in lp_ticker/us_ticker 2017-11-22 08:55:58 +00:00
ccli8 8b86d44867 [M487] Fix premature lp_ticker interrupt
Old lp_ticker handles past event, but it has a bug with premature go-off.
The bug can re-produce on mbed-os-tests-mbed_drivers-lp_timeout/mbed-os-tests-mbed_hal-lp_us_tickers (mbed-os commit: 9c1fd48529).
Because upper layer (mbed-os/hal/mbed_ticker_api.c) has handled past event, this code can be removed from lp_ticker.

The similar fix also applies to us_ticker.
2017-11-22 08:55:58 +00:00
cyliangtw 288094568c [M487/NUC472/NANO130] fix TRUE/FALSE redefinition 2017-11-16 11:21:20 +00:00
cyliangtw d8a9e35a0c [M487/NUC472] Refine trng_get_bytes for consistency and readability 2017-11-13 12:11:08 +08:00
cyliangtw 2ee058be53 [M487/NUC472] Refine for correctness control 2017-11-10 16:22:35 +08:00
cyliangtw e252b10148 [M487/NUC472] zeroize random data on the stack memory 2017-11-09 16:01:14 +08:00
cyliangtw 76c2c19853 [M487/NUC472] Unified code-path for remaining bytes of TRNG_Get 2017-11-08 19:56:12 +08:00
cyliangtw 4118afa259 [M487/NUC472] TRN_Get support 32 bytes unalignment 2017-11-08 14:23:05 +08:00
ccli8 bf426b0771 [NUC472/M453/M487/NANO130] Remove dead power-down code with mbed OS 3
These power-down code are stale and would be superseded by sleep manager.
2017-09-22 09:42:51 +08:00
ccli8 4040211f9e [NANO130] Refine sleep code
1. Remove stale code with mbed OS 3.
2. Remove check for busy peripherals unorganizedly. This would be supported by e.g. official sleep manager.
2017-09-22 09:33:53 +08:00
ccli8 785413aa1e [NANO130] Fix RTC hour error with AM/PM 2017-09-21 16:42:00 +08:00
ccli8 33070988de [NANO130] Fix lp_ticker wake-up is incorrectly disabled 2017-09-20 16:56:37 +08:00
ccli8 f553277198 [NANO130] Fix lp_ticker typo 2017-09-20 16:56:36 +08:00
ccli8 c4c902289f [NANO130] Change SW2/SW3 to SW1/SW2 to match target board 2017-09-20 16:56:35 +08:00
ccli8 443d18a18c [NANO130] Move target configuration from mbed_lib.json to targets.json 2017-09-20 16:56:34 +08:00
ccli8 d4af4ba3a7 [NUC472/M453/M487] Fix RTC hour error with AM/PM 2017-09-20 16:56:34 +08:00
ccli8 83fc132b97 [NUC472] Fix RTC macro function with no arguments in BSP 2017-09-20 16:56:33 +08:00
ccli8 6eb4e11b37 [NUC472/M453/M487] Refine sleep code
1. Remove stale code with mbed OS 3.
2. Remove check for busy peripherals unorganizedly. This would be supported by e.g. official sleep manager.
2017-09-20 16:56:32 +08:00
ccli8 52733fe7f6 [M487] Replace mktime/localtime with interrupt-safe version in rtc
The use of mktime was causing a fault when called in interrupt handler because on GCC it lock the mutex protecting the environment, To overcome this issue, this patch add dedicated routine to convert a time_t into a tm and vice versa.
In the process mktime has been optimized and is now an order of magnitude faster than the routines present in the C library.
2017-09-20 16:56:31 +08:00
Jimmy Brisson 91afbce18a Correct Nuvoton compiler detection logic 2017-09-11 13:20:33 -05:00
Jimmy Brisson 15a9a0382b Enable Compiling with ARMC6 across all targets
remove duplicate sys.cpp
2017-09-11 13:20:32 -05:00
ccli8 cacc444b73 [M487] Support USB device/host 2017-08-22 09:27:31 +08:00
Jimmy Brisson 0f0a461209 Merge pull request #4832 from OpenNuvoton/nuvoton
NUC472/M453: Fix several startup and hal bugs
2017-08-14 11:38:18 -05:00
Jimmy Brisson 097720670e Merge pull request #4631 from OpenNuvoton/nuvoton_nano130
Add new target NUMAKER_PFM_NANO130
2017-08-14 11:35:58 -05:00
MS30 CCChang12 346209ed2f [NANO130] Adjust the stack size in IAR toolchains 2017-08-10 15:35:02 +08:00
ccli8 f8af225dda [M487] Remove support for uVisor core debug message via STDIO
This is necessary. Otherwise, program will hang in uninitialized STDIO UART because uVisor core doesn't enable it.
2017-08-03 18:48:31 +08:00
ccli8 9ac0d90937 [M487] Move target configuration from mbed_lib.json to targets.json 2017-08-03 13:40:32 +08:00
ccli8 afb5aba8d9 [M487] Fix compile warnings with IAR toolchain 2017-08-03 13:33:17 +08:00
ccli8 99d12b1eb8 [M487] Fix compile warnings with GCC_ARM toolchain 2017-08-03 11:10:15 +08:00
ccli8 b31d6f6eaa [M487] Fix compile warnings with ARM toolchain 2017-08-03 09:24:05 +08:00
cyliangtw 6b8724b27d [NUC472] Sync SPI mode with NUC472 BSP V3.02.001 2017-08-01 14:40:54 +08:00