Commit Graph

370 Commits (d1d6bf51b387ef39f97320b2febd5d79231682ba)

Author SHA1 Message Date
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 292f1a155d K64/ARM: Update to 2-region model for HEAP and Stack Memory 2019-02-05 14:13:58 +01:00
Russ Butler 66b8ca2599 Define A0 to NC for the TARGET_KW41Z
Set A0 to NC so it is defined on the KW41Z platform.
2019-02-02 09:44:20 -06:00
Russ Butler 82b131aa59 Use dedicated PinMap for each QSPI data line
Split PinMap_QSPI_DATA into PinMap_QSPI_DATA0 - PinMap_QSPI_DATA3.
This allows pins to be selected more accurately.
2019-01-22 12:11:15 -06:00
Martin Kojtal 5212cc6544
Merge pull request #6622 from NXPmicro/Add_KW41Z_Thread
Add nanostack support for KW41Z
2019-01-14 14:00:14 +01:00
Mahesh Mahadevan 585a4b6ddd Add nanostack support for KW41Z
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2019-01-09 07:43:41 -06:00
Przemyslaw Stekiel 08004e141d [Freescale] Support boot stack size configuration option 2019-01-08 15:32:03 +01:00
Martin Kojtal 63eca294a1
Merge pull request #9163 from InfernoEmbedded/fix-8913-partner
Don't use define checks on DEVICE_FOO macros (partner code)
2019-01-07 16:37:24 +00:00
heejungPark 725fbb96a8 changed UART0 to UART2, added UART_5 on SDT64B 2019-01-03 17:13:16 +09: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
Mahesh Mahadevan 3d8d65be6a Rapid-IoT: Add support for the KW41Z side of the platform
Add support for the KW41Z side of the RapidIoT platform. This requires the latest
DAPLink binary to be programmed on the RapidIoT platform, binary can be downloaded
from the below link:
https://armmbed.github.io/DAPLink/

Also, the KW41Z side on RapidIoT does not have a serial port connected to the Debug
terminal. Therefore a SerialPassThrough program should be flashed and running on the
K64F side of RapidIoT platform for the mbed tests to pass.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-12-14 06:35:43 -06:00
Martin Kojtal d321c11531
Merge pull request #8872 from NXPmicro/Fix_RTC_Startup
MCUXpresso: Ensure the RTC OSC is running at bootup on Kinetis platforms
2018-12-03 13:41:56 +01:00
Cruz Monrreal 5b9761e244
Merge pull request #8827 from mprse/ticker_free_k64f_fix
TARGET_MCUXpresso_MCUS: fix lp ticker init function
2018-11-30 17:55:35 -06:00
Mahesh Mahadevan dcc8b659bc MCUXpresso: Ensure the RTC OSC is running at bootup on Kinetis platforms
This is a fix for Issue 5348.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-11-28 10:31:58 -06:00
Martin Kojtal 52aea31655
Merge pull request #8702 from SenRamakri/sen_CrashReportingImpl
Crash Reporting implementation
2018-11-23 20:24:53 +01:00
Przemyslaw Stekiel f05d642422 TARGET_MCUXpresso_MCUS: fix lp ticker init function
In case when lp ticker is already initialized the ticker interrupt should be disabled.
2018-11-21 08:54:49 +01:00
Cruz Monrreal II a5bef60afe Revert "Merge pull request #8272 from NXPmicro/Ensure_RTC_OSC_Start"
This reverts commit 3d859ca1d6, reversing
changes made to 03f4623b80.
2018-11-20 16:58:11 -06:00
Senthil Ramakrishnan ef8c1c3cb6 Linker script modifications for crash data region 2018-11-16 13:59:59 -06:00
Cruz Monrreal II 20fc4da5df Merge branch 'KW41Z_Add_Bootloader-Support' of ssh://github.com/NXPmicro/mbed into rollup 2018-11-08 13:24:10 -06:00
David Saada 542744d03c Support erase value in Flash HAL drivers, FlashIAP and block devices 2018-11-07 14:23:07 +02:00
Mahesh Mahadevan 76930c0979 KW41Z: Add Bootloader support
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-11-06 12:03:26 -06:00
Yossi Levy d9a84c42cf Remove SPI_PERSISTENT_MEM_CS macro and replace it with SPI_CS 2018-10-25 12:10:48 +03:00
Cruz Monrreal 0db896036c
Merge pull request #8485 from NXPmicro/feature-qspi-kinetis
Feature qspi kinetis
2018-10-23 12:38:11 -05:00
Mahesh Mahadevan 9dc3f8c19a KL82Z FRDM: Update the KL82Z Freedom board for QSPI
Add the QSPI pin defines, clock information and flash details

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-10-18 12:14:27 -05:00
Mahesh Mahadevan 858e536f1a K82F FRDM: Update the K82F Freedom board for QSPI
Add the QSPI pin defines, clock information and flash details

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-10-18 12:14:26 -05:00
Mahesh Mahadevan 9f64e46de2 K82F, KL82Z: Update register access mode for QSPI IPCR register
Add 16-bit access mode when writing the transfer size to prevent
the QSPI transaction from starting

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-10-18 12:14:26 -05:00
Mahesh Mahadevan 3bd6235032 K82F, KL82Z: Update the QSPI SDK driver to the latest version
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-10-18 12:14:25 -05:00
Mahesh Mahadevan e28fb7466b MCUXpresso: Add the QSPI HAL driver
This should support QSPI on Kinetis devices

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-10-18 12:14:23 -05:00
Mahesh Mahadevan ebf31c67f0 MCUXpresso: Ensure the RTC OSC is running at bootup on Kinetis platforms
This is a fix for Issue 5348.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-10-18 08:55:48 -05:00
Cruz Monrreal c9adf3cef4
Merge pull request #8307 from NXPmicro/Add-Support_RapidIoT
Add support for RapidIoT
2018-10-18 08:15:07 -05:00
Mahesh Mahadevan 9a47915791 MCUXpresso Flash Driver: Update Flash driver to support RAPIDIOT
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-10-16 08:52:15 -05:00
maclobdell fd08cc94f2 Add support for NXP Rapid IoT prototyping kit
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-10-16 08:52:14 -05:00
Mahesh Mahadevan f29a597411 MCUXpresso: Fix for the TRNG HAL driver
Apply the fix from K64F TRNG HAL driver.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-10-15 16:00:34 -05:00
Anna Bridge 24857d0f91
Merge pull request #5285 from c1728p9/minimum_requirements_test
Update devices to have minimum 2K RAM and heap, also added test
2018-10-12 11:04:57 +01:00
Cruz Monrreal 73f1d4cabd
Merge pull request #8186 from deepikabhavnani/freescale_align_fix
Freescale/NXP: Fix alignment of execute region to 8byte boundary
2018-10-10 08:43:51 -05:00
Deepika f549f14a0a Set ISR stack and heap sizes for low end devices
Set the ISR stack to be 1KB. https://github.com/ARMmbed/mbed-os/pull/7238
Set the heap size to 3KB(2KB + overhead + spare) so that atleast 2KB free ram is
available for testing.
With dynamic heap size, explicit size is not required. IAR 7.8 supports
static heap, hence the change is needed in IAR linker files.
2018-10-05 12:09:46 -05:00
Deepika 525545c7b0 Freescale: 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-09-19 09:35:59 -05:00
Russ Butler 66cce67d38 Update the K64F to use boot stack size config
Update the K64F linker scripts to make use of the newly added stack
size target config.
2018-09-07 17:00:48 +01: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
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
Yossi Levy ed8e170d15 Moving SD, SPIF and FLASHIAP into mbedos and refactoring features storage directory structure. 2018-08-29 12:01:11 +03:00
Russ Butler 4ff5ea40dd Revert uVisor changes for K64F
Revert the changes made in the commit:
1c2a7d8842
Added the commit: Access MCG and SIM through secure access
2018-08-25 20:40:31 -05:00
Oren Cohen 787317b7eb Remove uVisor from mbed-os 2018-08-22 16:36:59 +03:00
Oren Cohen 795248bcaf Restore lp_ticker_free to previous implementation when running with uvisor
This is a temporary patch until uvisor is removed
2018-08-20 13:20:45 +03:00
Cruz Monrreal 8e25d2d905
Merge pull request #7669 from SigmaDeltaTechnologiesInc/master
SDT64, 8195, 32620, 32625, 51822, 52832B added to targets
2018-08-17 11:10:12 -05:00
MateuszM b5eb59091a fix formatting 2018-08-08 16:53:21 +02:00
MateuszM b5d23c3f26 Fix issue #5119, changed pwmout_api.
The period of pwm we could get was limited to 69.9 ms, because prescaler value was set once only during initialization. base->mod is a 16 bit register, to get longer period we have to slow down the clk.
2018-08-07 09:36:32 +02:00
Jiwon Yune 04fc7aa36f Generic pin names added 2018-08-06 14:50:19 +01:00
Przemyslaw Stekiel ace821017f Add implementation of ticker_free() function to CI boards.
This PR provides implementation of ticker_free() function for the following boards:
ARCH_PRO
EV_COG_AD3029LZ
EV_COG_AD4050LZ
K22F
K64F
K82F
KW24D
KW41Z
LPC546XX
NRF51_DK
NRF52_DK
NUCLEO_F207ZG
NUCLEO_F401RE
NUCLEO_F429ZI
NUCLEO_F746ZG
REALTEK_RTL8195AM
2018-08-02 09:48:10 +02:00
Jiwon Yune e5877910d2 SDT64B added 2018-08-01 18:13:33 +09:00
Przemyslaw Stekiel c0ee843d63 Add lp/us ticker_free() functions stub.
This patch adds only empty stubs of `us_ticker_free()` and `lp_ticker_free()` for all boards where these functions are not implemented.
2018-07-25 08:58:38 +02:00
Cruz Monrreal e8005f6d72
Merge pull request #7206 from mikaleppanen/k64f_async_powerup
K64f non-blocking powerup
2018-06-19 21:49:37 -05:00
David Saada 714d025f6c Rename text region in ARM linker file for a few NXP CPUs 2018-06-18 17:32:01 +03:00
Mika Leppänen b7627e823b K64F, K66F: Update the ENET PHY driver
PHY init and autonegotation is split into own functions.
2018-06-15 10:41:31 +03:00
Przemyslaw Stekiel a499341b2d K64F CRC driver: Fix coding style 2018-06-07 15:12:56 +02:00
Przemyslaw Stekiel ee6a07e7ab K64F CRC driver: Fix handling of CRC final XOR value
According to the test results final XOR was incorrectly handled by the CRC driver.
This patch fixes this issue.
2018-06-07 15:06:36 +02:00
Przemyslaw Stekiel da557a58a6 K64F CRC driver: hal_crc_is_supported() - fix condition which validates CRC width
It looks like the intention was to return false when CRC width is different than: {16, 32} bits.
2018-06-07 15:06:36 +02:00
Bartek Szatkowski a305d849a8 Rename LOWPOWERTIMER to LPTICKER 2018-05-25 13:06:56 -05:00
Przemyslaw Stekiel 1e46895f75 K64F: adapt RTC drivers to the new standards (is_enabled function)
Make rtc_isenabled() to return 1 if the RTC is initialized and the time has been set; 0 otherwise.
Disable clock gate on exit from this function if RTC was initialized.
2018-05-25 12:52:40 -05:00
Przemyslaw Stekiel 377db73100 K64F: adapt RTC drivers to the new standards (free function)
rtc_free() does not stop the RTC from counting. Only disables clock gate since processor no longer needs to read RTC registers.
2018-05-25 12:52:40 -05:00
Russ Butler a0a9626420 Keep rtc code if low power timer is used
Keep the RTC code if either DEVICE_RTC or DEVICE_LOWPOWERTIMER is
defined on the devices which use the RTC for both the rtc api and the
low power timer api. This allows DEVICE_LOWPOWERTIMER to be enabled while
DEVICE_RTC is turned off.
2018-05-25 12:37:19 -05:00
Mahesh Mahadevan d46af14bb6 KL27Z: Update usticker to use TPM instead of LPTMR for ticker
This will free up the LPTMR to be used as lpticker

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-05-25 12:33:41 -05:00
Mahesh Mahadevan a21d21e700 KL43Z: Update usticker to use TPM instead of LPTMR for ticker
This will free up the LPTMR to be used as lpticker

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-05-25 12:33:41 -05:00
Mahesh Mahadevan 62254c2bae KW41Z: Update usticker to use TPM instead of LPTMR for ticker
This will free up the LPTMR to be used as lpticker

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-05-25 12:33:41 -05:00
Mahesh Mahadevan 4eb8841dc1 MCUXpresso: Update the usticker implementation
Enabled usticker for K22F, K24F, K66F, K82F, KL82Z, KW24D

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-05-25 12:32:38 -05:00
Mahesh Mahadevan 0d0321a7f0 MCUXpresso: Update Low Power Ticker
1. Enable LPTICKER for K22, K24, K64, K66, K82, KL82F, KW24D
2. Change the implementation to only use the LPTMR which reduces
   the amount of interrupts generated which is required for tickless
   operation

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-05-25 12:32:38 -05:00
Mahesh Mahadevan 132dc87f3e KL05, KL25, KL26, KL46: Enable usticker
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-05-25 12:30:53 -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
Przemyslaw Stekiel 39852f772c Adapt K64F lp ticker driver to the new standards.
Low power ticker time counter is created based on RTC which is driven by 32KHz clock. Additional low power timer is used to generate interrupts.
We need to adapt driver to operate on ticks instead of us.

Perform the following updates:
- provide lp ticker configuration: 32KHz/32 bit counter.
- lp_ticker_init() routine disables lp ticker interrupts .
- adapt the driver functions to operate on ticks instead us.
- adapt comments.
- add us_ticker_free() routine.
2018-05-25 12:18:55 -05:00
Przemyslaw Stekiel c4bd9d125b Adapt K64F us ticker driver to the new standards.
- provide ticker configuration: 1MHz/32 bit counter.
- us_ticker_init() routine disables interrupts.
- adapt comments.
2018-05-25 12:18:55 -05:00
Steven Cartmell 738d92a79f HAL CRC: K64F: Set output width based on input width, not the polynomial 2018-05-24 17:51:49 +01:00
Steven Cartmell 1da75e5e85 HAL CRC: Fix code to match coding conventions 2018-05-24 17:51:49 +01:00
Steven Cartmell f006002dec Add support for final_xor for K64F Hardware CRC 2018-05-24 17:51:49 +01:00
Steven Cartmell 8e14b5977b HAL CRC: Add bit width parameter to crc_config_t 2018-05-24 17:51:49 +01:00
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
Martin Kojtal 2661f6fe40 us ticker: fix fire interrupt handling
Few targets need more than just pending IRQ set. They include some flags to be
set that are checked in IRQ handler. This is the case for targets in this
commit.
2018-02-23 09:13:40 +01: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 85cc9c8381 Remove deprecated RTX4 config options 2017-05-30 18:55:55 +01:00
Bartek Szatkowski b793a3fb89 Update codebase for CMSIS5/RTX5
Update all of mbed-os to use RTX5.
2017-05-30 18:55:52 +01: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 1069dfc91a Merge pull request #3982 from mjrgh/patch-3
Ticker - kl25z bugfix for handling events in the past
2017-04-06 11:02:15 -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
mjrgh 15c740f8cb Update us_ticker.c 2017-03-21 15:52:52 -07:00
mjrgh 72ccf0b2b5 Force events into the future 2017-03-21 15:51:09 -07: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
Mahadevan Mahesh 1280dfcca5 MCUXpresso I2C: Handle 0 byte write
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2016-12-28 08:03:49 -06:00
Mahadevan Mahesh ece7b6f05b K64F: Add support for SERIAL ASYNCH API
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2016-12-21 11:35:27 -06:00
Mahadevan Mahesh e5ba1d2b37 Rename KSDK2 to MCUXpresso. This is the new name of this package from NXP
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2016-12-19 14:20:25 -06:00
Mahadevan Mahesh 8ec93ca4a4 KSDK I2C: Update the return value to match the API documentation change
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2016-12-16 13:16:03 -06:00
Mahadevan Mahesh d5fca6dab0 K64F DSPI Driver: Fix errors where DSPI state is incorrectly kept busy
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2016-12-05 10:06:14 -06:00
Mahadevan Mahesh 5eb92ea1db K64F SPI Update: Implement Asynch API's for SPI
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2016-12-05 10:06:08 -06:00
Martin Kojtal 42f4843b97 Merge pull request #3241 from NXPmicro/Add_KW41_Support
Add support for FRDM-KW41
2016-11-29 18:11:59 +01:00
Martin Kojtal d60f424a7e Merge pull request #3256 from NXPmicro/Include_stddef
Kinetis SDK: Include stddef.h to fix build errors seen when including…
2016-11-22 22:20:29 +00:00
Mahadevan Mahesh b78e552d35 Kinetis SDK: Coding convention fixes
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2016-11-15 14:23:29 -06:00
Mahadevan Mahesh 93aca0bbf2 K22F: Coding convention fixes
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2016-11-15 14:10:54 -06:00
Mahadevan Mahesh 05382afa37 K64F: Coding convention fixes
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2016-11-15 14:10:48 -06:00
Mahadevan Mahesh 26146e8929 KW24D: Coding convention fixes
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2016-11-15 14:04:13 -06:00
Mahadevan Mahesh 5356246fbc KL82Z: Coding convention fixes
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2016-11-15 14:04:07 -06:00
Mahadevan Mahesh 31d6bb914a KL43Z: Coding convention fixes
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2016-11-15 14:04:01 -06:00
Mahadevan Mahesh 279925e161 KL27Z: Coding convention fixes
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2016-11-15 14:03:55 -06:00
Mahadevan Mahesh 682df90b2e K82F: Coding convention fixes
Signed-off-by: Mahadevan Mahesh <Mahesh.Mahadevan@nxp.com>
2016-11-15 12:32:03 -06:00