Commit Graph

153 Commits (430fb3e7ba267c61852fd88e431d8249fc7984cd)

Author SHA1 Message Date
Steven Cartmell e1ca2b32fc Add CRC configuration options to HAL API 2018-05-24 17:51:49 +01:00
Steven Cartmell 167d3f9a1e HAL CRC: Return early when calling compute with null or 0 size buffer 2018-05-24 17:51:48 +01:00
Steven Cartmell df93c0151c Remove support for 7/8 bit CRC polynomials for K64F 2018-05-24 17:51:48 +01:00
Steven Cartmell fd8b974d47 Add K64F Hardware CRC reference implementation
- Add support for all currently defined polynomials
- Add 'CRC' flag to targets.json for K64F profile
2018-05-24 17:51:48 +01:00
Mahesh Mahadevan 93f8cfed05 K64F: Updated the SYSMPU SDK driver
This is required to setup the MPU for ENET bus master accesses

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-05-23 12:24:07 +03:00
Martin Kojtal 0c61cf4a37
Merge pull request #6785 from codeauroraforum/Fix_KL82Z_PWMOUT
KL82Z: Fix clock selection for PWMOUT driver
2018-05-03 16:24:07 +01:00
Mahesh Mahadevan 87244a969b KW41Z: Update SDK TPM driver
Certain instances of the TPM are missing some registers, updated
TPM driver handles this variation. This issue was discovered when
running the PWMOUT tests using the ci-test-shield

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-05-01 14:48:12 -05:00
Mahesh Mahadevan 0fb2f01ce7 KL82Z: Fix clock selection for PWMOUT driver
This was verified using the ci-test shield

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-05-01 12:22:04 -05:00
Martin Kojtal 43d0f17740 KL27Z: Flash protection macro addition
PR #6468 updated flash driver, but not for KL27Z target (another CPU type).
It is missing and leads to build failure. This fixes it.
2018-04-23 10:57:20 +01:00
Mahesh Mahadevan 72011173fc MCUXpresso: Fix deepsleep implementation for Kinetis parts
1. Fix the check to look for if MCG has a PLL
2. Do setup before and after deep sleep mode execution

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-04-10 08:16:41 -05:00
Mahesh Mahadevan e163a2769f MCUXpresso: Update Kinetis flash driver
Flash functions needed to be called before entering deepsleep mode

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-04-10 08:16:41 -05:00
Mahesh Mahadevan c3f8cac2e3 KL82Z: Fix the clock selection for LPUART module
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-03-27 02:52:20 -05:00
Cruz Monrreal 842a86ad7c
Merge pull request #6310 from codeauroraforum/Fix_K82F_I2C
MCUXpresso: Fix test failures seen with ci-test shield
2018-03-15 10:41:08 -05:00
Mahesh Mahadevan 5230bcaf6f MCUXpresso: Update the I2C implmentation for byte read and write
1. Start function: Issue repeat start when bus is busy
2. Byte write function: Do not call SDK function as this does
   not work for some of the Kinetis device
3. Byte read function: Do not call SDK function as this would
   issue a START and STOP signal which is not required for
   I2C byte functions

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-03-09 08:32:22 -06:00
Mahesh Mahadevan 53fa4e5fc4 MCUXpresso: Enable I2C SDA & SCL pins internal pullup resistors
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-03-09 08:18:21 -06:00
Mahesh Mahadevan d29c12d233 K82F: Fix I2C test failures seen with ci-test shield
I2C3 clock define was missing. I2C3 is connected to the Arduino
connector which is used by the ci-test shield

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-03-09 08:04:54 -06:00
Mahesh Mahadevan 7ed36e4986 MCUXpresso_MCUS: Apply K64F us_ticker fix across all MCU's
Applied changes from commit b6a01de070
for other MCUXpresso MCUs

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-03-07 07:27:04 -06:00
Przemyslaw Stekiel b6a01de070 K64F lp ticker driver - calculation bug fix.
Delta calculation from lp_ticker_set_interrupt() function:
delta_us = timestamp > now_us ? timestamp - now_us : (uint32_t)((uint64_t)timestamp + 0xFFFFFFFF - now_us);

Lets assume that timestam == now_us.
Expected delta value should be 0 and in this current version is 0xFFFFFFFF.

The following condition:
timestamp > now_us
should have the following form:
timestamp >= now_us

Additionally modified us ticker driver to provide the same logic.
2018-02-09 14:29:24 +01:00
Maciej Rogozinski bb4a72c39d Bootloader support for MK24F1 for IAR toolchain 2017-12-11 09:54:21 +01:00
Maciej Rogozinski c9500c6c58 Bootloader support for MK24F1 for Keil toolchain 2017-12-11 09:51:06 +01:00
Maciej Rogozinski aaa09d5482 Added missing subscription 2017-12-10 15:32:45 +01:00
sarahmarshy cefcb8cff3
Update K64F trng_api.c 2017-11-21 16:50:43 -06:00
Jimmy Brisson 1566395323 Merge pull request #5347 from 0xc0170/nxp_fix_lptimer
MCUXpresso: Fix LPTimer issue when using multiple timeout objects
2017-10-23 10:34:50 -05:00
Jimmy Brisson 2a8023180f Merge pull request #5340 from 0xc0170/nxp_fix_us_timer_replacement
MCUXpresso: Fix issue of ticker interrupt incorrectly firing
2017-10-23 10:34:07 -05:00
Mahadevan Mahesh bc5c94517c MCUXpresso: Fix LPTimer issue when using multiple timeout objects
Fix for Issue #5150

Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2017-10-19 11:38:22 +01:00
Mahadevan Mahesh 168bdc8803 MCUXpresso: Fix issue of ticker interrupt incorrectly firing
Fix for Issue #5279

Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2017-10-18 15:29:57 +01:00
maclobdell e6b0a2bec4 fix app start size in IAR linker for K66F 2017-10-13 10:41:08 -05:00
maclobdell 5ec0616602 add updates for bootloader support to K66F 2017-10-13 10:41:08 -05:00
Jimmy Brisson f5bb15f773 Merge pull request #5152 from NXPmicro/Update_RTC_HAL_driver
Kinetis RTC HAL: Allow writing 0 to the seconds register
2017-09-29 10:12:22 -05:00
Jimmy Brisson 760fc335c0 Merge pull request #4982 from NXPmicro/Update_K66_SDK22
Update K66F to SDK 2.2
2017-09-27 09:05:44 -05:00
Mahadevan Mahesh d9a8c63b53 K66F: Use DSPI SDK driver API's in spi block read
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2017-09-24 08:14:59 -05:00
Mahadevan Mahesh 593fb3a6fb K66F: Update to SDK 2.2
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2017-09-24 08:14:52 -05:00
Martin Kojtal 81fde11dae Merge pull request #4968 from dlfryar/master
Add bootloader support for NXP FRDM-KW24D
2017-09-22 11:33:40 +01:00
Mahadevan Mahesh 1dadb055f7 RTC HAL: Allow writing 0 to the seconds register
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2017-09-21 13:33:07 -05:00
Jimmy Brisson cd4fd86f1f Correct Freescale + NXP compiler detection macros
Also removes duplication of common files
2017-09-11 13:20:32 -05:00
Jimmy Brisson 15a9a0382b Enable Compiling with ARMC6 across all targets
remove duplicate sys.cpp
2017-09-11 13:20:32 -05:00
Dexter Fryar ffe84bd3f3 Add bootloader support for NXP FRDM-KW24D 2017-09-05 13:28:44 -05:00
Martin Kojtal b0dd984493 Merge pull request #4939 from c1728p9/crash_on_boot
Fix crashes on boot on some Kinetis devices
2017-09-04 16:51:22 +01:00
Russ Butler b402b7a8c6 Fix crash on boot due to vector size mismatch
If NVIC_NUM_VECTORS is larger than the space allocated by the vector
table in ram (__ram_vector_table_size__) then the call to mbed_cpy_nvic
during boot will corrupt valid data, which can lead to a crash. This
patch fixes the declared number of vectors on the KL27Z, KL43Z and
KL82Z to fix this crash.
2017-09-01 18:43:38 -05:00
Mahadevan Mahesh c5b66b85ba K66F,KW24D,K22F,K64F: Fix NVIC_NUM_VECTORS value
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2017-08-23 10:50:12 -05:00
Jimmy Brisson d10d5af28a Merge pull request #4842 from NXPmicro/Fix_Analogout
Add call to DAC_Enable as this is no longer done as part …
2017-08-14 11:38:38 -05:00
Deepika 2a9c88c1b0 Use DSPI SDK driver API's in spi block read 2017-08-11 10:22:23 -05:00
Mahadevan Mahesh 8a8553e8a0 Add call to DAC_Enable as this is no longer done as part of DAC_Init
Fixes Issue #3999

Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2017-08-10 09:36:48 -05:00
Martin Kojtal 1c948283be Merge pull request #4805 from NXPmicro/Update_K64F_DSPI_SDK_Driver
K64F: Update the DSPI SDK driver to support the new API to change DUM…
2017-08-09 10:24:07 +01:00
Mahadevan Mahesh cb95458c44 K64F: Update the DSPI SDK driver to support the new API to change DUMMY_DATA
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2017-07-24 15:26:13 -05:00
Jimmy Brisson 1f94ede86c Merge pull request #4744 from deepikabhavnani/spi_issue_4743
Allow user to set default transfer byte for block read
2017-07-24 14:45:30 -05:00
Deepika 1b797e9081 Closed review comments
1. Doxygen and Grammar related
2. Change dummy to spi_fill
3. Remove NXP driver and add default loop in spi block read (same as all
other drivers)
2017-07-21 09:46:22 -05:00
Martin Kojtal 10ea63b8e7 Ticker: add fire interrupt now function
fire_interrupt function should be used for events in the past. As we have now
64bit timestamp, we can figure out what is in the past, and ask a target to invoke
an interrupt immediately. The previous attemps in the target HAL tickers were not ideal, as it can wrap around easily (16 or 32 bit counters). This new
functionality should solve this problem.

set_interrupt for tickers in HAL code should not handle anything but the next match interrupt. If it was in the past is handled by the upper layer.

It is possible that we are setting next event to the close future, so once it is set it is already in the past. Therefore we add a check after set interrupt to verify it is in future.
If it is not, we fire interrupt immediately. This results in
two events - first one immediate, correct one. The second one might be scheduled in far future (almost entire ticker range),
that should be discarded.

The specification for the fire_interrupts are:
- should set pending bit for the ticker interrupt (as soon as possible),
the event we are scheduling is already in the past, and we do not want to skip
any events
- no arguments are provided, neither return value, not needed
- ticker should be initialized prior calling this function (no need to check if it is already initialized)

All our targets provide this new functionality, removing old misleading if (timestamp is in the past) checks.
2017-07-13 12:23:25 +01:00
Deepika fd43405ffe Allow user to set dummy tranfer byte for block read 2017-07-11 15:46:32 -05:00
Anna Bridge 4890261c98 Merge pull request #4548 from deepikabhavnani/os_warn
Resolve Warnings for mbed-os-examples
2017-07-07 12:43:27 +01:00
Jimmy Brisson c7d6bbe295 Upcase all assembler file extensions 2017-06-20 14:50:08 -05:00
Deepika 251fae34ac Resolving: unused variable 'mode' [-Wunused-variable]. mode is used to determine kMCG_ModePEE in case of PEE to switch back manually as default after wakeup MCG is in PBE mode. this is required only when PEE mode is required 2017-06-15 12:14:04 -05:00
Deepika 35a436672b Resolving warning: unused variable 'instance' [-Wunused-variable] 2017-06-15 12:09:50 -05:00
Deepika 8e1fe0a6b7 Added newline at end of file 2017-06-15 12:08:34 -05:00
Deepika cc6de51688 Resolving warning: #2524-D: #pragma pop with no matching #pragma push : Pragma push for CC_ARM option is inside GNUC define, same hierarchy to be followed while pop 2017-06-15 12:07:02 -05:00
Deepika 9c9586a388 moving static at the start to resolve warning:'static' is not at beginning of declaration [-Wold-style-declaration] 2017-06-15 12:02:43 -05:00
Mahadevan Mahesh ef00edf934 Issue#4528 K82F: Move the UART clock inititialization to board specific file
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2017-06-13 12:10:16 -05:00
Mahadevan Mahesh b3b0d21c8b Flash API support using the MCUXpresso drivers
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2017-06-09 11:20:23 -05:00
Sam Grove bedebce37e Merge pull request #4476 from c1728p9/workshop_rebase_4050
Add TRNG support for KW41Z
2017-06-08 15:58:03 -05:00
Mahadevan Mahesh 355a84ee74 Fix comments in KW41Z hardware entropy driver
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2017-06-07 17:10:15 -05:00
Mahadevan Mahesh 059affaf4e Add TRNG support for KW41Z
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2017-06-06 16:33:53 -05:00
Russ Butler f749a2990b Safely initialize RTC on kinetis devices
When initializing the RTC on Kinetis devices, handle the case where
the time overflow interrupt is pending and the case where the time
alarm flag is pending. These flags persist across reset and if not
handled will cause a crash when powering up the low power ticker.

This problem manifested as a lp_ticker test failure on the K22F and
K64F on CI only when running a nightly. This problem has been present
but was made obvious by PR #4094 which configures all tickers to
interrupt at least every MBED_TICKER_INTERRUPT_TIMESTAMP_MAX_DELTA
(~31 minutes). This caused the RTC alarm to fire 31 minutes after the lp_ticker
or lp_timeout test and caused the next run of the lp_ticker test to
crash on boot.
2017-06-06 15:30:41 -05:00
Sam Grove 5f138810a9 Merge pull request #4294 from ARMmbed/feature_cmsis5
Update CMSIS-Core and RTX to version 5
2017-06-02 23:44:32 -05:00
Martin Kojtal e229a49182 Merge pull request #4207 from geky/spi-remove-byte-locking
spi: Add SPI block-write to C++ and HAL for performance
2017-06-01 14:03:36 +02:00
Bartek Szatkowski b97ffe8fdc CMSIS5: Replace target defined NVIC_Set/GetVector with CMSIS implementation 2017-05-30 18:55:51 +01:00
Sam Grove 049402c39f Merge pull request #4315 from theotherjimmy/thinkberg-master
Add support for ubirch boards
2017-05-26 10:26:40 -05:00
Christopher Haster e352f1b7f8 k64f: Added SPI block write using DSPI_MasterTransferBlocking
performance improvements:
naive block writes    3.997Mbps
DSPI block writes    17.809Mbps
2017-05-25 12:08:39 -05:00
Christopher Haster c1de19e49e spi: Added default spi_master_block_write implementation to all targets
There is an easy default implementation of spi_master_block_write that
just calls spi_master_write in a loop, so the default implementation
of spi_master_block_write has been added to all targets.
2017-05-25 12:04:58 -05:00
Matthias L. Jugel b6d5d9bf5d fixed clock config, fixed UART pins
fixed clock config, fixed UART pins

fixed clock config, fixed UART pins

fixed clock config, fixed UART pins
2017-05-12 15:14:47 -05:00
Matthias L. Jugel 0d5023430b add usense support
add usense support

add usense support
2017-05-12 15:14:46 -05:00
Matthias L. Jugel 2a665882e9 mbed kinetis low power modes
mbed kinetis low power modes

mbed kinetis low power modes
2017-05-12 15:14:46 -05:00
Matthias L. Jugel 265c04697f patch latest clock settings for ubirch#1
fix lpuart clock source settings, retrieve clock frequency accordingly
2017-05-12 15:14:24 -05:00
Matthias L. Jugel 0e504da9f6 fix uart settings 2017-05-12 15:14:03 -05:00
Matthias L. Jugel b1a532553c Add USENSE and UBRIDGE targets, and add trng to K82F and KL82Z 2017-05-12 15:13:32 -05:00
Yoshihiro TSUBOI 3c1399482f [RO359B] platform added 2017-05-11 20:39:45 +09:00
Kevin Gilbert 418d83b6c2 Addressed review comments: fixed unmapped switches and added Hexiware buttons 2017-05-02 12:20:05 -05:00
Kevin Gilbert 28d1ac5a44 Added mapping to USER_BUTTON-labelled switches
Revert HRM1017 file source deletion

Added in small comment next to additions

Added mapping to BTN-labelled switches

Added mapping to USER_BUTTON-labelled switches

Undo incorrect mapping to SWIO pin in NORDIC target
2017-04-28 11:37:23 -05:00
Kevin Gilbert 77cc87b050 Adding consistent button pin mappings 2017-04-27 18:42:47 -05:00
Mahadevan Mahesh 5b866b79d1 MCUXpresso: Update ARM linker files to reduce RAM reserved for stack & heap
Heap and stack size is determined via the RTOS.

Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2017-04-14 11:21:28 -05:00
Sam Grove 6c6c2fa0ec Merge pull request #4014 from NXPmicro/Update_GCC_ARM_Linker
Issue 3763: Reduce heap allocation in the GCC linker file
2017-04-06 08:47:11 -05:00
Sam Grove b9bc2c0e4c Merge pull request #4065 from NXPmicro/K66_Move_bss_to_RAM2
K66F: Move bss section to m_data_2 Section
2017-03-29 23:08:51 +01:00
Sam Grove b25eaf5d85 Merge pull request #3979 from NXPmicro/KW24D_Pindefines
KW24D: Add missing SPI defines and Arduino connector definitions
2017-03-29 22:19:23 +01:00
Mahadevan Mahesh 5d45b5a0ca K66F: Move bss section to m_data_2 Section
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2017-03-28 08:58:42 -05:00
0xc0170 424fd78161 flash: fix flash algo generated - protect with DEVICE_FLASH 2017-03-26 17:59:40 +01:00
Mahadevan Mahesh 8298345c1b Issue 3763: Reduce heap allocation in the GCC linker file
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2017-03-23 16:35:06 -05:00
Mahadevan Mahesh c1ed01e0ed KW24D: Add missing SPI defines and Arduino connector definitions
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2017-03-23 09:16:29 -05:00
Christopher Haster aff49d8d1e Renamed files in platform to match source names
critical.h     -> mbed_critical.h
sleep.h        -> mbed_sleep.h
toolchain.h    -> mbed_toolchain.h
rtc_time.h     -> mbed_rtc_time.h
semihost_api.h -> mbed_semihost_api.h
wait_api.h     -> mbed_wait_api.h
2017-02-22 18:17:54 -06:00
Russ Butler 071235415e Add K64F, KL46Z, F429, F439 and odin flash algos
Check in flash algos for the K64F, KL46Z, F429, F439  and Odin board
and enable these features accordingly in targets.json. This
implementation uses flash algo blob that are generated via scripts.
The K64F and KL46Z were generated directly from packs, while the
KL46Z, F429, F439 and odin were generated from code checked into
the FlashAlgo repo.
2017-02-21 14:09:06 -06:00
0xc0170 bf77857641 NXP KL43Z/KL27Z: fix spi format bits check
Fixes #2989. It was always true for valid values (if its not 8 neither 16 bits, fail).
2017-02-20 10:42:18 +00:00
Russ Butler 579b2fbe40 Update K64F linker scripts for bootloader support
Add MBED_APP_START and MBED_APP_SIZE to the K64F's linker script
so the start and size of an image can be specified. This allows the
ROM to be split into a bootloader region and an application region.
2017-02-10 18:28:58 -06:00
Jaeden Amero 378655f40c uVisor: Standardize available legacy heap and stack
With the RTOS, the STACK_SIZE specified here is unrelated to the stack
size available for the main thread (that runs pre_main). Save memory by
reducing the stack size to a more reasonable amount.

On uVisor, HEAP_SIZE is both a minimum available and maximum available
heap size. The heap can't grow beyond the end of the heap into the
neighboring stack. On all uVisor-supported platforms, guarantee at least
0x6000 bytes of heap space. This increases the portability of uVisor
applications as the memory available for legacy heap allocations is
guaranteed. This helps to avoid out of memory errors on platforms that
were previously guaranteeing less memory.
2017-02-07 16:46:38 +00:00
Martin Kojtal ade6722707 Merge pull request #3607 from ARMmbed/feature_hal_sleep
Platform: Add sleep/deepsleep user facing functions
2017-01-26 13:55:33 +02:00
Mahesh Mahadevan 595b9cf137 K22F: Enable TRNG (#3599)
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2017-01-26 10:29:25 +02:00
Bartek Szatkowski 6a045a49a9 Platform: Add sleep/deepsleep user facing functions
Add sleep/deepsleep functions to platform layer which are replacing HAL
functions with the same name, rename existing symbols in HAL layer
to hal_sleep/hal_deepsleep. This way sleep functions
are always available, even if target doesn't implement them, which makes
the code using sleep clearer. It also enables us to make decision on in
which builds (debug/release) the sleep will be enabled.
2017-01-19 09:39:29 +00:00
Martin Kojtal c14d7154e6 Merge pull request #3397 from AlessandroA/stm32f4_support
Add uVisor support for the DISCO_F429ZI
2017-01-16 16:24:33 +00:00
Anna Bridge 6cf0c8673b Merge pull request #3558 from NXPmicro/UART_Asynch_Fix
K64F UART Asynch API: Fix synchronization issue
2017-01-13 10:45:40 +00:00
Mahadevan Mahesh 89f8fe49a2 MCUXpresso: Fix ENET driver to enable interrupts after interrupt handlers are set
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2017-01-10 13:04:27 -06:00
Mahadevan Mahesh 8c71fbc07f K64F UART Asynch API: Fix synchronization issue
The UART state should be set to busy before starting the transfer

Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2017-01-10 10:45:28 -06:00
Alessandro Angelino 89641bc7e0 uVisor: Update K64F and EFM32GG linker scripts
This commit improves consistency between different platforms' linker
scripts. In particular, we use "__UVISOR_SRAM_START" instead of
"__UVISOR_BSS_START" as the uVisor BSS sections might be outside of the
SRAM (for example, when using a tightly-coupled memory).
2017-01-10 13:15:54 +00:00
Sam Grove be28fd85a9 Merge pull request #3438 from NXPmicro/SERIAL_ASYNC_API
K64F: Add support for SERIAL ASYNCH API
2017-01-09 10:46:46 -06:00