Commit Graph

3837 Commits (b957f602b8262269b01d45793f08b9720d0ac4cc)

Author SHA1 Message Date
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
Cruz Monrreal 276588f9fa
Merge pull request #7098 from SeeedJP/feature-cellular-mux
[Wio 3G] Adding platform
2018-06-14 10:17:19 -05:00
Melvin van den berg 5fadb26f14 Fixed broken InterruptIn.mode() in NRF5x target which didn't do anything: interruptIn always remained with pullup resistor enabled. 2018-06-14 16:54:03 +02:00
Cruz Monrreal 0a528ff558
Merge pull request #6831 from mprse/hal_crc_test
Add HAL CRC test and header file
2018-06-13 08:47:11 -05:00
Cruz Monrreal 1cb298a1e2
Merge pull request #7151 from mrcoulter45/issue6543
Fixes for RZ_A1H issue 6543
2018-06-13 08:45:24 -05:00
bcostm b5a8dc513c fix hash alignment of F2, F7, L4 2018-06-13 11:51:24 +02:00
Mahesh Mahadevan 8c6098229b LPC54628: Update the ADC clock divider based on the input clock source
1. Problems were seen on the LPC54628 as the ADC clock source was too
   high
2. Moved the pin configuration to set Analog mode to the end of the
   function

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-06-12 12:57:31 -05:00
David Saada 9e5efbcfd5 Fix flash_program_page API in LPC boards.
This API allocates a program buffer of 256 on the stack to ensure alignment.
However, FlashIAP driver already ensures this alignment of the user data.
2018-06-12 15:09:05 +03:00
Qinghao Shi 3ba635d233 change us_ticker_inited to static 2018-06-12 11:31:16 +01:00
Cruz Monrreal 89876311ae
Merge pull request #7176 from KariHaapalehto/data_aligment
Fix data aligment problem at STM32F4 hash write
2018-06-11 21:27:50 -05:00
Michael Coulter 3d3e89097d Fixes for RZ_A1H issue 6543
Removed debugging code, fixed errors indicated in the comments.
2018-06-11 13:30:17 -05:00
Cruz Monrreal b989afaf79
Merge pull request #6178 from andrewleech/nrf51_16k_s130_linker
Add target definition: nrf51 16k on MCU_NRF51_UNIFIED platform
2018-06-11 09:05:16 -05:00
Cruz Monrreal 3d61cb59ab
Merge pull request #6948 from jeromecoutant/PR_ETHER
STM32 ETH : remove TX RX locking interrupt perforation
2018-06-11 09:02:21 -05:00
Cruz Monrreal 23bc4e0fe2
Merge pull request #7088 from bcostm/dev_F7_flash_dual_bank
STM32F76x: Add support of dual bank flash mode
2018-06-11 08:58:55 -05:00
Cruz Monrreal 871489ebb4
Merge pull request #7106 from bcostm/fix_HAL_GetTick
STM32: Replace HAL_GetTick
2018-06-11 08:53:06 -05:00
Cruz Monrreal cbee41c6f7
Merge pull request #7150 from pan-/fix-armcc-nrf-sections
Nordic: Fix nrf sections on ARMCC
2018-06-11 08:52:10 -05:00
Cruz Monrreal 8c6a664380
Merge pull request #7086 from mikaleppanen/nxp_lpc17xx_emac
NXP lpc17xx emac driver
2018-06-11 08:43:43 -05:00
Qinghao Shi 0c8527f5c1 add disable interrupt function in us_ticker_free() 2018-06-11 12:01:49 +01:00
Qinghao Shi 810d534c07 update us_ticker driver and revert CMSDK headers changes 2018-06-11 11:49:02 +01:00
Yoshihiro TSUBOI 16e706ecd4 [Wio 3G] Changed suggested points
Changed accessibility cellular features member functions, fixed minor target issues
2018-06-08 20:13:58 +09:00
Qinghao Shi ad668a74dd Enable new HAL us_ticker API on fast model MPS2 platform 2018-06-08 11:39:02 +01:00
Cruz Monrreal bacf6a9dec
Merge pull request #6860 from andrewleech/nordic_ble_config
Nordic BLE: Allow configuration of softdevice parameters
2018-06-07 10:10:23 -05:00
Przemyslaw Stekiel 4d56b006d1 common_rtc_set_interrupt: Wrap <ticks_count> before comparisons
RTC counter is 24-bit. Upper layer handles counter size and wraps ticks count when interrupt is to be fired before passing it to common_rtc_set_interrupt(), but for consistency and safety reasons we can wrap it again in the NRF driver.
2018-06-07 16:06:08 +02:00
Przemyslaw Stekiel ccba52b45b NRF5x: Remove duplicate lp ticker initialization from I2C, flash, trng. 2018-06-07 16:05:56 +02:00
Przemyslaw Stekiel e5e53e5e48 NRF52_DK: Use 32 bit counter for us ticker (instead 16 bit counter) 2018-06-07 16:00:55 +02: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
Przemyslaw Stekiel 68631fcaa9 STM CRC driver: hal_crc_compute_partial() - validate input paramaters. 2018-06-07 15:06:35 +02:00
Vincent Coubard 16ece66f95 Nordic: Fix nrf sections on ARMCC
The nrf section features has different implementations for each compilers supported by mbed-os. The header guard was ruling out compiler other than GCC by checking if __GNUC__ is defined. This check is not applicable on mbed os as the ARM compiler compile sources with gnu compatibility.

This patch makes sure that the right implementation is selected for the right compiler . The previous patch has been reverted as it is not reliable.
2018-06-06 17:18:28 +01:00
bcostm 11d0a8399b Add license 2018-06-06 14:05:22 +02:00
Bernhard Schuster 86ce955d96 NRF52: add a separate .nvictable section and allow .noinit to be used by the application 2018-06-06 14:04:15 +02:00
jeromecoutant 202fc8af18 STM32 : few targets does not support LPTICKER 2018-06-06 13:33:18 +02:00
Mika Leppänen 4d055abea5 Added EMAC configuration for UBLOX_C027 2018-06-06 14:29:49 +03:00
Mika Leppänen a5a8b350ce Ported NXP LPCxx ethernet driver to unified EMAC 2018-06-06 14:29:49 +03:00
bcostm b087390a1a Remove HAL_TICK_DELAY (no more used) 2018-06-05 16:53:40 +02:00
bcostm e09e1147d8 Cleanup
- Remove calls to HAL_SuspendTick and HAL_ResumeTick
- Rename stm_common.c in hal_tick_common.c
2018-06-05 14:48:54 +02:00
Kari Haapalehto 0c3047f4cc Fix data aligment problem at STM32F4 hash write 2018-06-05 15:03:37 +03:00
bcostm 74c29cb0e5 Remove code related to timer channel 2 2018-06-05 11:21:02 +02:00
Cruz Monrreal 20a4412082
Merge pull request #7089 from paul-szczepanek-arm/fix-master
BLE fixes (SM whitelist creation, Nordic scatter file fix, missing TLS initialisation)
2018-06-04 10:44:54 -05:00
Cruz Monrreal abed3dfb1a
Merge pull request #7060 from ithinuel/fix-c027
UBLOX_C027: init us_ticker in the target initialization
2018-06-04 10:43:08 -05:00
bcostm 91e826d459 Replace HAL_GetTick 2018-06-04 16:00:56 +02:00
jeromecoutant b79be416c8 Dual Bank Flash support update 2018-06-04 13:37:59 +02:00
bcostm cc14540140 Add support of Flash dual bank mode on DISCO_F769NI 2018-06-04 13:37:59 +02:00
bcostm b647ecf80c Add support of Flash dual bank mode on NUCLEO_767ZI 2018-06-04 13:37:59 +02:00
Anna Bridge 2d0e5f04b1
Merge pull request #6022 from andrewleech/nrf_asserts_error
nrf5x: Enable asserts -> mbed_error
2018-06-04 12:24:58 +01:00
ytsuboi e5b8591818 [Wio 3G] Adding platform 2018-06-04 15:55:43 +09:00
Cruz Monrreal cabcdcf133
Merge pull request #7062 from jeromecoutant/PR_F413
DISCO_F413ZH : map SPI3 to WIFI module
2018-06-02 20:53:18 -05:00
Cruz Monrreal 07fb7c1adc
Merge pull request #6987 from jeromecoutant/PR_ADC
STM32 ADC update
2018-06-02 19:52:51 -05:00
Vincent Coubard dfcdbbfb14 Nordic FIX: place observers sequentially in flash. 2018-06-01 16:59:09 +01:00
Anna Bridge 8c26e463ae
Merge pull request #7056 from M-ichae-l/fix-realtek_rtl8195am-IPv6-build-fails-functional-update
fix realtek_rtl8195am IPv6 build fails update
2018-06-01 12:20:21 +01:00
Anna Bridge 9986abe499
Merge pull request #6803 from chuanga/wise-1510-uart-config
Wise 1510 uart config
2018-06-01 11:52:34 +01:00
Andrew Leech bf313aa1db Move mbed_lib.json from targets folder to feature_ble folder
The functionality added all affects BLE features in use so this location is a better fit.
2018-06-01 13:37:16 +10:00
Andrew Leech c1c425af08 Expose softdevice configurations via new nordic-ble library definition file 2018-06-01 13:37:15 +10:00
Cruz Monrreal 0abf0cfa5b
Merge pull request #7039 from shuoo/feature-cm3ds-misc
FPGAIO: Add MISC IO initialization support
2018-05-31 10:56:43 -05:00
Cruz Monrreal dbc42f696a
Merge pull request #7031 from OpenNuvoton/nuvoton_5.9_rtc
Nuvoton: Adhere to reworked RTC spec to release with Mbed OS 5.9
2018-05-31 10:12:50 -05:00
Maciej Bocianski f6d3058899 NRF52_DK: SLEEP enable 2018-05-31 14:32:02 +02:00
jeromecoutant 2d0890b989 DISCO_F413ZH : pin value error 2018-05-31 13:55:55 +02:00
jeromecoutant 422e124854 DISCO_F413ZH : map SPI3 to WIFI module 2018-05-30 17:56:46 +02:00
Wilfried Chauveau 1c7b91aa8c us_ticker is not yet initialised at this stage 2018-05-30 15:01:18 +01:00
zzw 4fc8eb1591 fix realtek_rtl8195am IPv6 build fails update
fix for #6909
    -remove the "dhcps.h" and "dhcps.c" files
    -edit "wifi_conf.c" "wifi_conf.h" and "rtw_emac.cpp" to fix compile error
rebase for #6974
2018-05-30 18:53:08 +08:00
Cruz Monrreal 231f4cf9c1
Merge pull request #7034 from TomoYamanaka/master
Fix redeclaration of type name "bool_t" for Renesas
2018-05-29 10:44:29 -05:00
Cruz Monrreal cb3f8a5ad3
Merge pull request #7022 from marcuschangarm/fix-gpio
Fix array overflow in gpio configuration code for NRF5x
2018-05-29 10:43:23 -05: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
ccli8 6065e3a943 [Nuvoton] Fix RTC cannot cross reset cycle 2018-05-29 17:22:02 +08:00
ccli8 ee7efb556d [Nuvoton] Add back RTC to device_has target configuration 2018-05-29 10:37:03 +08:00
ccli8 2cefe7d8d5 [Nuvoton] Power down RTC access from CPU domain in rtc_free
After rtc_free, RTC gets inaccessible from CPU domain but keeps counting.
2018-05-29 10:33:01 +08:00
Karl Zhang 5be69f3143 FPGAIO: Add MISC IO initialization support 2018-05-29 10:12:04 +08:00
TomoYamanaka f34857792a Fix redeclaration of type name "bool_t"
I fixed redeclaration of type name "bool_t" for target Renesas because this typedef has been defined in rtx_core_ca.h by #6273.
2018-05-28 18:55:13 +09:00
Bartek Szatkowski a1ff22d439 Disable FLASH algo for AD boards 2018-05-27 23:31:20 -05:00
Bartek Szatkowski dc6ad34994 Disable FLASH for AD boards as they fail the tests intermittently 2018-05-27 23:31:20 -05:00
Bartek Szatkowski 1224b3894d Disable RTC on MAX32630FTHR due to failing tests 2018-05-27 23:31:20 -05:00
Bartek Szatkowski 195ef38618 Fix missmatch between targets.son 2018-05-25 13:59:04 -05:00
Jesse Marroquin 11d418b749 mbed-os v5.9 RTC implementation 2018-05-25 13:06:56 -05:00
Bartek Szatkowski 7624a6625c Sleep was not ported to MAX32630FTHR 2018-05-25 13:06:56 -05:00
Bartek Szatkowski 7dbd025ba1 NRF52 is not compatible with new RTC HAL spec 2018-05-25 13:06:56 -05:00
Bartek Szatkowski a305d849a8 Rename LOWPOWERTIMER to LPTICKER 2018-05-25 13:06:56 -05:00
Martin Kojtal e1fc81dc41 max32600: fix lp ticker functions - do not inline
Wrong linkage specified, causing build to fail.
2018-05-25 13:04:23 -05:00
Martin Kojtal 73de4e6e48 efm32: remove unused undefined function from rtc 2018-05-25 13:04:23 -05:00
Martin Kojtal 6781ee88cd maxim: fix rtc if lp ticker not defined
lp ticker handler defined only if lp ticker is defined. In case not,
use only overflow, rtc0 not used.
2018-05-25 13:04:23 -05:00
Bartek Szatkowski 9b53c1e9e1 Fix target definition for Odin boards 2018-05-25 13:04:23 -05:00
Edmund Hsu e2fe49d403 Preserve RTC counter value while re-initialization 2018-05-25 13:04:23 -05:00
Edmund Hsu 8d670001f2 Remove trailing spaces of adi_rtc.c 2018-05-25 13:04:23 -05:00
Edmund Hsu dbebc71d95 ADI: Re-enable DEVICE_RTC for EV_COG_AD3029LZ and EV_COG_AD4050LZ 2018-05-25 13:04:23 -05:00
Mahesh Mahadevan f7c6e555f3 MCUXpresso: Enable RTC on LPC54114 and LPC546XX
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-05-25 13:03:46 -05:00
Mahesh Mahadevan a17cf07a35 MCUXpresso: Enable RTC support
Same MCUXpresso SDK driver used for Kinetis devices

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-05-25 13:03:16 -05:00
Bartek Szatkowski 2826e4e416 Disable platforms not supporting new RTC 2018-05-25 13:01:19 -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
TomoYamanaka f55becef9a Implement of RTC feature for Renesas mbed boards
I implemented the RTC feature.
The mainly changing is here.
- rtc_init()
  Previously, I have initialized the time information register in the function, so the time count was cleaned by every calling rtc_init().
  Currently, rtc_init() doesn't stop RTC from counting, and rtc_init() is safe to call repeatedly.
  Therefore in order to satisfy specifications,I removed the initialization process of the time information register in the function.

- rtc_free()
  Previously, I have initialized the RTC related register same as rtc_init(), so the time count was cleaned by calling rtc_free().
  Currently, rtc_free() doesn't stop RTC from counting.
  Therefore in order to satisfy specifications,I removed the process and decided not to do anything in the function.
  If powerdown the RTC, Supply of the clock to the RTC is stopped, cannot keeping the count.
2018-05-25 12:53:06 -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
Przemyslaw Stekiel 4fc3d07bd0 Enable RTC support for K64F board. 2018-05-25 12:52:39 -05:00
Przemyslaw Stekiel 7f451c6705 Disable RTC support for UBLOX_EVK_ODIN_W2.
This board inherits from STM_FAMILY, but drivers for this board are not consistent with the new standards.
This board needs to be disabled for now.
2018-05-25 12:52:02 -05:00
Przemyslaw Stekiel c93ab168bd Enable RTC support for FAMILY_STM32. 2018-05-25 12:49:48 -05:00
Russ Butler 6d90c2716d Turn off RTC until updated
Turn off RTC for all devices. When support for a device is added this
should be re-enabled.
2018-05-25 12:49:11 -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
Przemyslaw Stekiel 3850c80b43 Make common_rtc.c compatible with SDK 14.2 and move it common dir 2018-05-25 12:33:43 -05:00
Przemyslaw Stekiel f32f866f00 NRF52840_DK: Enable lp us ticker support 2018-05-25 12:33:42 -05:00
Ashok Rao 96ca7c22ed Adding usticker to MTB_ODIN 2018-05-25 12:33:42 -05:00
Jesse Marroquin 0ddec48efc mbed-os v5.9 LPTICKER implementation 2018-05-25 12:33:42 -05:00
Jesse Marroquin b88329acb8 mbed-os v5.9 USTICKER implementation 2018-05-25 12:33:42 -05:00
Przemyslaw Stekiel 11748bf95c Enable us lp ticker support for entire MCU_NRF52832 family 2018-05-25 12:33:42 -05:00
Przemyslaw Stekiel 1d1b6cd571 NRF52_DK: disable us ticker in deep-sleep mode
This functionality is required by new sleep standards.
2018-05-25 12:33:42 -05:00
Przemyslaw Stekiel b0153574d4 NRF52_DK: Enable lp ticker and us ticker support 2018-05-25 12:33:42 -05:00
Przemyslaw Stekiel 9ef0083f92 NRF52_DK: use new ticker driver designed for NRF51_DK 2018-05-25 12:33:41 -05:00
Mahesh Mahadevan fb622a2081 MIMXRT1050_EVK: Update lpticker implementation
Use only the GPT module and avoid using RTC.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-05-25 12:33:41 -05:00
Mahesh Mahadevan 3b7b0f1307 KW41Z, KL43Z, KL27Z: Enable LPTICKER
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-05-25 12:33:41 -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
Edmund Hsu e514c2c70d Fix us_ticker.c to support "USTICKER"
- Disable microsecond ticker interrupt on reinitialization
- Skip us_ticker_set_interrupt() if timestamp is already past
- Eliminate tmr2Config since tmrConfig is adequate for all timer config
2018-05-25 12:32:38 -05:00
Mahesh Mahadevan 774de11d1f MCUXpresso: Enable usticker on MIMXRT1050_EVK
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-05-25 12:32:38 -05:00
Mahesh Mahadevan 659be61e4b MCUXpresso: Enable usticker for LPC546XX and LPC54114
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-05-25 12:32:38 -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
Mahesh Mahadevan 870600400d LPC1768: Enable usticker
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-05-25 12:30:53 -05:00
Przemyslaw Stekiel 7d969326d6 Enable support for NRF51 boards.
Make it consistent with master.
2018-05-25 12:30:52 -05:00
Przemyslaw Stekiel fac7d744d5 Disable us ticker in deep-sleep mode. 2018-05-25 12:30:52 -05:00
Przemyslaw Stekiel ffd09f8a70 Enable support for NRF51 boards. 2018-05-25 12:30:52 -05:00
Przemyslaw Stekiel 77f738baac Move common_rtc.c and us_ticker.h files to the valid directory.
I decided to move these files to the targets/TARGET_NORDIC/TARGET_NRF5x/TARGET_NRF51 since us_ticker.h is for sure specific for NRF51_DK and common_rtc.c might be valid also for NRF52, but this needs to be checked while porting NRF52_DK board.
2018-05-25 12:29:55 -05:00
Bartek Szatkowski 1e71515471 Disable MAX targets failig to build 2018-05-25 12:29:55 -05:00
Bartek Szatkowski e6bb77085c Disable failig Nordic targets 2018-05-25 12:29:55 -05:00
Przemyslaw Stekiel bdfbad8422 Rename DEVICE_LOWPOWERTIMER to DEVICE_LPTICKER. 2018-05-25 12:29:55 -05:00
Przemyslaw Stekiel af2863a9e5 Update lp ticker to be consistent with the new standards.
Provide the following modifications for lp ticker driver:
- According to NRF51_DK reference manual rtc interrupt cannot be controlled by rtc event. In the previous implementation interrupts were enabled permanently and specific interrupt was enabled/disabled by enabling/disabling the specific event. If event is enabled, then event signal is provided to Programmable Peripheral Interconnect (PPI). If interrupt is enabled, then interrupt signal is provided to Nested Vector Interrupt Controller (NVIC). Disable all events permanently. Enable lp ticker overflow interrupt permanently(needed for RTC), disable lp ticker capture/compare interrupt on init (lp_ticker_init) , enable lp ticker interrupt when lp ticker interrupt is set (lp_ticker_set_interrupt), disable lp ticker interrupt on disable request(lp_ticker_disable_interrupt).
- Provide lp ticker data for higher level (freq: 32kHz / len: 24 bits),
- Add the following features to init routine: disable lp ticker interrupt.
- Make ticker driver to operate on ticks instead of us.
- Simplify lp ticker read and set interrupt routines (upper layers handle conversion to us and interrupt scheduling).
2018-05-25 12:29:54 -05:00
Przemyslaw Stekiel 007a707527 Enable us/lp ticker support for NRF51_DK board 2018-05-25 12:29:54 -05:00
Przemyslaw Stekiel 533ad59669 NRF5 - make us ticker to be driven by high speed 1MHz timer
According to new ticker standards the following requirements for us ticker are not met on RRF5 boards:
- has a frequency between 250KHz and 8MHz (currently is driven by 32kHz clock)
- ticker increments by 1 each tick (currently is scaled to 1 MHz by incrementing counter by ~31)

Since BLE softdevice uses TIMER0 the proposition is to use high speed TIMER1 for us ticker configured as follows:
- TIMER counter width: 16 bits (max)
- TIMER frequency: 1MHz
This solution also uses Timer's capture/compare register 0 to specify interrupt time and Timer's capture/compare register 1 to read current timer value.
2018-05-25 12:29:54 -05:00
jeromecoutant e3deaecc27 STM32 LPTICKER update for targets supporting RTC 2018-05-25 12:29:54 -05:00
jeromecoutant 39a9801675 STM32 LPTICKER : clean include file 2018-05-25 12:29:54 -05:00
jeromecoutant c31a7c2277 STM32 LPTICKER : enable all STM32 targets supporting the feature
(All STM32 except F1 and F2 families)
2018-05-25 12:29:54 -05:00
jeromecoutant 1c4174d3eb STM32 RTC Init minor update 2018-05-25 12:26:05 -05:00
jeromecoutant 12b3df7773 #6536 rebase correction 2018-05-25 12:26:05 -05:00
jeromecoutant 2b8d6cbcc5 STM32 LPTICKER : read counter 2018-05-25 12:26:05 -05:00
jeromecoutant 8179d96d4d LPTICKER targets json update for STM32 supporting LPTIMER
STM32L0, STM32L4, STM32F7 and few STM32F4
2018-05-25 12:26:05 -05:00
jeromecoutant 5701fd5ab6 STM32 LPTICKER update for targets supporting LPTIMER 2018-05-25 12:22:35 -05:00
Bartek Szatkowski 1e13d8765a Rename LOWPOWERTIMER to LPTICKER after merge 2018-05-25 12:22:35 -05:00
TomoYamanaka b528fbdfb3 Implementation of USTICKER feature for Renesas mbed boards
I implemented USTICKER feature.

The mainly changing is here.
- I added a macro to mbed_drv_cfg.h for commonalizing code for GR-PEACH and GR-LYCHEE with different clock frequencies, and referenced it's macro at us_ticker.c.
- ticker_init()
  Currently, ticker_init() keep counting, disables the ticker interrupt, and is safe to call repeatedly.
  Therefore, in order to satisfy specifications, I removed GIC_EnableIRQ at end of function and added GIC_DisableIRQ at begin of function.
  When an interrupt is required, it will be set with ticker_set_interrupt().
  If executing the following, the counter has been initialized. So it will not call after executing the first time.
    OSTM1TT   = 0x01;    /* Stop the counter and clears the OSTM1TE bit.     */
    OSTM1TS   = 0x1;    /* Start the counter and sets the OSTM0TE bit.     */

- ticker_free()
  this function stops the counting and powerdown the us_ticker.
  To satisfy the mbed specificationm, I implemented free() function.

- ticker_read()
  Currently, Mbed spec's frequeny is between 250KHz and 8MHz, but the frequency that is used at my ticker is 33MHz.
  Therefore, in order to satisfy specifications, I changed the process to return the timer counter value divided by 32(33MHz / 32).
  Since the calcurate function by using 64 bit is no longer necessay, I removed it.

- ticker_set_interrupt()
  Same as the above read(),
  In order to satisfy specifications, I changed the process to set the value multiplied by 32.

- ticker_fire_interrupt()
  In order to satisfy specifications, I implemented fire_interrupt() function.
  Also I added GIC_EnableIRQ for allowing the interrupt at end of function.

- ticker_get_info()
  To satisfy the mbed specificationm, I implemented ticker_get_info() function. The value of freq includes rounding off.
2018-05-25 12:22:06 -05:00
Laurent MEUNIER beda4904d3 Make us_ticker common between 16 and 32 bits counters 2018-05-25 12:20:10 -05:00
Laurent MEUNIER c3d5daf80a Update STM32 16 bits us_tickers in line with new mbed HAL
The new HAL allows to share the timer bit width and frequency,
the actual handling of mapping 16 bits counter up to 32 bits or
64 bits is now managed by mbed common layer.

This makes this ticker layer very similar to 32bits one and much
easier than before.
2018-05-25 12:20:10 -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 88ba94221a Remove nrf51_dk from supported platform 2018-05-25 12:20:09 -05:00
Bartek Szatkowski d2a5e30a46 Disable platfroms that fail without LPTICKER 2018-05-25 12:20:09 -05:00
Bartek Szatkowski 2d19ac1d60 Make sure LPTICKER symbols are not used for builds without it for Nordic 2018-05-25 12:20:09 -05:00
Bartek Szatkowski 2d11b05756 Disable Maxim boards as LP_TICKER is used in RTC and they don't respect device_has 2018-05-25 12:20:09 -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
Przemyslaw Stekiel d96430e77d Enable ticker support for K64F board. 2018-05-25 12:18:55 -05:00
Steven Cartmell 18943a9693 Add lp/us ticker free() function implementation for NRF5 2018-05-25 12:17:49 -05:00
Przemyslaw Stekiel ebeab7f462 Add DEVICE_RTC symbol check in RTC source files for NCS36510 target. 2018-05-25 12:17:20 -05:00
Przemyslaw Stekiel d429458ac7 Disable boards which does not fulfil new ticker standards. 2018-05-25 12:17:19 -05:00
Bartek Szatkowski 9f3f49aea9 Remove sleep from rf52 due to failig tests 2018-05-25 12:04:32 -05:00
TomoYamanaka 7a48ee89e3 Implementation of SLEEP feature for Renesas mbed boards
I implemented the SLEEP feature for Rnesas mbed boards.
The mainly changing is here.
- hal_sleep()
  To satisfy the mbed specificationm, I implemented this function newly by using "sleep" that is one of low power mode that is incorporated in our hardware(RZ_A1).
  In the "sleep", peripheral and memory state are maintained, and the peripherals continue to work and can generate interrupts.

- hal_deepsleep()
  To satisfy the mbed specificationm, I implemented this function newly by combined using "sleep" and "module standby" that is the low power mode that is incorporated in our hardware(RZ_A1).
  The "module standby" is peripheral module's powerdown.
  Also in case of our "module standby", it need to read register as dummy when access to each register.
2018-05-25 12:04:32 -05:00
Przemyslaw Stekiel 58afcc2904 Disable SLEEP support for MAX32630FTHR and KW41Z platforms.
These platforms are not consistent with the new sleep standards.
2018-05-25 12:04:32 -05:00
Przemyslaw Stekiel 1df54efc61 ARM_CM3DS_MPS2: add protection to lp_ticker.c.
Compile this file only when DEVICE_LOWPOWERTIMER is defined.
2018-05-25 12:04:32 -05:00
Przemyslaw Stekiel 3cd3defbba Disable boards which does not fulfil new sleep standards.
These boards will be re-enabled when sleep driver for them is ready.

Note:
This operation is done by removing "SLEEP" feature from target's "device_has" list (in targets.json config file).
For NRF52_DK removing of "SLEEP" feature causes some timing issues which have influence on tests. In order to successfully disable this board we need to disable also related features like "USTICKER", "LOWPOERTIMER" and slightly modify ticker tests, so they will not be executed if usticker support is not available (by default all targets support us ticker).
2018-05-25 12:04:32 -05:00
Martin Kojtal b7682183b8 Sleep: add time requirements for sleep
Sleep - within 10us
Deepsleep - within 10ms

Note about mbed boards with interface, moved to lpc176x, as they are target related,
should be documented in the target documentation.

The tests will come as separate PR, to conform to this updates to sleep API.
2018-05-25 12:03:37 -05:00
Marcus Chang 86f6054ea4 Fix array overflow in gpio configuration code for NRF5x
Reintroduce PR #6021

https://github.com/ARMmbed/mbed-os/pull/6021

which was accidentally removed by PR #6711

https://github.com/ARMmbed/mbed-os/pull/6711
2018-05-25 08:25:58 -07:00
Alan Chuang 7f4272d9a7 make uart console port configurable via mbed_app.json 2018-05-25 16:30:57 +08:00
Steven Cartmell 804d050a18 HAL CRC: Add additional STM32 targets 2018-05-24 17:53:35 +01:00
Steven Cartmell a92ac70e82 HAL CRC: Move STM32 implementation to common folder and add targets 2018-05-24 17:51:50 +01:00
Steven Cartmell 6b5dabe08b HAL CRC: Use HAL polynomial enum instead of STM32 enum 2018-05-24 17:51:50 +01:00
Steven Cartmell acbf41e673 HAL CRC: Basic implementation for STM32F0 2018-05-24 17:51:50 +01: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
Cruz Monrreal 791620c428
Merge pull request #6932 from paul-szczepanek-arm/security-manager-dev
BLE privacy, signing, persistent security database
2018-05-24 10:07:06 -05:00
Cruz Monrreal 2f86c152f0
Merge pull request #6794 from RonEld/cc310_porting
Cryptocell 310 support
2018-05-24 10:05:46 -05:00
Kevin Bracey 13dcef63e3
Merge pull request #6847 from ARMmbed/feature-emac
Merge feature-emac branch into master
2018-05-24 16:47:04 +03:00
Martin Kojtal d8cb72a0a2
Merge pull request #6273 from bulislaw/update_cmsis_5.3
Update cmsis/rtx to version 5.3
2018-05-24 09:37:40 +02:00
Cruz Monrreal a404a9379e
Merge pull request #6862 from jamesbeyond/fastmodel_support
Fastmodels support: add FVP_MPS2 targets to mbed os
2018-05-23 14:47:23 -05:00
amq d9fcbc7605 EFM32: make mbed_rtx.h depend of families instead of targets 2018-05-23 15:56:38 +00:00
Asif Rizwan 332c6eabeb recompiled driver against NetworkInterface changes on latest feature-emac 2018-05-23 12:25:23 +03:00
Asif Rizwan ce08691dad WiFi EMAC class name reflected in WiFi drivers binaries 2018-05-23 12:25:22 +03:00
Asif Rizwan 657ac3f643 WIFI_EMAC class renamed to OdinWiFiEMAC, Formatting
Revert "in ODIN emac initialization required before connection"
2018-05-23 12:25:21 +03:00
Kevin Bracey 97b9980c8c LPC546XX: Correct Ethernet MAC address write
Patch to LPC546XX SDK code - write the low Ethernet MAC address
register last, as that synchronises the update.

Without this change, the ENET_SetMacAddr call only seems to work prior
to MAC initialisation, causing problems for the new mbed OS EMAC system,
which expects it to be changable later.

Updated emac greentea tests #6851.
2018-05-23 12:25:21 +03:00
Mahesh Mahadevan 91ac8356ba LPC546XX: Add ENET support
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-05-23 12:25:20 +03:00
Asif Rizwan 0b14f1277e EMAC adaption added, updated ODIN drivers to v2.5.0 RC1 2018-05-23 12:25:18 +03:00
Michael Zhang 162a8c0a00 add-rtl8195am-feature-emac (#6904)
rtl8195am feature emac implementation.
2018-05-23 12:25:18 +03:00
Kevin Bracey f3ec0dacd5 Add NetworkInterface::get_default_instance()
Provide an initial framework to make it easier to find a default network
interface.
2018-05-23 12:25:17 +03:00
TomoYamanaka bad530ab0d Implementation of unified EMAC driver for Renesas mbed boards
Implementation of unified EMAC driver for Renesas mbed boards

Based on the driver so far, Renesas implemented the emac driver for GR-PEACH and VK-RZ/A1H.
The mainly changes is below.
- Add the connection part with LWIP according to the unified emac specification.
- Add three new multicast functions(add, remove, set_all).

The Greentea test netsocket and emac test passed.
2018-05-23 12:24:09 +03:00
cyliangtw 89209b6cd5 [M487/NUC472] Support new EMAC feature, built OK 2018-05-23 12:24:08 +03: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
Kevin Bracey fbd920777b Add extra labels for Freescale & STM EMAC drivers
Just checking "does the chip have an EMAC" doesn't work - there are
targets using those chips which do not have an Ethernet connector and
don't provide the necessary surrounding infrastructure (eg DISCO_F429ZI,
not providing the board emac config call, and HEXIWEAR not providing PHY
info).

Make the targets that actually do want EMAC define their own local
Freescale_EMAC and STM_EMAC labels, and move the drivers into
the corresponding TARGET_ directories, removing the #ifdefs.
2018-05-23 12:24:06 +03:00
Mika Leppänen ef68eb8b4d Enabled greentea and mbed-os-example-tls/client/sockets test for STM 2018-05-23 12:24:02 +03:00
Kevin Bracey 6930c6d3cf Ignore old EMAC Wifi drivers
Suppress Odin W2 and Realtek Wi-fi drivers using .mbedignore
2018-05-23 12:23:59 +03:00
Kevin Bracey 958247265b Tell mbed build to ignore old lwIP+EMAC drivers 2018-05-23 12:23:58 +03:00
paul-szczepanek-arm 80137be991 Merge https://github.com/ARMmbed/mbed-os into security-manager-dev 2018-05-23 09:47:06 +01:00
Andrew Leech 78d31cff5c Fix the flash length to use all of 256K part. 2018-05-23 09:50:52 +10: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
Cruz Monrreal 3bcc076c0c
Merge pull request #6931 from jeromecoutant/PR_PERIPH
STM32 : PeripheralPins.c and PinNames.h files alignment
2018-05-22 14:56:37 -05:00
Martin Kojtal 585504f723
Merge pull request #6959 from marcuschangarm/remove-itm
Remove unused ITM implementation from NRF51 series
2018-05-22 14:40:57 +02:00
jeromecoutant 7fd4203b58 STM32L4 ADC internal channels update 2018-05-22 13:18:25 +02:00
jeromecoutant 881a8e31ff STM32L1 ADC internal channels update 2018-05-22 13:17:52 +02:00
jeromecoutant 4d3a54443d STM32L0 ADC internal channels update 2018-05-22 13:17:16 +02:00
jeromecoutant 06bca28268 STM32F7 ADC internal channels update 2018-05-22 13:16:37 +02:00
Qinghao Shi 304b584040 remove ethernet driver as it is not compatible 2018-05-22 11:24:50 +01:00
jeromecoutant e438bd6dc8 STM32F3 ADC internal channels update 2018-05-22 11:42:35 +02:00
jeromecoutant 5f21c3f73e STM32F2 ADC internal channels update 2018-05-22 11:37:09 +02:00
jeromecoutant 743a812be6 STM32F1 ADC internal channels update 2018-05-22 11:36:09 +02:00
jeromecoutant d7932c26eb STM32F0 ADC internal channels update 2018-05-22 11:35:23 +02:00
jeromecoutant cb579cba1c STM32F4 ADC internal channels update 2018-05-22 11:32:19 +02:00
Kevin Bracey 0386f73719 Networking update: general refactoring, unifying EMAC
Initial work by Bartek Szatkowski in https://github.com/ARMmbed/mbed-os/pull/4079,
reworked following review of https://github.com/ARMmbed/mbed-os/pull/5202 to
transform the entire system into C++, retaining the basic functionality.

Bartek's summary:

* Porting ethernet to EMAC
* Updating EMAC to enable multiple interfaces
* Untangling networking classes, making the abstractions a bit clearer to follow, etc
* General refactoring
* Removal of DEVICE_EMAC flag and introducing DEVICE_ETH and DEVICE_WIFI

Revisions since initial branch:

* Remove lwip depencies
* Correct doxygen warnings
* Remove emac_api.h, replace with C++ EMAC abstract class.
* Create OnboardNetworkInterface, and LWIP implementation.
* Mappings since #4079
     lwip-interface/nsapi_stack_lwip.c -> LWIPStack.cpp
     lwip-interface/ipstack_lwip.c -> LWIPInterface.cpp
     netsocket/mbed_ipstack.h -> OnboardNetworkStack.h
     hal/emac_api.h -> EMAC.h
* Reinstate use of EthInterface abstraction
* Correct and clarify HW address EMAC ops
* Restore MBED_MAC_ADDR implementation
* Integrate PPP support with LWIP::Interface.
* Convert K64F lwIP driver to K64F_EMAC.

To do:

* Convert emac_stack_mem.h to follow this pattern.
* Figure out DEVICE_ETH/EMAC
* Update all drivers to use EMAC
2018-05-22 11:44:45 +03:00
Ron Eldor d2bcf3c356 Change target name
Apply the CC changes to TARGET_MCU_NRF52840 , and not to
the DK target alone
2018-05-22 09:24:37 +03:00
Andrew Leech 71b2caf63e Add target definitions for using 16k nrf51 on the NRF51_UNIFIED platform: MCU_NRF51_16K_UNIFIED_S130
Add target definition for Raytac MDBT40 module to use the MCU_NRF51_16K_UNIFIED_S130 target.
2018-05-22 11:41:21 +10:00
Andrew Leech 3300d2898b nrf51_16k_s130 Fix flash origin for APP_CODE_BASE
For details see: http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.s130.sds%2Fdita%2Fsoftdevices%2Fs130%2Fmem_usage%2Fmem_resource_reqs.html

Set the ram start to 0x20002ef8 to be consistent with ATM_STD and IAR linker scripts
2018-05-22 11:40:10 +10:00
Andrew Leech 67140a2706 Redirect NRF asserts to mbed error() in TARGET_NRF5x and SDK 14.2
Add related details to TARGET_NRF5x Readme's
2018-05-22 11:36:31 +10:00
Andrew Leech 5bb3ede890 Comment out the assert test that requires non-existent symbols from linker 2018-05-22 11:36:30 +10:00
Andrew Leech 244b7a5c69 Only enable DEBUG_NRF_USER when NDEBUG is not set 2018-05-22 11:36:30 +10:00
Andrew Leech f49070c876 Address known typo in nrf sdk 11
ref: https://devzone.nordicsemi.com/f/nordic-q-a/14000/nrf_drv_adc-c-doesn-t-compile-with--ddebug_nrf
2018-05-22 11:36:30 +10:00
Andrew Leech cfd248ee05 Enable ASSERTS's in nrf sdk to catch coding errors.
These will now flow through to mbed standard error handling.
2018-05-22 11:36:30 +10:00
Qinghao Shi f35ba494ca remove empty lines and redundant variables 2018-05-21 18:43:37 +01:00
Qinghao Shi bc03c20408 update targets.json remove redundant extra_lables 2018-05-21 18:33:48 +01:00
Cruz Monrreal ea13262aec
Merge pull request #6951 from bcostm/fix_spi_nss_config
STM32 SPI: fix NSS pin configuration
2018-05-21 10:26:00 -05:00
Cruz Monrreal 2fa6cb519e
Merge pull request #6826 from marcuschangarm/feature-ota
Reorganize SoftDevices for NRF52 series
2018-05-21 10:15:09 -05:00
Qinghao Shi aab82a78b3 reformat coding styles based on coding guidelines 2018-05-21 15:37:37 +01:00
Ron Eldor 23ba8bc1f5 Change Cryptocell target to a feature
Change the Cryptocell310 target to `FEATURE_CRYPTOCELL310`
2018-05-21 13:40:43 +03:00
Marcus Chang d27c4c920c Remove unused ITM implementation from NRF51 series
NRF51 doesn't support SWO out.
2018-05-18 11:26:13 -07:00
bcostm 2d7b13c540 STM32 SPI: fix NSS pin configuration 2018-05-18 14:26:26 +02:00
jeromecoutant c31554f618 STM32 ETH : remove TX RX locking interrupt perforation 2018-05-18 10:53:02 +02:00
PHST 69207457a0 EFM32PG12_STK3402 - Correct wrong Expansion header Pin naming
Referencing to "UG257: EFM32 Pearl Gecko PG12 Starter Kit User's Guide - Chapter 4" (https://www.silabs.com/documents/public/user-guides/ug257-stk3402-usersguide.pdf) it should be like in this commit.
2018-05-18 08:39:14 +02:00
jeromecoutant b30f3abf11 STM32 PeripheralPins.c second update after review
genpinmap script version 1.1
2018-05-17 17:58:09 +02:00
Marcus Chang ef9bc9ccc9 Add NRF52 support for building bootloader and updateable firmware
New directory structure:

 * TARGET_SOFTDEVICE_COMMON
 * TARGET_SOFTDEVICE_S112
 * TARGET_SOFTDEVICE_S132_FULL (MBR + SoftDevice, default)
 * TARGET_SOFTDEVICE_S132_OTA (SoftDevice only, for firmware updates)
 * TARGET_SOFTDEVICE_S132_MBR (MBR only, for bootloader builds)
 * TARGET_SOFTDEVICE_S140_FULL (MBR + SoftDevice, default)
 * TARGET_SOFTDEVICE_S140_OTA (SoftDevice only, for firmware updates)
 * TARGET_SOFTDEVICE_S140_MBR (MBR only, for bootloader builds)
 * TARGET_SOFTDEVICE_NONE

The X_OTA and X_MBR binaries are obtained from the original x_FULL SoftDevice
by splitting it in an MBR part and a SoftDevice part. The MBR is needed for
the bootloader and the SoftDevice for firmware updates.

Build application without SoftDevice:

  "target_overrides": {
      "*": {
          "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_X_FULL"],
          "target.extra_labels_add": ["SOFTDEVICE_NONE"]
      }
  }

Build application for firmware update using SoftDevice X:

  "target_overrides": {
      "*": {
          "target.extra_labels_remove": ["SOFTDEVICE_X_FULL"],
          "target.extra_labels_add": ["SOFTDEVICE_X_OTA"]
      }
  }

Build bootloader without SoftDevice X:

  "target_overrides": {
      "*": {
          "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_X_FULL"],
          "target.extra_labels_add": ["SOFTDEVICE_X_MBR"]
      }
  }
2018-05-17 07:32:09 -07:00
jeromecoutant 3ac1855d93 STM32L4 DISCO : PeripheralPins.c and PinNames.h files alignment 2018-05-16 17:05:14 +02:00
jeromecoutant 3e56a68eca STM32L0 DISCO : PeripheralPins.c and PinNames.h files alignment 2018-05-16 17:05:10 +02:00
jeromecoutant b928439ef7 STM32F7 DISCO : PeripheralPins.c and PinNames.h files alignment 2018-05-16 17:05:06 +02:00
jeromecoutant 2b9b817aed STM32F4 DISCO : PeripheralPins.c and PinNames.h files alignment 2018-05-16 17:05:03 +02:00
jeromecoutant 02e8172538 STM32F3 DISCO : PeripheralPins.c and PinNames.h files alignment 2018-05-16 17:04:58 +02:00
jeromecoutant 1e0ae6de14 STM32F1 DISCO : PeripheralPins.c and PinNames.h files alignment 2018-05-16 17:04:55 +02:00
jeromecoutant b22c0d1bc1 STM32F0 DISCO : PeripheralPins.c and PinNames.h files alignment 2018-05-16 17:04:51 +02:00
jeromecoutant 3e92ff1f85 STM32L4 NUCLEO : PeripheralPins.c and PinNames.h files alignment 2018-05-16 17:04:41 +02:00
jeromecoutant 945bf78b6e STM32L1 NUCLEO : PeripheralPins.c and PinNames.h files alignment 2018-05-16 17:04:36 +02:00
jeromecoutant b308d5cb71 STM32L0 NUCLEO : PeripheralPins.c and PinNames.h files alignment 2018-05-16 17:04:31 +02:00
jeromecoutant d0da6dd34e STM32F7 NUCLEO : PeripheralPins.c and PinNames.h files alignment 2018-05-16 17:04:27 +02:00
jeromecoutant bcadeff645 STM32F4 NUCLEO : PeripheralPins.c and PinNames.h files alignment 2018-05-16 17:04:15 +02:00
jeromecoutant 817bdc213d STM32F3 NUCLEO : PeripheralPins.c and PinNames.h files alignment 2018-05-16 17:04:10 +02:00
jeromecoutant 4ebbcc2197 STM32F2 NUCLEO : PeripheralPins.c and PinNames.h files alignment 2018-05-16 17:03:56 +02:00
jeromecoutant 0025ebc0c7 STM32F1 NUCLEO : PeripheralPins.c and PinNames.h files alignment 2018-05-16 17:03:33 +02:00
Vincent Coubard 6c44a78166 Merge branch 'master' of https://github.com/ARMmbed/mbed-os into security-manager-dev 2018-05-16 15:55:15 +01:00
Ron Eldor a1ea814f06 Minor style fixes
Fix styls issues and rename ARM to Arm.
Address additional minor comments from review.
2018-05-16 13:58:46 +03:00
Cruz Monrreal 8be2e34390
Merge pull request #6832 from bcostm/PULL_REQUEST_CUBE_UPDATE_F3_V1.9.0
STM32F3: Update with STM32CubeF3 V1.9.0
2018-05-15 10:09:16 -05:00
Vincent Coubard ca5a9f359a Nordic BLE: remove unecessary nordic ble libraries. 2018-05-15 14:51:19 +01:00
Vincent Coubard a22b4e5d5e Nordic BLE: Remove nordic gap init.
This initialization is already done in GattServer.
2018-05-15 14:51:18 +01:00
Vincent Coubard f5ac8d69ce Nordic: Adjust RAM requirements. 2018-05-15 14:51:16 +01:00
Vincent Coubard ed20b17d29 Nordic BLE: Fix link count 2018-05-15 14:51:16 +01:00
jeromecoutant 0e510cfe3a STM32F0 NUCLEO : PeripheralPins.c and PinNames.h files alignment 2018-05-15 14:50:07 +02:00
Ron Eldor c5ea8d71bb Change to DEVICE_CRYPTOCELL definition
Change `#if DEVICE_CRYPTOCELL` to `#if defined(DEVICE_CRYPTOPCELL)`
2018-05-14 18:34:10 +03:00
Bartek Szatkowski 42b48821eb Fix platform failing to build after rebase 2018-05-14 12:18:21 +01:00
Bartek Szatkowski 38df9306d7 Update wsf_types.h to support updated CMSIS 2018-05-14 12:18:21 +01:00
Qinghao Shi 953a735129 FastModels: enable FVP_MPS2 targets for mbed os
add ARM_FM top level category
add second level parent FVP_MPS2 inherits ARM_FM
add each target ( M0 M0P M3 M4 M7 ) inherits FVP_MPS2
2018-05-14 11:40:21 +01:00
Qinghao Shi 76dc715a0e FastModels: add FVP_MPS2_M7 target support
add cmsis drivers and toolchain scripts for FVP_MPS2_M7
2018-05-14 11:34:50 +01:00
Qinghao Shi 1bf59cd54d FastModels: add FVP_MPS2_M0P target support
add cmsis drivers and toolchain scripts for FVP_MPS2_M0P
2018-05-14 11:34:23 +01:00
Qinghao Shi 67abec3998 FastModels: add FVP_MPS2_M0 target support
add cmsis drivers and toolchain scripts for FVP_MPS2_M0
2018-05-14 11:33:57 +01:00
Qinghao Shi ce2c21a1f4 FastModels: add FVP_MPS2_M4 target support
add cmsis drivers and toolchain scripts for FVP_MPS2_M4
2018-05-14 11:33:31 +01:00
Qinghao Shi 2e4a023489 FastModels: add FVP_MPS2_M3 target support
add cmsis drivers and toolchain scripts for FVP_MPS2_M3
2018-05-14 11:32:52 +01:00
Qinghao Shi 2c88a8314a FastModels: add a new parent platform ARM_FM
create a new platform folder TARGET_ARM_FM
add general drivers files for FVP_MPS2
2018-05-14 11:30:34 +01:00
Ron Eldor 39973c8a8e Move trng code from target_nrf5 to target_nrf5x
After rebase, the build target NRF52840_DK is using TARGET_NRF5x,
instead of TARGET_NRF5. Moved Cryptocell TRNG related code from
`targets/TARGET_NORDIC/TARGET_NRF5/` to `targets/TARGET_NORDIC/TARGET_NRF5x/`
2018-05-14 13:15:57 +03:00
Ron Eldor 340f22e3cd Add support for CC trng
add support for HW entropy source
2018-05-14 13:15:27 +03:00
Ron Eldor 75087469f7 Add the Cryptocell library
Add the latest cryptocell library, and add support for CC310 lirary
on latest Mbed OS code
2018-05-14 13:15:27 +03:00
Marcus Chang 6af843fceb Trim white space and clean up NRF52 configuration files
Removed unused and duplicate macros.
2018-05-13 22:31:17 -07:00
Cruz Monrreal 2104d8ab5b
Merge pull request #6711 from marcuschangarm/cleanup-nrf5x
Cleanup TARGET_NRF5 and TARGET_NRF5x
2018-05-11 19:15:05 -05:00
Cruz Monrreal 30e39eeb10
Merge pull request #6852 from mprse/issue_5308_fix
Fix for issue #5308 - RTC set/get time issue on NCS36510
2018-05-10 23:26:06 -05:00
Cruz Monrreal 4318caaffa
Merge pull request #6779 from maximmbed/add-max32625pico
[MAX32625PICO] Add new platform
2018-05-10 23:25:41 -05:00
Przemyslaw Stekiel 23127af67f NCS36510: Enable RTC support. 2018-05-09 14:41:40 +02:00
Przemyslaw Stekiel 8bddb6b305 NCS36510: Make RTC driver to operate on seconds instead of us.
In current implementation `rtc_read` function returns number of elapsed us and `rtc_write` function sets RTC time to specified value in us.
Mbed HAL API expects that these functions operate on seconds.
Since lp ticker is also based on RTC provide mechanism to trace elapsed seconds without modifying RTC registers.
2018-05-09 14:41:40 +02:00
Marcus Chang 34775d6431 Remove obsolete OS_IDLE_THREAD_STACK_SIZE from NRF52
Custom size is the same as the default size anyway.
2018-05-08 15:51:39 -07:00
Marcus Chang 1aebdcbee5 Reorganize TARGET_MCU_NRF51822_UNIFIED directories
The unified NRF51 target and feature BLE directories have been
reorganized to follow the naming and directory structure of the
NRF52 implementation.

This reorganization does not include TARGET_MCU_NRF51822 and
derived targets.
2018-05-08 10:10:01 -07:00
Keyur Hariya fcd1bc9e37 Add default defines for MAX32625PICO 2018-05-07 16:30:57 -05:00
Marcus Chang 1360920e77 Remove unused NRF52 SDK and MCU files
Superseded by new SDK 14.2 in https://github.com/ARMmbed/mbed-os/pull/6547
2018-05-07 12:18:29 -07:00
Cruz Monrreal 0f51ea031e
Merge pull request #6610 from pauluap/stm32_eth_remove_tx_rx_locking_interrupt_perforation
Stm32 eth remove tx rx locking interrupt perforation
2018-05-07 10:51:03 -05:00
Cruz Monrreal ab81b61e6c
Merge pull request #6657 from tsailer/exporter-codeblocks-ncs
add ncs36510 fib and trim generation
2018-05-07 10:40:51 -05:00
Cruz Monrreal e023bb67c4
Merge pull request #6771 from marcuschangarm/fix-uart-init
Fix UART initialization for NRF52
2018-05-07 10:35:40 -05:00
Cruz Monrreal 809f183eeb
Merge pull request #6768 from deepikabhavnani/iar_nan0130
Nano 100: Lower HEAP size for IAR
2018-05-07 10:32:30 -05:00
bcostm 6154fd2598 F3 ST CUBE V1.9.0: remove pcd patch
The Lock field is no more available in PCD structure.
2018-05-07 10:58:49 +02:00
bcostm ccf71f0360 F3 ST CUBE V1.9.0: fix build errors with legacy macros 2018-05-07 10:58:49 +02:00
bcostm d0f8def2d7 F3 ST CUBE V1.9.0 2018-05-07 10:58:49 +02:00
Martin Kojtal 5a77f42882
Merge pull request #6796 from marcuschangarm/fix-nrf52-tick
Fix us_ticker for NRF52 series
2018-05-07 08:17:58 +01:00
Martin Kojtal 6361e92d62
Merge pull request #6798 from marcuschangarm/fix-mbr
Fix bug in MBR for NRF52 series
2018-05-04 18:58:14 +01:00
Keyur Hariya 04ae15a154 Declare and call low_level_init funtion 2018-05-03 10:57:38 -05:00
Keyur Hariya 3969d85feb [MAX32625PICO] Add new platform
This platform is available with or without Bootloader.
2018-05-03 10:57:38 -05:00
Martin Kojtal e43d21d4ef
Merge pull request #6713 from theotherjimmy/arm-no-asm-inc
Drop include paths for ARM assembler
2018-05-03 16:31:04 +01:00
Martin Kojtal 45b3fffe9a
Merge pull request #6729 from JammuKekkonen/f411re_add_bootloader_support
Add bootloader support for NUCLEO_F411RE target
2018-05-03 16:30:29 +01:00
Martin Kojtal 1f6ded136c
Merge pull request #6778 from maximmbed/max32625mbed-update-leds
Add support for open drain leds
2018-05-03 16:25:04 +01: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
Marcus Chang 41c1654a49 Fix bug in MBR for NRF52 series
The MBR VTOR state depends on how the application is booted.
This makes it difficult to initialize the MBR correctly since a
bug prevents the MBR from being initialized more than once.

This commit resets the MBR and SoftDevice to a known state before
initializing the MBR and setting the VTOR through the SoftDevice.
2018-05-02 21:10:41 -07:00
Marcus Chang b8f22bbec1 Fix us_ticker for NRF52 series
Changed comparison function when setting ticker timeout to fix
tickers not set correctly.
2018-05-02 16:10:14 -07:00
Marcus Chang a1a329606b Fix UART initialization for NRF52
Delayed initialization can cause problems when both UARTE instances
are in use. This change causes each UART object to initialize the
underlying UARTE instance immediately.
2018-05-02 15:07:13 -07: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
Keyur Hariya ca4937d40d Add support for open drain leds 2018-04-30 15:27:07 -05:00
Jimmy Brisson d08c819830
Merge pull request #6746 from marcuschangarm/fix-vector-relocation
Fix vector table relocation for NRF52
2018-04-30 13:51:22 -05:00
Cruz Monrreal e1cc4559cf
Merge pull request #6748 from andrewleech/nrf52_serial_match_assert
nrf5x: Fix assert test on SERIAL_RESERVED_CHAR_MATCH
2018-04-30 11:50:05 -05:00
deepikabhavnani ba4aa3f3a6 Updating HEAP size
IAR 7.8 does not support dynamic heap, and some test/addition of new
feature fail on this device because of less static RAM memory.
Reducing the heap memory size for the same reason.
2018-04-27 15:48:52 -05:00
Marcus Chang bb14051588 Fix vector table relocation for NRF52
The vector table relocation sequence depends on:

1. Whether the SoftDevice is present.
2. The Application is a bootloader or not.

If the SoftDevice is present and the application is a bootloader
the MBR must be initialized to trap SoftDevice service calls
before setting the new vector table address.

The SCB->VTOR must be set to point at the MBR as well.

If the SoftDevice is not present the SCB->VTOR can point at the
new vector table directly.
2018-04-27 13:40:50 -07:00
Cruz Monrreal d06ad9b834
Merge pull request #6696 from hug-dev/cm3ds-cleaning
CM3DS Maintenance Pull Request: Cleaning
2018-04-26 20:20:31 -05:00
Cruz Monrreal 6ccc963b61
Merge pull request #6733 from maximmbed/fix-compiler-warnings
Fix compiler warnings for Maxim platforms
2018-04-26 20:18:32 -05:00
Cruz Monrreal 487576972b
Merge pull request #6720 from marcuschangarm/fix-sdk-spi
Fix bug in Nordic SDK 14.2 SPI driver
2018-04-26 20:17:36 -05:00
Cruz Monrreal 9d6d8c7273
Merge pull request #6721 from marcuschangarm/fix-sdk-i2c
Fix bug in Nordic SDK 14.2 I2C driver
2018-04-26 20:17:25 -05:00
Cruz Monrreal 4e1c04feba
Merge pull request #6734 from codeauroraforum/Fix_LPC54XXX_GPIO
LPC54XXX: Set the pin function to Digital mode
2018-04-26 20:17:07 -05:00
Andrew Leech 627d028f3e nrf5x: Add description to assert on SERIAL_RESERVED_CHAR_MATCH 2018-04-27 11:05:47 +10:00
Jammu Kekkonen d2cf341348 Add bootloader support for NUCLEO_F411RE target 2018-04-26 16:19:43 +03:00
Martin Kojtal 5ee2658dae
Merge pull request #6701 from SiliconLabs/feature/update-rail
Update to EFR32 15.4 driver
2018-04-25 13:17:33 +01:00
Martin Kojtal a858454451
Merge pull request #6717 from marcuschangarm/fix-spi-pins
Fix NRF52 SPI pin initialization
2018-04-25 13:17:05 +01:00
Martin Kojtal beb8da965c
Merge pull request #6735 from codeauroraforum/Add_GPIO_IRQ_Check
LPC546XX: Add check for GPIO IRQ
2018-04-25 13:16:01 +01:00
Mahesh Mahadevan 6513091173 LPC546XX: Add check for GPIO IRQ
GPIO IRQ is available on pins for Ports 0 & 1. Add
a check to return error for other ports.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-04-24 14:26:20 -05:00
Mahesh Mahadevan 2670f790ce LPC546XX: Set the pin function to Digital mode
We cannot rely on the default value as a pin could
be use for Analog purposes in which this bit is cleared

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-04-24 11:24:23 -05:00
Keyur Hariya fc7c70dbc6 Fix the initialization of a structure 2018-04-24 11:13:19 -05:00
jeromecoutant 7b5a79f56e STM32 RTC Init minor update 2018-04-24 13:50:57 +02:00
Marcus Chang 3edfc77949 Fix bug in Nordic SDK 14.2 I2C driver
Interrupts were not enabled before transmitting data leading to
missed interrupts.
2018-04-23 16:38:31 -07:00
Marcus Chang cba7e0df06 Fix bug in Nordic SDK 14.2 SPI driver
Interrupts were not enabled before transmitting data leading to
missed interrupts.
2018-04-23 16:08:44 -07:00
Keyur Hariya 0ca1a61ba0 Remove the redundant input parameter 2018-04-23 16:37:55 -05:00
Keyur Hariya 1f0809a56b Add the missing input parameter 2018-04-23 16:37:55 -05:00
Keyur Hariya 85bc74cc1d Fix the return type to allow returning error 2018-04-23 16:37:55 -05:00
Keyur Hariya 11cf79ecb0 Add type cast 2018-04-23 16:37:55 -05:00
Marcus Chang 6db4425351 Fix NRF52 SPI pin initialization
SPI pins are not initialized correctly according to the current
SPI mode.

This commit changes how the SPI instance is configured and ensures
that:

1. SPI pins are initialized on each object initialization.
2. SPI pins are reinitialized on each mode or object change.
3. SPI instance is only initialized when a change has occured.
2018-04-23 14:27:33 -07:00
Jimmy Brisson d0e09851ac Use rel path for the ONLY arm asm include statement 2018-04-23 15:23:35 -05:00
Cruz Monrreal b033a6e42e
Merge pull request #6703 from 0xc0170/fix_kl27z_flash
KL27Z: Flash protection macro addition
2018-04-23 15:14:13 -05:00
Cruz Monrreal a15c2f0b22
Merge pull request #6666 from bcostm/PULL_REQUEST_CUBE_UPDATE_L0_V1.10.0
STM32L0: Update with CubeL0 V1.10.0
2018-04-23 11:01:13 -05:00
Cruz Monrreal a27700da33
Merge pull request #6683 from ganesh-ramachandran/master
Add IAR export and nvstore page size fix for TMPM46B
2018-04-23 10:53:55 -05:00
Cruz Monrreal 8e2398520a
Merge pull request #6686 from maximmbed/max32620c-fix-i2c
Remove automatic I2C stop after each read
2018-04-23 10:52:51 -05:00
Cruz Monrreal 38846b2a6c
Merge pull request #6690 from li-ho/ev-cog-bootloader
ADI: Enable bootloader for EV_COG_AD3029LZ and EV_COG_AD4050LZ
2018-04-23 10:51:41 -05:00
Steven Cooreman 780c4c537a Revert file permissions to non-executable 2018-04-23 08:21:20 -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
Steven Cooreman c0ee42a6e7 Update to EFR32 15.4 driver
* Updates driver library to v2.3.1 (2018q1) for bugfixes and convenience functions
* Provides library in correct format (2-byte wchar_t flag) for compiling with ARMCC (#6695 uncovered by #6577)
* Reverts to using a statically-allocated packet buffer since malloc is not thread-safe (and the asserts have been turned on)
2018-04-22 23:23:02 -05:00
Hugues de Valon e4b4a2fa45 CM3DS: switch us_ticker HAL to the tick domain
This commit changes the conversion function to do all the calculation
inside the HAL in ticks instead of microseconds.
The conversion will be done in Mbed OS side.
As SystemCoreClock is not a constant, it can not be used to initialise
the ticker_info_t structure.

Change-Id: I8fd4bf20dc5be8b965aca45f800a631275ccc724
Signed-off-by: Hugues de Valon <hugues.devalon@arm.com>
2018-04-20 16:52:29 +01:00
Hugues de Valon 17b3cb1cde CM3DS: fix compiler warnings
This commit changes the code to fix the compiler warnings on ARM,
GCC_ARM and IAR.

Change-Id: I92676d2cc85daacde9f43f1898377a2cea750c50
Signed-off-by: Hugues de Valon <hugues.devalon@arm.com>
2018-04-20 16:52:19 +01:00
Hugues de Valon b68ef3981d CM3DS: fix clock frequency value
This commit changes the clock frequency to the good value of 25 MHz.

Change-Id: I18e559718619e3b1942c42fda2413b690c7b5852
Signed-off-by: Hugues de Valon <hugues.devalon@arm.com>
2018-04-20 16:40:36 +01:00
Hugues de Valon 9f107d2c73 CM3DS: merge the two system header files into one
This commit does not bring functional changes.
Here is the list of changes:
- merge CMSDK_CM3DS.h and SMM_MPS2.h into CM3DS.h
- remove unused code
- split copyright headers from first comment of each file

Change-Id: I79b7ee01689439b7d2fde9d13035a5edf17f69ff
Signed-off-by: Hugues de Valon <hugues.devalon@arm.com>
2018-04-20 16:40:27 +01:00
Edmund Hsu e10ef5bd73 ADI: Enable bootloader for EV_COG_AD3029LZ and EV_COG_AD4050LZ 2018-04-20 16:20:02 +10:00
Edmund Hsu e2d9eb8b79 EV_COG_AD3029LZ: Rework linker scripts to support bootloader
- fix compiler warning message of flash_api.c
- eliminate absolute address of ROM tables
- add MBED_APP_START and MBED_APP_SIZE to linker scripts
2018-04-20 15:57:05 +10:00
Edmund Hsu beb6a38009 EV_COG_AD4050LZ: Rework linker scripts to support bootloader
- fix compiler warning message of flash_api.c
- fix compiler warning message of startup_ADuCM4050.c
- eliminate absolute address of ROM tables
- add MBED_APP_START and MBED_APP_SIZE to linker scripts
2018-04-20 15:45:26 +10:00
Keyur Hariya 3e7a909265 Remove automatic I2C stop after each read
Automatic stop prevents sending repeated start.
2018-04-19 13:20:14 -05:00
Marcus Chang b964420bbc Reorganize targets.json for NRF52 based targets
* Consolidated device_has and macros to the main MCU targets.
* Moved errata configuration to mbed_lib.json for HAL implementation.
* Moved clock configuration to mbed_lib.json for HAL implementation.
* Moved UART configuration to mbed_lib.json for HAL implementation.
2018-04-19 09:41:05 -07:00
Marcus Chang 2c651afd11 Updated target MTB_LAIRD_BL652 to use SDK 14.2 2018-04-19 09:40:41 -07:00
Marcus Chang b9f91b3839 Fix off-by-one error in NRF52 serial implementation 2018-04-19 09:40:41 -07:00
Marcus Chang 18fa9414cd Add resource management for serial for the NRF52 family
Instance counter keeps track of how many objects have been
initialized and freed. On the first object the instance is
enabled and on the last object the instance is disabled.
2018-04-19 09:40:41 -07:00
Marcus Chang cafa8ae752 Fix serial_putc bug in NRF52 family
serial_putc didn't work when called with interrupts disabled.
2018-04-19 09:40:41 -07:00
Marcus Chang 3663494bd9 Serial re-implementation for the NRF52 series
Serial implementation uses UARTE instead of UART peripheral:

* EasyDMA is used for reading and writing data.
* Triple buffering for receiving data.

See README for full description.
2018-04-19 09:40:41 -07:00
Marcus Chang 9502011d96 README file for NRF52 HAL implementation
Added SPI and I2C section.
2018-04-19 09:40:41 -07:00
Marcus Chang fc8f0e1aa4 I2C HAL update for NRF52
When possible, the I2C HAL will now use the TWI driver in SDK 14.

The manual I2C API still maps onto the old TWI peripheral directly
because the TWI driver doesn't provide the needed low-level functionality.
2018-04-19 09:40:41 -07:00
sarahmarshy c9d16e9e89 Implement SPI API for NRF52x
Implement spi_api.c for NRF52X boards using SDK14.

This driver does not implement SPI slave functions and does not use SPIM.
2018-04-19 09:40:41 -07:00
Marcus Chang d11f74cb4c NRF52 series PWM reimplementation for SDK 14.2
Driver uses new API in SDK 14.2
2018-04-19 09:40:41 -07:00
Marcus Chang cfb480447a NRF52: fix us_ticker IRQ handler
Applying PR to NRF52 SDK 14.2:
https://github.com/ARMmbed/mbed-os/pull/5046
2018-04-19 09:40:41 -07:00
Marcus Chang 8dd627621e Fix ISR stack size inconsistencies on NRF52 series
GCC and IAR ISR stack sizes have been set to 0x800.
(ARM compiler does not set stack size explicitly).
2018-04-19 09:40:41 -07:00
Marcus Chang 6db7e68db5 Helper functions for sharing hardware peripherals on NRF52
Common functions for getting and setting the instance owner of a
hardware peripheral. Used for reconfiguring SPI/I2C after change
of ownership.
2018-04-19 09:40:41 -07:00
Blackstone Engineering ea6c0078c7 Extended PeripheralPins and pinmap for NRF52 series
The NRF52 series can map digital signals to any physical pin which
makes it challenging to associate pin names with hardware instances.

pinmap_ex:
  Keep track of which hardware instance is in use and what pins are
  associated with it. Currently only supports I2C and SPI, but
  provides a mechanism for allocating the shared I2C/SPI hardware.

PeripheralPinsDefault:
  Optional pin map for pre-assigning hardware instances at compile
  time. This makes it easier to optimize hardware utilization.
2018-04-19 09:40:41 -07:00
Marcus Chang f0d1424768 Update analogin_api.c for NRF52 SDK 14.2
Use new SDK API and fixed return value to be normalized to 16 bit
as per the Mbed HAL specification.
2018-04-19 09:40:41 -07:00
Donatien Garnier 64baf717e8 Upgrade NRF52 BLE API to version 5
* Add NRF_SD_BLE_API_VERSION=5 macro to MCU_NRF52832 target
* Added initial Softdevice v5 API support for nRF5XPalGattClient.cpp
* Added initial Softdevice v5 API support for nRF5xGap.h
* Added initial Softdevice v5 API support for nRF5xGattServer.cpp
* Make sure the ah() hash function used by the security manager is declared with C linkage
* Removed 'ARM porting pending' checks in Nordic SDK
* Added BLE configuration to mbed_lib.json for NRF52x targets
* Migrated APIs and events model for Nordic SDK14.2 & SD API v5 in btle.cpp; adopted polling dispatch model
* Migrated APIs and events model for Nordic SDK14.2 & SD API v5 in nRF5xn.cpp
* Migrated APIs and events model for Nordic SDK14.2 & SD API v5 in nRF5xGap.cpp
* Added const qualifier to hwCallbacks's p_ble_evt parameter in nRF5xGattServer
* Add workaround to enable Radio Notification module from Nordic SDK
  * Disabled SWI1 interrupt manually from SWI driver module
    * Added missing include directive for "nrf_nvic.h" in ble_radio_notification.c
* Set correct number of custom UUIDs
* Adjust Softdevice RAM requirements for NRF52832/S132
  * RAM settings for the application were adjusted as follow:
    * Start: 0x20003800
    * Size: 0xC800
* Adjust Softdevice RAM requirements for NRF52840/S140
  * RAM settings for the application were adjusted as follow:
    * Start: 0x20003700 (was 0x20003000)
    * Size: 0xC900
* Added 3dBm as a permitted TX Power value for NRF52832
* Fix address type recovery in GAP
* Return min non-connectable adv interval compatible with infrastrcture's expectations
* Moved BLE driver from TARGET_SDK_14_2/FEATURE_BLE to TARGET_SDK_14_2/TARGET_SOFTDEVICE_COMMON/ble
2018-04-19 09:40:41 -07:00
Marcus Chang fa79e685fc Fix TRNG for NRF52
* When multiple TRNG objects are initialized, destroying the first
  object will turn the TRNG off for the other objects. This fix
  adds a counter to ensure that only when the last object is
  destroyed will it cause the TRNG to be disabled.

* The corner case where a user request 0 bytes is correctly handled
  and will now return immediately.
2018-04-19 09:40:41 -07:00
Marcus Chang 5d5277336a Fix NRF52 build error
This commit removes mbed 2 support for the NRF52 since the new build
system is incompatible with the old one.
2018-04-19 09:40:41 -07:00
Marcus Chang 3b9ec4932c Flash storage for NRF52
Add fstorage and fds from Nordic SDK for SoftDevice compatible
flash storage. Mbed HAL flash API mapped to use fstorage API
to ensure write and erase doesn't conflict with BLE operation.
2018-04-19 09:40:41 -07:00
Marcus Chang 2e7b5ba27b Fix linker scripts and startup code for NRF52
Various bug fixes:

 * Moved SPIM3 location in vector table based on new location in SDK 14.2.
 * Updated vector table entries and size in startup code and linker scripts.
 * Added missing vector table RAM section to IAR linker script.
2018-04-19 09:40:41 -07:00
Marcus Chang 00713342b9 Switch to managed bootloader for SoftDevice merge on NRF52
SoftDevice can be swapped even easier now:

    "target_overrides": {
        "*": {
            "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S140"],
            "target.extra_labels_add": ["SOFTDEVICE_NONE"]
        }
    }
2018-04-19 09:40:41 -07:00
Marcus Chang 39c69f146c Optional SoftDevice for the NRF52 series
Ability to swap SoftDevices using the mbed configuration system.

For example, build NRF52840_DK without SoftDevice:

    "target_overrides": {
        "*": {
            "target.MERGE_SOFT_DEVICE": false,
            "target.extra_labels_remove": ["SOFTDEVICE_COMMON", "SOFTDEVICE_S140"],
            "target.extra_labels_add": ["SOFTDEVICE_NONE"]
        }
    }

Pinned down vector table to beginningn of RAM.
2018-04-19 09:40:41 -07:00
Marcus Chang 770b1a326e Simplified critical_section_api.c for NRF52 series
Critical section enter/exit is now delegated to Nordic SDK's

sd_nvic_critical_region_enter
sd_nvic_critical_region_exit

When the SoftDevice is not included these functions map to

__disable_irq
__enable_irq
2018-04-19 09:40:41 -07:00
Marcus Chang 5c3e494a7e Renamed MCU_NRF52832 inheritance in MTB_UBLOX_NINA_B1 2018-04-19 09:40:41 -07:00
Marcus Chang c049921064 Add GCC linker sections for NRF52 SoftDevice 2018-04-19 09:40:41 -07:00
sarahmarshy 6827816454 Add TRNG device_has for NRF52_DK 2018-04-19 09:40:41 -07:00
Marcus Chang cf61c240bf Update critical section for NRF5x 2018-04-19 09:40:41 -07:00
Marcus Chang efa3461fd4 Change target.json to use new SDK and folder structure for NRF52 2018-04-19 09:40:41 -07:00
Marcus Chang 3940d3abaf Default SDK configuration for NRF52832 and NRF52840 2018-04-19 09:40:41 -07:00
Marcus Chang 0b40ddc530 Initial mbed HAL implementation for NRF5x family
Copied from previous location in targets/TARGET_NORDIC/TARGET_NRF5

Core functionality is working but some peripherals do not.
2018-04-19 09:40:41 -07:00
Marcus Chang d861bda214 Pin configurations for NRF52840 based boards 2018-04-19 09:40:41 -07:00
Marcus Chang 56cf0921ad Pin configurations for NRF52832 based boards 2018-04-19 09:40:41 -07:00
Marcus Chang ad1b986913 Linker scripts and startup files for NRF52840
Flash and RAM offsets have been modified to fit new SoftDevice
2018-04-19 09:40:41 -07:00
Marcus Chang bff552de6c Linker scripts and startup files for NRF52832
Flash and RAM offsets have been modified to fit new SoftDevice
2018-04-19 09:40:41 -07:00
Marcus Chang fc2760ad04 NRF52832 and NRF52840 upgraded to Nordic SDK 14 and SoftDevice 5.0
Initial commit for separating NRF52 code from the NRF51 and for
combining the NRF52832 and NRF52840 SDK to version 14.

nRF5_SDK_14.2.0_17b948a.zip has been used as baseline.

The folders in SDK/components:
 * ble
 * boards
 * device
 * drivers_nrf
 * libraries
 * softdevice

have been copied to TARGET_NORDIC/TARGET_NRF52/TARGET_SDK14.

Each folder contains a README.md file describing any modifications
made to that particular folder. Most common operation is deletion
of files.

If the need arise in the future the missing files can be added again.

The SoftDevices have been moved to TARGET_SOFTDEVICE_x folders for
flexible selection.

ble.h has been renamed to nrf_ble.h to avoid namespace clash with
mbed OS BLE.
2018-04-19 09:40:41 -07:00
Ganesh Ramachandran 38c5997e4c IAR export and page size fix for nvstore 2018-04-19 17:24:58 +05:30
Martin Kojtal cba28cc0ac
Merge pull request #6221 from codeauroraforum/Add_RNG_LPC54XXX
LPC546XX: Add TRNG support
2018-04-18 14:25:56 +02:00
Martin Kojtal f1738c9186
Merge pull request #6651 from tung7970/fix-warnings
rtl8195am - Fix more compiler warnings
2018-04-18 14:19:00 +02:00
bcostm 893b759663 L0 ST CUBE V1.10.0: change adc sampling time 2018-04-18 14:06:21 +02:00
bcostm 61576f8131 L0 ST CUBE V1.10.0: spi and i2c corrections 2018-04-18 14:06:20 +02:00
bcostm 8191487a4d L0 ST CUBE V1.10.0 2018-04-18 14:06:20 +02:00
Cruz Monrreal d680ceeba6
Merge pull request #6603 from marcuschangarm/fix-flowcontrol
Optional hardware flow control for STDOUT
2018-04-17 13:15:31 -05:00
Thomas Sailer 004724d4d9 add ncs36510 fib and trim generation 2018-04-17 18:28:41 +02:00
Cruz Monrreal 5d4762a02f
Merge pull request #6648 from li-ho/ev-cog-buttons
ADI: Add BUTTON pin names for EV_COG_AD4050LZ and EV_COG_AD3029LZ
2018-04-17 10:56:29 -05:00
Cruz Monrreal 1cc78f864c
Merge pull request #6647 from codeauroraforum/Fix_LPC54xxx_I2C
Fix MCUXpresso LPC I2C driver
2018-04-17 10:56:10 -05:00
Cruz Monrreal df5119677a
Merge pull request #6607 from maximmbed/max32630-fix-spi
Improve SPI block write
2018-04-17 10:55:00 -05:00
Cruz Monrreal 7489401044
Merge pull request #6468 from codeauroraforum/Fix_DeepSleep_Implementation
Fix deep sleep implementation
2018-04-17 10:53:27 -05:00
Tony Wu e7286bc094 rtl8195am - fix wifi_util.c warnings
Fix the following warnings:

[Warning] wifi_util.c@791,20: comparison between signed and unsigned integer expressions [-Wsign-compare]
[Warning] wifi_util.c@835,21: comparison between signed and unsigned integer expressions [-Wsign-compare]

Signed-off-by: Tony Wu <tonywu@realtek.com>
2018-04-17 16:42:05 +08:00
Tony Wu 71859debd6 rtl8195am - fix dhcps.c warnings
Fix the following errors:

[Warning] dhcps.c@158,1: label 'Exit' defined but not used [-Wunused-label]
[Warning] dhcps.c@161,13: 'dump_client_table' defined but not used [-Wunused-function]

Signed-off-by: Tony Wu <tonywu@realtek.com>
2018-04-17 16:34:48 +08:00
Tony Wu 7ac365c258 rtl8195am - fix wifi_promisc.c warnings
Fix the following warnings:

[Warning] wifi_promisc.c@113,61: missing braces around initializer [-Wmissing-braces]
[Warning] wifi_promisc.c@297,52: comparison between signed and unsigned integer expressions [-Wsign-compare]
[Warning] wifi_promisc.c@403,52: comparison between signed and unsigned integer expressions [-Wsign-compare]

Signed-off-by: Tony Wu <tonywu@realtek.com>
2018-04-17 16:31:58 +08:00
Tony Wu 13dd84ec3c rtl8195am - fix lwip_intf.c warnings
Fix the following warning:

[Warning] lwip_intf.c@134,5: this 'if' clause does not guard... [-Wmisleading-indentation]

Signed-off-by: Tony Wu <tonywu@realtek.com>
2018-04-17 16:27:37 +08:00
Tony Wu 8e4152cc06 rtl8195am - fix tcm_heap.c warnings
Fix the following warnings:

[Warning] tcm_heap.c@70,18: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'MemChunk * {aka struct _MemChunk *}' [-Wformat=]
[Warning] tcm_heap.c@70,28: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'MemChunk * {aka struct _MemChunk *}' [-Wformat=]
[Warning] tcm_heap.c@336,6: unused variable 'i' [-Wunused-variable]

Signed-off-by: Tony Wu <tonywu@realtek.com>
2018-04-17 16:21:18 +08:00
Tony Wu 33cc3b7907 rtl8195am - fix rtw_emac.cpp warnings
Fix the following warnings:

[Warning] rtw_emac.cpp@62,104: format '%x' expects argument of type 'unsigned int*', but argument 3 has type 'uint8_t* {aka unsigned char*}' [-Wformat=]
[Warning] rtw_emac.cpp@62,104: format '%x' expects argument of type 'unsigned int*', but argument 4 has type 'uint8_t* {aka unsigned char*}' [-Wformat=]
[Warning] rtw_emac.cpp@62,104: format '%x' expects argument of type 'unsigned int*', but argument 5 has type 'uint8_t* {aka unsigned char*}' [-Wformat=]
[Warning] rtw_emac.cpp@62,104: format '%x' expects argument of type 'unsigned int*', but argument 6 has type 'uint8_t* {aka unsigned char*}' [-Wformat=]
[Warning] rtw_emac.cpp@62,104: format '%x' expects argument of type 'unsigned int*', but argument 7 has type 'uint8_t* {aka unsigned char*}' [-Wformat=]
[Warning] rtw_emac.cpp@62,104: format '%x' expects argument of type 'unsigned int*', but argument 8 has type 'uint8_t* {aka unsigned char*}' [-Wformat=]
[Warning] rtw_emac.cpp@201,101: format '%x' expects argument of type 'unsigned int*', but argument 3 has type 'char*' [-Wformat=]
[Warning] rtw_emac.cpp@201,101: format '%x' expects argument of type 'unsigned int*', but argument 4 has type 'char*' [-Wformat=]
[Warning] rtw_emac.cpp@201,101: format '%x' expects argument of type 'unsigned int*', but argument 5 has type 'char*' [-Wformat=]
[Warning] rtw_emac.cpp@201,101: format '%x' expects argument of type 'unsigned int*', but argument 6 has type 'char*' [-Wformat=]
[Warning] rtw_emac.cpp@201,101: format '%x' expects argument of type 'unsigned int*', but argument 7 has type 'char*' [-Wformat=]
[Warning] rtw_emac.cpp@201,101: format '%x' expects argument of type 'unsigned int*', but argument 8 has type 'char*' [-Wformat=]

Signed-off-by: Tony Wu <tonywu@realtek.com>
2018-04-17 16:18:03 +08:00
Tony Wu 93a5683f92 rtl8195am - fix wifi_conf.c warnings
Fix the following warnings:

[Warning] wifi_conf.c@326,28: suggest parentheses around comparison in operand of '|' [-Wparentheses]
[Warning] wifi_conf.c@451,39: format '%x' expects argument of type 'unsigned int *', but argument 3 has type 'u32 * {aka long unsigned int *}' [-Wformat=]
[Warning] wifi_conf.c@451,43: format '%x' expects argument of type 'unsigned int *', but argument 4 has type 'u32 * {aka long unsigned int *}' [-Wformat=]
[Warning] wifi_conf.c@451,47: format '%x' expects argument of type 'unsigned int *', but argument 5 has type 'u32 * {aka long unsigned int *}' [-Wformat=]
[Warning] wifi_conf.c@451,51: format '%x' expects argument of type 'unsigned int *', but argument 6 has type 'u32 * {aka long unsigned int *}' [-Wformat=]
[Warning] wifi_conf.c@451,55: format '%x' expects argument of type 'unsigned int *', but argument 7 has type 'u32 * {aka long unsigned int *}' [-Wformat=]
[Warning] wifi_conf.c@460,39: format '%x' expects argument of type 'unsigned int *', but argument 3 has type 'u32 * {aka long unsigned int *}' [-Wformat=]
[Warning] wifi_conf.c@460,43: format '%x' expects argument of type 'unsigned int *', but argument 4 has type 'u32 * {aka long unsigned int *}' [-Wformat=]
[Warning] wifi_conf.c@460,47: format '%x' expects argument of type 'unsigned int *', but argument 5 has type 'u32 * {aka long unsigned int *}' [-Wformat=]
[Warning] wifi_conf.c@460,51: format '%x' expects argument of type 'unsigned int *', but argument 6 has type 'u32 * {aka long unsigned int *}' [-Wformat=]
[Warning] wifi_conf.c@460,55: format '%x' expects argument of type 'unsigned int *', but argument 7 has type 'u32 * {aka long unsigned int *}' [-Wformat=]
[Warning] wifi_conf.c@460,59: format '%x' expects argument of type 'unsigned int *', but argument 8 has type 'u32 * {aka long unsigned int *}' [-Wformat=]
[Warning] wifi_conf.c@460,63: format '%x' expects argument of type 'unsigned int *', but argument 9 has type 'u32 * {aka long unsigned int *}' [-Wformat=]
[Warning] wifi_conf.c@460,35: format '%x' expects argument of type 'unsigned int *', but argument 10 has type 'u32 * {aka long unsigned int *}' [-Wformat=]
[Warning] wifi_conf.c@460,35: format '%x' expects argument of type 'unsigned int *', but argument 11 has type 'u32 * {aka long unsigned int *}' [-Wformat=]
[Warning] wifi_conf.c@460,35: format '%x' expects argument of type 'unsigned int *', but argument 12 has type 'u32 * {aka long unsigned int *}' [-Wformat=]
[Warning] wifi_conf.c@460,35: format '%x' expects argument of type 'unsigned int *', but argument 13 has type 'u32 * {aka long unsigned int *}' [-Wformat=]
[Warning] wifi_conf.c@460,35: format '%x' expects argument of type 'unsigned int *', but argument 14 has type 'u32 * {aka long unsigned int *}' [-Wformat=]
[Warning] wifi_conf.c@460,35: format '%x' expects argument of type 'unsigned int *', but argument 15 has type 'u32 * {aka long unsigned int *}' [-Wformat=]
[Warning] wifi_conf.c@831,16: format '%d' expects argument of type 'int *', but argument 3 has type 'rtw_security_t * {aka long unsigned int *}' [-Wformat=]
[Warning] wifi_conf.c@1335,2: suggest parentheses around assignment used as truth value [-Wparentheses]
[Warning] wifi_conf.c@1398,13: pointer targets in passing argument 1 of 'rtw_mfree' differ in signedness [-Wpointer-sign]
[Warning] wifi_conf.c@1724,7: variable 'ret' set but not used [-Wunused-but-set-variable]
[Warning] wifi_conf.c@1770,6: variable 'ret' set but not used [-Wunused-but-set-variable]

Signed-off-by: Tony Wu <tonywu@realtek.com>
2018-04-17 11:05:49 +08:00
Tony Wu 7ee2d2a862 rtl8195am - fix osdep_service.c warnings
Fix the following warnings:

[Warning] osdep_service.c@58,11: comparison between signed and unsigned integer expressions [-Wsign-compare]
[Warning] osdep_service.c@208,61: suggest braces around empty body in an 'else' statement [-Wempty-body]
[Warning] osdep_service.c@1063,16: pointer targets in passing argument 1 of '_rtw_mfree' differ in signedness [-Wpointer-sign]

Signed-off-by: Tony Wu <tonywu@realtek.com>
2018-04-17 10:51:25 +08:00
Tony Wu 03600f6ef3 rtl8195am - fix spi_api.c warnings
Fix the following warnings:

[Warning] hal_ssi.h@28,85: suggest braces around empty body in an 'if' statement [-Wempty-body]
[Warning] spi_api.c@87,27: comparison between signed and unsigned integer expressions [-Wsign-compare]
[Warning] spi_api.c@76,14: unused variable 'MaxSsiFreq' [-Wunused-variable]

Signed-off-by: Tony Wu <tonywu@realtek.com>
2018-04-17 10:51:22 +08:00
Tony Wu 7b0ff75f5c rtl8195am - fix pwmout_api.c warnings
Fix the following warning:

[Warning] pwmout_api.c@65,29: comparison between signed and unsigned integer expressions [-Wsign-compare]

Signed-off-by: Tony Wu <tonywu@realtek.com>
2018-04-17 10:41:27 +08:00
Tony Wu e5f0542436 rtl8195am - fix log_uart_api.c warnings
Fix the following warnings:

[Warning] log_uart_api.c@58,38: comparison between signed and unsigned integer expressions [-Wsign-compare]
[Warning] log_uart_api.c@151,38: comparison between signed and unsigned integer expressions [-Wsign-compare]
[Warning] log_uart_api.c@260,27: unused variable 'pUartAdapter' [-Wunused-variable]
[Warning] log_uart_api.c@268,27: unused variable 'pUartAdapter' [-Wunused-variable]
[Warning] log_uart_api.c@276,27: unused variable 'pUartAdapter' [-Wunused-variable]
[Warning] log_uart_api.c@290,27: unused variable 'pUartAdapter' [-Wunused-variable]
[Warning] log_uart_api.c@328,27: unused variable 'pUartAdapter' [-Wunused-variable]
[Warning] log_uart_api.c@338,27: unused variable 'pUartAdapter' [-Wunused-variable]
[Warning] log_uart_api.c@376,45: pointer targets in passing argument 2 of 'HalLogUartRecv' differ in signedness [-Wpointer-sign]
[Warning] log_uart_api.c@386,45: pointer targets in passing argument 2 of 'HalLogUartSend' differ in signedness [-Wpointer-sign]

Signed-off-by: Tony Wu <tonywu@realtek.com>
2018-04-17 10:40:11 +08:00
Tony Wu 1b815de4ac rtl8195am - fix i2c_api.c warnings
Fix the following warnings:

[Warning] i2c_api.c@94,26: comparison between signed and unsigned integer expressions [-Wsign-compare]
[Warning] i2c_api.c@231,5: implicit declaration of function 'memset' [-Wimplicit-function-declaration]
[Warning] i2c_api.c@460,14: unused variable 'i2c_default_addr' [-Wunused-variable]

Signed-off-by: Tony Wu <tonywu@realtek.com>
2018-04-17 10:33:48 +08:00
Edmund Hsu 3d37c26d28 Add BUTTON pin names for EV_COG_AD4050LZ and EV_COG_AD3029LZ
Apart from reset and boot buttons, EV_COG_AD4050LZ and
EV_COG_AD3029LZ have 2 more user defined buttons:

- BUTTON1
- BUTTON2
2018-04-17 10:53:11 +10:00
Mahesh Mahadevan 6e9f99ca93 MCUXpresso: Fix LPC I2C driver for byte operations
The ci-shield tests that manually generate the START, STOP
by calling the HAL functions were failing. The byte operation
HAL functions cannot use the MCUXpresso SDK driver API's.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-04-16 16:35:34 -05:00
Mahesh Mahadevan 69a950c6eb MCUXpresso: Fix SDK LPC driver
Poll the Pending bit after START and STOP operations to ensure
operation completion.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-04-16 16:35:34 -05:00
Cruz Monrreal f73415e9f8
Merge pull request #6466 from OpenNuvoton/nuvoton_fix_spi
Nuvoton: Fix issues with SPI
2018-04-16 10:47:51 -05:00
Cruz Monrreal 4ff1a49d17
Merge pull request #6541 from jorisa/lpc11c24-spfix
Add mbed-os 5 build support for LPC11C24
2018-04-16 10:45:06 -05:00
Cruz Monrreal fd756ef2f5
Merge pull request #6598 from embeddedartists/lpc4088_hardfault_fix
LPC4088: Fix hardfault occuring after power-cycle
2018-04-16 10:43:37 -05:00
Cruz Monrreal e2567e5dad
Merge pull request #6599 from jeromecoutant/PR_WARNING
STM32 compilation warning issues
2018-04-16 10:41:36 -05:00
Cruz Monrreal fe44dc0468
Merge pull request #6601 from KariHaapalehto/add_mtb_adv_wise_1530
Add new target MTB_ADV_WISE_1530
2018-04-16 10:40:12 -05:00
Cruz Monrreal 63412bbe1d
Merge pull request #6605 from maximmbed/max32625-rework-ticker
Rework us_ticker and rtc_api/lp_ticker | Fix compiler warning for spi_api
2018-04-16 10:39:11 -05:00
Cruz Monrreal b630691fdf
Merge pull request #6606 from maximmbed/max32630-fix-i2c
Fix I2C master
2018-04-16 10:38:10 -05:00
Cruz Monrreal 988a16b245
Merge pull request #6608 from maximmbed/max32630-rework-ticker
Rework us_ticker and rtc_api/lp_ticker
2018-04-16 10:37:51 -05:00
Cruz Monrreal 37f36a776f
Merge pull request #6609 from pauluap/compiler_warning_pcd_unsigned_signed
STM32 PCD negative numbers issue
2018-04-16 10:36:13 -05:00
Marcus Chang 7e6538ffed Optional hardware flow control for STDOUT
Some platforms have interface chips with hardware flow control
enabled by default. This commit adds configurable flow control to
STDOUT.

Usage:

* Define pin names STDIO_UART_RTS for Rx-flow-control and
  STDIO_UART_CTS for Tx-flow-control.
* Set target.console-uart-flow-control. Valid options are:
  null, RTS, CTS, and RTSCTS.
2018-04-15 20:12:14 -07:00
Keyur Hariya b08c752fcd Fix indentation 2018-04-13 15:20:00 -05:00
Keyur Hariya 16d38895d3 Improve SPI block write
Replace looping construct with actual block writes.
Transaction in spi_master_block_write funtion is protected by critical
section to ensure it is completed without interruption. A hardware
limitation may cause data corruption if the TX fifo is allowed to run
empty.
2018-04-13 15:14:10 -05:00
Paul Thompson 20f11bc13f Extend changes to other STM32 devices that have the PCD_WriteEmptyTxFifo() function 2018-04-13 05:27:03 -07:00
Paul Thompson b45d4233e1 Make the atomic_clr_u32 conditional use raw values rather than computed, remove need for guards 2018-04-13 04:44:43 -07:00
Paul Thompson 2211a27f53 Drop usage of ilen, just use len and cast it to int32_t as appropriate 2018-04-13 00:27:00 -07:00
Tony Wu d9c51b92fc rtl8195am - fix excessive compiler warnings
Fix hundreds of excessive compiler warnings due to out of enum type range

Examples shown as follows:
mbed-os.lib/targets/TARGET_Realtek/TARGET_AMEBA/sdk/soc/realtek/8195a/fwlib/hal_i2c.h", Line: 329, Col: 34
mbed-os.lib/targets/TARGET_Realtek/TARGET_AMEBA/TARGET_RTL8195A/PinNames.h", Line: 172, Col: 11

Signed-off-by: Tony Wu <tonywu@realtek.com>
2018-04-13 13:48:59 +08:00
Cruz Monrreal 641e814048
Merge pull request #6169 from hug-dev/cm3ds-trng
CM3DS Maintenance Pull Request: TRNG support (3/4)
2018-04-12 18:38:15 -05:00
Cruz Monrreal 52340753e5
Merge pull request #6567 from bcostm/fix_xtal_disco_f769ni
DISCO_F769NI: set clock_source to USE_PLL_HSE_EXTC
2018-04-12 18:36:24 -05:00
Keyur Hariya b594ec20b8 Fix compiler warning for spi_api
Add mbed_critical include file to disable compiler warning messages.
2018-04-12 12:52:55 -05:00
Keyur Hariya 098c2cf756 Rework us_ticker and rtc_api/lp_ticker
Simplify tickers to stop emulating 1us ticks by using native timer resolutions.
Implement ticker get info functions.
Separate rtc and lp ticker init status by implementing separate functions.
2018-04-12 12:52:05 -05:00
Keyur Hariya 278707518c Revert "Rework us_ticker and rtc_api/lp_ticker | Fix compiler warnings for spi_api"
This reverts commit 840246a4d5.
2018-04-12 12:51:05 -05:00
Paul Thompson 8f4a5e2093 Revert to original fix concentrating on type correctness 2018-04-12 10:09:53 -07:00
Paul Thompson 430784b084 Initial work was for unsigned-signed comparison fix. Current work fixes negative number issues
Compile: stm32f7xx_hal_pcd.c
../targets/TARGET_STM/TARGET_STM32F7/device/stm32f7xx_hal_pcd.c: In function 'PCD_WriteEmptyTxFifo':
../targets/TARGET_STM/TARGET_STM32F7/device/stm32f7xx_hal_pcd.c:1310:11: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if (len > ep->maxpacket)
           ^
../targets/TARGET_STM/TARGET_STM32F7/device/stm32f7xx_hal_pcd.c:1325:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (len > ep->maxpacket)
             ^
2018-04-12 09:43:18 -07:00
Paul Thompson c67f535fb3 Drop locking around TX and RX. The DMA channels are independent of each other 2018-04-12 09:42:28 -07:00
jeromecoutant 71d7d24bd6 STM32L4 : correct compilation warnings 2018-04-12 10:56:41 +02:00
jeromecoutant e7c4120550 STM32L1 : correct compilation warnings 2018-04-12 10:55:16 +02:00
jeromecoutant eeca430b23 STM32L0 : correct compilation warnings 2018-04-12 10:55:11 +02:00
jeromecoutant 2d0dce1db5 STM32F7 : correct compilation warnings 2018-04-12 10:55:02 +02:00
jeromecoutant 2fcf8d8990 STM32F4 : correct compilation warnings 2018-04-12 10:52:21 +02:00
jeromecoutant a540a21106 STM32F3 : correct compilation warnings 2018-04-12 10:51:33 +02:00
jeromecoutant 4e9e9f5c62 STM32F2 : correct compilation warnings 2018-04-12 10:51:18 +02:00
Keyur Hariya 534f570b0c Rework us_ticker and rtc_api/lp_ticker
Simplify tickers to stop emulating 1us ticks by using native timer resolutions.
Implement ticker get info functions.
Separate rtc and lp ticker init status by implementing separate functions.
2018-04-11 16:16:09 -05:00
Keyur Hariya e802b255be Remove automatic I2C stop after each read
Automatic stop prevents sending repeated start.
2018-04-11 15:07:52 -05:00
Keyur Hariya 840246a4d5 Rework us_ticker and rtc_api/lp_ticker | Fix compiler warnings for spi_api
Simplify tickers to stop emulating 1us ticks by using native timer resolutions.
Implement ticker get info functions.
Separate rtc and lp ticker init status by implementing separate functions.
Add mbed_critical include file to disable compiler warning messages.
2018-04-11 15:02:11 -05:00
Kari Haapalehto f2b37b7d42 Add new target MTB_ADV_WISE_1530.
MTB_ADV_WISE_1530 and MTB_USI_WM_BN_BM_22 includes same usi chip,
so common USI_WM_BN_BM_22 target has been created.
MTB_ADV_WISE_1530 and MTB_USI_WM_BN_BM_22 are inheting the common usi target
2018-04-11 15:50:28 +03:00
Andreas Rebert 01d06a9f51 LPC4088: Fix hardfault occuring after power-cycle
Since revision 5499db1 (mbed-os-5.6.0) a hardfault occurs after a power-cycle.
It doesn't occur after a reset when the application has been downloaded using
drag-and-drop or via debugger. This is probably the reason why this problem
isn't detected when testing new mbed releases.

The hardfault occured in hal_sleep(). Adding a __NOP after __WFI solves the
problem although I don't fully understand why.

- Revision ca661f9 is the last revision where the problem doesn't occur.
- The problem doesn't occur when compiling with GCC instead of ARM compiler
- This issue describes a similar, but not identical problem and led me to test adding a __NOP: https://github.com/ARMmbed/mbed-os/issues/5065
2018-04-11 11:13:43 +02:00
jeromecoutant b6a8a50a28 STM32F1 : correct compilation warnings 2018-04-11 11:06:44 +02:00
jeromecoutant c2ee8f34b6 STM32F0 : correct compilation warnings 2018-04-11 09:57:54 +02:00
Paul Thompson f41cf081c9 STM32 : correct compilation warnings 2018-04-11 09:53:15 +02:00
Cruz Monrreal 96a562ab7d
Merge pull request #6550 from theotherjimmy/remove-m1
Remove MPS2 M1
2018-04-10 18:08:57 -05:00
Cruz Monrreal e913e917c0
Merge pull request #6544 from ithinuel/add_rak811_adc
add ADC_AN0-2 mapped on PA_0-2
2018-04-10 18:08:03 -05:00
Cruz Monrreal d9e5c4ba8c
Merge pull request #6505 from netanelgonen/remove_target
remove MODULE_UBLOX_ODIN_W2 from targets.json
2018-04-10 18:07:41 -05:00
Mahesh Mahadevan 9a1e749780 LPC546XX: Fix deepsleep implementation
Add a check to return to 220MHz on LPC54628

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-04-10 08:16:41 -05: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
Netanel Gonen 3569d2482b
replace tab with spaces 2018-04-09 23:18:56 +03:00
Martin Kojtal 8b2eb20a54
Merge pull request #6553 from theotherjimmy/stmL4-armc6
Correct armc6 detection logic for STM32L4
2018-04-09 17:36:52 +02:00
Martin Kojtal 96084a3c67
Merge pull request #6561 from LMESTM/Stm32DeepSleepClock
Stm32 deep sleep clock
2018-04-09 17:11:23 +02:00
Martin Kojtal a3faf58a9e
Merge pull request #6511 from ashok-rao/MTB_USI_BM22
Add new target USI WM-BN-BM-22
2018-04-09 17:07:00 +02:00
Martin Kojtal 1b2f63a418
Merge pull request #6503 from maximmbed/add-platform-MAX32620C
[MAX32620C] Add new target
2018-04-09 17:05:42 +02:00
Joris Aerts 9e06a3047b Change detault output_ext for LPC11C24 to hex (for flashmagic) 2018-04-09 11:27:00 +02:00
bcostm 63b56d5ffc DISCO_F769NI: set clock_source to USE_PLL_HSE_EXTC 2018-04-09 10:17:42 +02:00
ccli8 571e89048f [Nuvoton] Remove dead code with '#if 0' in SPI 2018-04-09 09:33:52 +08:00
Martin Kojtal 83100d20a5
Merge pull request #6497 from bcostm/PULL_REQUEST_CUBE_UPDATE_L1_V1.8.1
STM32L1: Update ST HAL driver to CubeL1 V1.8.1
2018-04-06 17:11:14 +02:00
Laurent MEUNIER ad4a250292 Style fix 2018-04-06 17:03:53 +02:00
Laurent MEUNIER 3d92af50ce Add delay to let clock stabilize when out of deep sleep
Tests have shown that there is hich-up on MSI clock during the setup phase.
If this stabilization phase happens when application has restarted again
this can have side effects, like grambled UART characters typically.

So we're adding a delay before hading-over back to application.

With this modification, on NCULEO_L476RG, the wake-up time is increased
from 2ms to 2,5ms.
If possible this should be improved in the future to save 500 microseconds
of wak-up time.  See TODO
2018-04-06 16:10:27 +02:00
Laurent MEUNIER 8007b1df7c Use temporarily MSI or HSI when exiting Deep Sleep
There are cases where HW registers are found in unpexcepted state when
exiting Deep Sleep only few micro-seconds after it was entered.

By using an internal clock that does not depend on anythin and clocking
the system without using PLL, this allows SetSysClock default configuration
to run fine whatever possible configuration we find the HW in when
exiting Deep Sleep.

Also we shall restore interrupts only after all cloks are back to
expected running state.
2018-04-06 16:10:27 +02:00
Hugues de Valon acb53180ef CM3DS: enable TRNG with open-source TZ-TRNG driver
This patchs adds TRNG support using the upstreamed, open-source, TZ-TRNG
driver.
It also implements the HAL for TRNG and add it in features.
The mbed-os.py script deletes files that are unused by mbed-os.

Change-Id: Idf8eefd809f00d40e0ad3cf7657f2a8c2eca3505
Signed-off-by: Hugues de Valon <hugues.devalon@arm.com>
2018-04-06 11:24:11 +01:00
Jimmy Brisson d374bb4a5a Correct armc6 detection logic 2018-04-05 15:13:52 -05:00
Jimmy Brisson 4eff47feb4 Remove MPS2 M1
There's not a port
2018-04-05 14:05:49 -05:00
Wilfried Chauveau de4d7043c9 add ADC_AN0-2 mapped on PA_0-2 2018-04-05 08:33:55 +01:00
Keyur Hariya 2bb78d433f Fix assembly file extension 2018-04-04 10:32:46 -05:00
Joris Aerts f8a06640c1 Add mbed5 build support for LPC11C24 2018-04-03 16:45:16 +02:00
bcostm 8412807669 Update stm32l151xba.h 2018-04-03 15:01:07 +02:00
bcostm 293b3bfdc0 STM32L1: allow redefinition of FLASH_SIZE macro 2018-04-03 14:23:14 +02:00
bcostm 8c0ff8be79 Fix typos causing ARM build error 2018-04-03 14:01:03 +02:00
bcostm d8aa587782 L1 ST CUBE V1.8.1 2018-04-03 14:01:02 +02:00
Edmund Hsu 04eaabf579 Fix EV_COG_AD3029LZ `us_ticker_fire_interrupt()` minimal time interval
- ensure us_ticker_irq_handler() is called only when GP2 timer expires
- set us_ticker_set_interrupt() time interval to be 9.846 us
- set us_ticker_fire_interrupt() time interval to be 0.03846 us
2018-04-01 19:35:05 +10:00
Edmund Hsu ef6d93eca0 Fix EV_COG_AD4050LZ `us_ticker_fire_interrupt()` minimal time interval
- ensure us_ticker_irq_handler() is called only when GP2 timer expires
- set us_ticker_set_interrupt() time interval to be 9.846 us
- set us_ticker_fire_interrupt() time interval to be 0.03846 us
- convert tab to space
2018-04-01 19:34:24 +10:00
Mahesh Mahadevan 76c8a1bf7e LPC546XX: Add TRNG support
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-03-30 14:12:39 -05:00
Cruz Monrreal c8bd08f60e
Merge pull request #6043 from ithinuel/add-rak811
add support for the RAK811
2018-03-30 01:54:19 -05:00
Jimmy Brisson eaa31dd66e
Merge pull request #6475 from SiliconLabs/feature/new/tickless
Enable tickless mode on Silicon Labs targets
2018-03-29 11:59:49 -05:00
Jimmy Brisson 897885909d
Merge pull request #6394 from OpenNuvoton/nuvoton_fix_ticker
Nuvoton: Fix us_ticker/lp_ticker
2018-03-29 11:58:53 -05:00
Jimmy Brisson 0615111785
Merge pull request #5902 from ganesh-ramachandran/master
Added Support for Toshiba TMPM46B
2018-03-29 11:58:14 -05:00
Ashok Rao 62e5dccd0b Remove irrelevant comments 2018-03-29 16:52:03 +01:00
Ashok Rao 1df5c020b9 Adding USI WM-BN-BM-22 as a new target 2018-03-29 16:20:54 +01:00
Netanel Gonen d925a04efb remove MODULE_UBLOX_ODIN_W2 from targets.json
remove this target from json file as this is not a real target
 but a parent target

fix error removing the target
2018-03-29 09:31:34 +03:00
Cruz Monrreal f895392374
Merge pull request #6413 from toyowata/lpc1768_flash_fix
LPC176X: Fix flash program size
2018-03-29 00:49:22 -05:00
Cruz Monrreal 4797b53ac8
Merge pull request #6488 from SiliconLabs/bugfix/armcc_sp
Fix initial SP for new Silicon Labs targets on ARMCC
2018-03-29 00:41:44 -05:00
Keyur Hariya da96c56d90 [MAX32620C] Add new target 2018-03-28 16:39:09 -05:00
Wilfried Chauveau 85af9f96ea add IAR to the supported toolchain 2018-03-28 10:03:23 +01:00
Steven Cooreman e487043c11 Set up the ISR stack pointer in the right location on ARMCC
EFR32MG1, EFR32MG12 and EFM32PG12 didn't have a fixed ARMCC linker script yet.
2018-03-27 23:03:49 +02:00
toyowata 3acdc81e6d Add alignment check in the flash_program_page
* Add source address word alignment check
* malloc and memcpy are called only if data is unaligned
* malloc size is now copySize (program page size), rather than whole buffer to be written
2018-03-27 23:04:26 +09:00
Wilfried Chauveau 88a2df72e2 fix device name (an mixed tab/space) 2018-03-27 13:35:35 +01:00
Steven Cooreman cbba94b2f4 Enable tickless mode on Silicon Labs targets 2018-03-27 12:44:53 +02: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 e9b234b876
Merge pull request #6424 from OpenNuvoton/m487_v3
Nuvoton: Support M487 v3.0 pin map
2018-03-26 14:26:32 -05:00
Cruz Monrreal 50773b1b75
Merge pull request #6440 from theotherjimmy/remove-supertarget
Remove supertarget
2018-03-26 14:21:53 -05:00
Wilfried Chauveau c31676306a switch to stm32l151cb-a & work around flash size field width. 2018-03-26 18:00:18 +01:00
Ganesh Ramachandran a7d8eaed9e Low power consumption mode for deepsleep 2018-03-26 15:43:21 +05:30
Ganesh Ramachandran 609441a361 Dynamic vector relocation and formatting changes 2018-03-26 15:39:05 +05:30
Ganesh Ramachandran ee1bf13f54 CI build - case sensitive include header resolved 2018-03-26 15:39:05 +05:30
Ganesh Ramachandran d7905ab81f Modified ESG reset process 2018-03-26 15:39:05 +05:30
Ganesh Ramachandran 4e7e9e95a1 Added Support for Toshiba TMPM46B 2018-03-26 15:39:05 +05:30
Martin Kojtal f4fc5e6fc3 Realtek: serial - line ending fix
One line had a window line ending
2018-03-26 08:50:32 +01:00
ccli8 707de87497 [Nuvoton] Refine SPI code
1. Remove dead code
2. Remove space in empty lines
3. Fix compile warnings
4. Fix some comments
2018-03-26 11:02:54 +08:00
ccli8 7275ee8626 [Nuvoton] Fix SPI DMA transfer
1. Disable unnecessary TX/RX threshold interrupts to avoid potential trap in DMA transfer
2. Start TX/RX DMA transfer simultaneously to fit H/W spec and avoid potential RX FIFO overflow issue
2018-03-26 10:58:18 +08:00
ccli8 9e72756878 [Nuvoton] Use vector rather than SPI_CTL_SPIEN_Msk to judge if asynchronous transfer is on-going (spi_active) 2018-03-26 10:50:14 +08:00
ccli8 643d772cf9 [Nuvoton] Introduce SPI_ENABLE_SYNC/SPI_DISABLE_SYNC to simplify enable/disable control 2018-03-26 10:34:22 +08:00
ccli8 ccec9d75d6 [Nuvoton] Add missing delay in lp_ticker
mbed-os-tests-mbed_drivers-lp_ticker/Test multi ticker test fails inconstantly.
This commit is mainly to fix the issue.
2018-03-26 09:45:59 +08:00
ccli8 5d453ed381 [Nuvoton] Check timer active flag after enabling timer counting in us_ticker/lp_ticker 2018-03-26 09:42:53 +08:00
ccli8 3cd8d3df9f [Nuvoton] Remove unnecessary TIMER_Start in the end of lp_ticker_set_interrupt 2018-03-26 09:27:05 +08:00
Cruz Monrreal cffa1c055e
Merge pull request #6437 from OpenNuvoton/nuvoton_fix_flash
Nuvoton: Fix NVSTORE test failed
2018-03-23 12:02:44 -05:00
Cruz Monrreal 26e1275589
Merge pull request #6415 from M-ichae-l/rtl8195am-fix-logUART-Tx-interrupt-crash-
rtl8195am: fix LogUART Tx interrupt crash
2018-03-23 10:06:36 -05:00
Jimmy Brisson bac1f00e2e Remove supertarget 2018-03-23 09:52:24 -05:00
Wilfried Chauveau 495f8e4e5b add RF_TXCO_EN on PH1 and set HSI calibration to its default value 2018-03-23 10:19:49 +00:00
Wilfried Chauveau 758f3b2dbd add support for the RAK811 2018-03-23 10:19:49 +00:00
Cruz Monrreal 7c272fa3e8
Merge pull request #6412 from jeromecoutant/PR_L4_ADC
STM32L4 ADC correct internal channel management
2018-03-22 11:27:50 -05:00
Cruz Monrreal 04a3635eba
Merge pull request #6399 from jeromecoutant/PR_L4_TEMP
STM32L4 ADC Internal Channel : correct sampling time
2018-03-22 11:27:30 -05:00
cyliangtw efe57a00b4 [M487] Support v3.0 pin map 2018-03-22 20:09:09 +08:00
ccli8 f0865f8546 [Nuvoton] Fix page size in flash IAP
In Mbed OS, page size is program unit, which is different than FMC definition.
After fixing page size, we can pass NVSTORE test (mbed-os-features-nvstore-tests-nvstore-functionality).
2018-03-22 16:45:01 +08:00
Martin Kojtal 7b325f30a0
Merge pull request #6168 from hug-dev/cm3ds-memory
CM3DS Maintenance Pull Request: Memory changes (2/4)
2018-03-21 14:16:16 +01:00
Martin Kojtal 0f2659bdce
Merge pull request #6392 from OpenNuvoton/nuvoton_fix_uart
Nuvoton: Remove unnecessary UART INT in UART DMA transfer
2018-03-21 14:10:44 +01:00
zzw 2dc94b24d2 rtl8195am: fix LogUART Tx interrupt crash
add Mask & UnMask Tx FIFO empty interrupt for LogUart
fix LogUart interrupt enable
fix LogUart interrupt handler
coding style fix
2018-03-21 18:50:58 +08:00
jeromecoutant ef006931f8 STM32L4 ADC correct internal channel management 2018-03-21 10:57:57 +01:00
toyowata d76d511969 LPC176X: Fix flash program size
This patch fix flash write issue when program size is more than page size (= 1024 bytes).  See detail - https://github.com/ARMmbed/mbed-os/issues/6165
Source data always use aligned data in heap memory.
2018-03-21 18:36:16 +09:00
Cruz Monrreal 2c7f909eea
Merge pull request #6245 from mbedNoobNinja/Sync_PR
Update for VK_RZ_A1H
2018-03-20 15:21:01 -05:00
Cruz Monrreal 6cb6dd9e62
Merge pull request #6330 from bcostm/fix_pins_nucleo_l433rc_p
NUCLEO_L433RC_P: fix pins definitions
2018-03-20 14:56:05 -05:00
Cruz Monrreal d7dfab5c7e
Merge pull request #6370 from jeromecoutant/PR_LPT_RTC_OPTIM
STM32 LPTICKER : optimize RTC wake up timer init
2018-03-20 14:19:07 -05:00
jeromecoutant 6c369d17aa STM32L4 ADC Internal Channel : correct sampling time 2018-03-20 13:15:17 +01:00
mbedNoobNinja cf8fd20f9b Enabled os5 support for VK_RZ_A1H & synced with rest Renesas targets !
Mbed-os 5.4.7 was the last unofficial working support for this target.
Since Mbed-os 5.6.0, the support is now official and VK_RZ_A1H is now "codebase aligned" with GR_PEACH (RZ_A1H) & GR_LYCHEE (RZ_A1LU) !
2018-03-20 11:49:03 +02:00
Cruz Monrreal 6659084d72
Merge pull request #6367 from li-ho/ev-cog-flash-api-fix
ADI: Fix on chip flash minimal programmable unit size
2018-03-19 11:19:17 -05:00
Cruz Monrreal 0adef8a959
Merge pull request #6379 from bcostm/dev_DISCO_L496AG
DISCO_L496AG: Add new platform
2018-03-19 11:18:27 -05:00
ccli8 7ed3bac85d [Nuvoton] Remove unnecessary UART INT in UART DMA transfer
In UART DMA transfer, it is PDMA INT rather than UART INT to go INT path
2018-03-19 17:52:01 +08:00
Cruz Monrreal 1aa78d1e8c
Merge pull request #6326 from M-ichae-l/rtl8195am-gpio-toggle-slow-fix
rtl8195am : fix gpio toggle slow
2018-03-16 13:16:17 -05:00
Cruz Monrreal 05e72dc729
Merge pull request #6353 from jeromecoutant/PR_RTC_LSE
STM32 RTC init
2018-03-16 11:45:13 -05:00
Cruz Monrreal 02130a282e
Merge pull request #6346 from 0xc0170/fix_6252
Fix for #6252
2018-03-16 11:43:31 -05:00
bcostm 974917809d DISCO_L496AG: remove morpho connector in targets.json 2018-03-16 10:02:12 +01:00
bcostm f59f7581fb DISCO_L496AG: add entry in mbed_rtx.h 2018-03-16 10:02:12 +01:00
bcostm 64a824abd2 DISCO_L496AG: add system clock file (same as Nucleo) 2018-03-16 10:02:12 +01:00
bcostm 5c484aaf3d DISCO_L496AG: add platform in targets.json file 2018-03-16 10:02:12 +01:00
bcostm ade8583044 DISCO_L496AG: add other pins related files 2018-03-16 10:02:11 +01:00
bcostm 63901a803c DISCO_L496AG: remove QSPI2
Base adress not found in registers map file but found in CubeMX xml file.
2018-03-16 10:02:11 +01:00
bcostm eab3e95158 DISCO_L496AG: add PeripheralPins.c 2018-03-16 10:02:11 +01:00
Cruz Monrreal 6eeee5e49f
Merge pull request #6292 from juhaylinen/rtw-fixes
rtl8195am - improve credentials handling
2018-03-15 10:57:39 -05:00
Cruz Monrreal 95fb33f041
Merge pull request #6198 from codeauroraforum/Add_LPC54XXX_Flash_Support
Flash support: Add flash support for LPC54114 & LPC546XX
2018-03-15 10:49:08 -05:00
Cruz Monrreal 69bc68d21f
Merge pull request #6288 from TomoYamanaka/master
Fix macro definition of iodefine_typedef for RZ_A1H
2018-03-15 10:48:02 -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
Cruz Monrreal 872634d5fa
Merge pull request #6311 from hosse005/master
mts_mdot_f411re: Fix for Multi-Tech mDot IAR linker script
2018-03-15 10:40:18 -05:00
Cruz Monrreal d05417a941
Merge pull request #6315 from amq/efm32_faster_gpio_irq
EFM32: make gpio interrupts faster by offloading expected pin state check to user
2018-03-15 10:39:29 -05:00
jeromecoutant 882f3312c3 STM32 LPTICKER : optimize RTC wake up timer init
Division in a while loop is removed
2018-03-15 14:23:57 +01:00
li-ho b26b682902 Fix on chip flash minimal programmable unit size
- sector size is 0x800 bytes
- writeable unit size is 0x8 bytes
- flash start address is 0x0
- total ADuCM3029 on chip flash size is 0x40000 bytes
- total ADuCM4050 on chip flash size is 0x7F000 bytes
2018-03-15 16:50:06 +11:00
zzw 44ed2c8189 fix mbed-ci build error L6216E
fix mbed-ci build  error L6216E
* (.ARM.exidx) and *(.init_array) must be placed explicitly, otherwise it is shared between two regions, and the linker is unable to decide where to place it.
2018-03-15 11:01:09 +08:00
Cruz Monrreal 5523d53f83
Merge pull request #6287 from codeauroraforum/Update_usticker
MCUXpresso_MCUS: Apply K64F us_ticker fix across all MCU's
2018-03-14 13:56:34 -05:00
jeromecoutant 2f86b3a7bb STM32 RTC init
When LSE is configured for RTC, LSI is not affected
2018-03-14 11:12:29 +01:00
Martin Kojtal d6a0a94010 WISE_1570: use hex as output
Fixes #6252. Use hex rather than binary - use the hex format validation.
2018-03-13 13:52:11 +00:00
Martin Kojtal dd84f32043 STM32L486: fix two ram region define for GCC ARM
Based on the changes for other targets, these 2 were left.
2018-03-13 13:51:59 +00:00
Amanda Butler 5a68dcd29d Copy edit README.md
Copy edit for active voice, branding, spelling and other minor grammar fixes.
2018-03-12 16:25:05 +00:00
Amanda Butler 0ec844435d Copy edit README.md
Copy edit for branding, consistent tense and consistent style.
2018-03-12 16:25:05 +00:00
Hugues de Valon a453faa4e9 CM3DS: switch to larger memories for code and data
This patch changes the linker files and defines to use the ZBT SSRAM
instead of the FPGA Block RAM for code and data.
The section 4.1.1, Code and RAM memory map, of the CM3DS Eval RTL and
testbench user guide explains the available memories.
This switch improves code memory from 256 kB to 4 MB and data memory
from 128 kB to 4 MB.

However, the ZBT SSRAM1 for code memory begins at 0x00400000 while the
processor can only boot at address 0x00000000 which means that it
expects the vector table to be at that address. That is why we have to
create 2 load regions in the linker scripts: one with only the vector
table at address 0x0 and one with code + data at address 0x00400000.
Because of these two load regions, linker will produce different
behaviours:
    * GCC_ARM and IAR will only create 1 binary with both load regions
padding with 0 in between. The binary will then be very large (at least
4 MB) and the flash process will take longer.
    * ARM and ARMC6 will create 2 binaries for the two load regions. The
load addresses of the two binaries can be written in the images.txt file
on the MPS2 board. You can also use the --bincombined option of fromelf
utility to produce only 1 large binary.

This patch also adds the memory_zones.h file to try to put in common all
the memory addresses that were previously hard coded in the linker
scripts / startup files.

With that patch in, the simplest option is to directly use the .elf file
with the MPS2, which is only possible with mbb_v225.ebf and more recent
firmwares. It will now be the default for CM3DS.

This commit works with greentea thanks to the now merged pull request
ARMmbed/htrun#181 in order to copy .elf file to the MPS2 board.

Signed-off-by: Hugues de Valon <hugues.devalon@arm.com>
2018-03-12 16:25:05 +00:00
bcostm 8fe02803e1 NUCLEO_L433RC_P: fix LEDs pin assignment 2018-03-12 11:30:52 +01:00
Martin Kojtal 7917e12eb0 MIMXRT: define PullUp default value
This target defines few PullUp values, one should be defined to be PullUp that
an application can use. We use the same value as PullDefault
2018-03-12 09:21:24 +00:00
zzw 20b33637f6 rtl8195am : fix gpio toggle slow
Ameba has two memory blocks: SDRAM(2M) and SRAM(512KB). SRAM has better access performance than SDRAM. So some timing critical codes must be moved to SRAM.

fix for mbed-os issue #5778

rebase for #6289
2018-03-12 14:10:40 +08:00
amq 82ecf7e81a Make gpio interrupts faster by offloading expected state check to user 2018-03-09 16:10:10 +01: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
Evan Hosseini 94616e6396 mts_mdot_f411re: Fix for Multi-Tech mDot IAR linker script 2018-03-08 16:41:34 -06:00
Martin Kojtal cf4c7a5d35
Merge pull request #6164 from ashok-rao/br-BL652
Adding Laird BL652 as new target
2018-03-08 17:45:01 +01:00
Martin Kojtal 4e7ad0dc95
Merge pull request #6226 from M-ichae-l/mbed-os_ci-test-fixed_rtl8195am
rtl8195am: fix ARM section error
2018-03-08 17:43:07 +01:00
Mahesh Mahadevan 3f302961e1 Flash support: Add flash support for LPC54114 & LPC546XX
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-03-07 13:06:41 -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
Juha Ylinen 1a5e751d0f rtl8195am - improve credentials handling
Add checks for empty strings
set_channel() not supported for STA mode wifi driver
2018-03-07 14:14:35 +02:00
TomoYamanaka 3183d21ba7 Fix macro definition of iodefine_typedef for RZ_A1H
Regarding RZ_A1H, Since I removed the macro definition accidentally in iodefine_typedef, I fixed the lack of it.
2018-03-07 20:33:11 +09:00
Cruz Monrreal fb0eba4cd2
Merge pull request #6235 from gorazdko/lpc546xx-fixes
mcu_lpc546xx: move "release_versions" to children and fix clock
2018-03-06 20:41:56 -06:00
Cruz Monrreal 8a7b390fdd
Merge pull request #6102 from Ultimaker/master
Add support for STEVAL-3DP001V1 board
2018-03-06 20:41:41 -06:00
Cruz Monrreal 2e69ddd989
Merge pull request #6202 from maximmbed/fix-max32625mbed
Fix max32625mbed
2018-03-06 20:41:10 -06:00
Ashok Rao 008e937524 Incorporating review comments 2018-03-06 15:38:02 +00:00
Cruz Monrreal 1d3e59aa7c
Merge pull request #6275 from marcuschangarm/fix-uart-init
NRF52: Customize STDIO pins from config system
2018-03-06 08:19:21 -06:00
Marcus Chang 812b9be6d3 NRF5: Customize STDIO pins from config system 2018-03-05 10:12:18 -08:00
Cruz Monrreal f1d493dd0c
Merge pull request #6228 from OpenNuvoton/nuvoton_1timer_ticker
Nuvoton: Rework us_ticker/lp_ticker with one H/W timer
2018-03-05 10:19:56 -06:00
Cruz Monrreal 38e62759a9
Merge pull request #6246 from u-blox/i2c_fix
C030 platform I2C initialisation fix
2018-03-05 10:12:57 -06:00
paul-szczepanek-arm 8347e76bf4 Merge https://github.com/ARMmbed/mbed-os 2018-03-01 18:11:41 +00:00
Rob Meades c53fb9dc64 Call i2c_init() before i2c_frequency() (since i2c_frequency() requires the object to be set up) and zero the I2C object before giving it to i2c_init() as i2_init() has to set up a default frequency for its timeouts to work and it will only do this if the hz field in the object was zero to begin with (otherwise you end up with a random but usually very large indeed timeout). 2018-03-01 14:52:42 +00:00
Bartek Szatkowski 2b83b69f90 Remove conflictinng system_reset() from Atmel drivers 2018-02-28 20:02:24 +00:00
Bartek Szatkowski 4cb47df40a Add system_reset() function to Mbed OS 2018-02-28 16:42:34 +00:00
Anna Bridge 8cc6d6cc92
Merge pull request #6227 from OpenNuvoton/nuvoton_compatible_pinName
Nuvoton: Add I2C & Serial Pin Name
2018-02-28 14:15:52 +00:00
gorazd c053b70a75 lpc546xx and lpc54114: fix clock 2018-02-28 13:23:38 +01:00
gorazd 2f8b6dcaa9 mcu_lpc546xx: move "release_versions" to children 2018-02-28 13:16:01 +01:00
daid 62599a97f7 Add support for STEVAL-3DP001V1 board, which has an STM32F401VE chip. This support is based on the NUCLEO-F401RE board. Which has the same amount of flash/ram but less pins available on the chip. 2018-02-28 09:37:39 +01:00
Cruz Monrreal 1f58782652
Merge pull request #6189 from codeauroraforum/Update_LPC546XX_SDK2_3
LPC546XX: Update SDK driver to version 2.3
2018-02-27 16:13:48 -06:00
Cruz Monrreal 19e07e8d11
Merge pull request #6217 from jeromecoutant/PR_RTC
STM32 RTC : update free function
2018-02-27 15:40:11 -06:00
Cruz Monrreal 153fa05bea
Merge pull request #6172 from adustm/l4_linkergcc
Use SRAM2 32Kbytes on STM32L475 / L476 and L486 devices
2018-02-27 13:46:26 -06:00
Cruz Monrreal 21483cd59d
Merge pull request #6167 from hug-dev/cm3ds-bug-fix
CM3DS Maintenance Pull Request: Bug fixes (1/4)
2018-02-27 13:44:05 -06:00
paul-szczepanek-arm 8e41de2e25 Merge branch 'master' of https://github.com/paul-szczepanek-arm/mbed-os 2018-02-27 17:23:25 +00:00
jeromecoutant 961c8da51c STM32F1 RTC : Date read after reset
F1 is the only STM32 family where RTC date is not saved into registers
2018-02-27 11:02:49 +01:00
jeromecoutant 45cbdc889f STM32 RTC : update free function
- LSI specific implementation is removed

- Remove RTC clock disable
2018-02-27 10:45:43 +01:00
Cruz Monrreal 4139f13e31
Merge pull request #6170 from hug-dev/cm3ds-update-drivers
CM3DS Maintenance Pull Request: Driver updates (4/4)
2018-02-27 00:36:34 -06:00
Cruz Monrreal 815c6fb7cf
Merge pull request #6193 from ashok-rao/ODIN_PinsFix
ODIN MTB LEDs Fix
2018-02-26 22:49:03 -06:00
zzw 9d30469850 mbed-os_ci-test-fixed_rtl8195am
fix section error, ARM compiler uses IRAM1.bss to calculate the heap size

fix conflict of _memset between Ameba's library and ARM compiler's library, use standard memset() instead of _memset() in case of ARM compiler
2018-02-27 11:49:38 +08:00
cyliangtw b6ff40e94d [M451/M480/NANO100/NUC472] Define SERIAL and I2C pin name for compatiblity 2018-02-27 11:38:29 +08:00
Cruz Monrreal 3d37d819e9
Merge pull request #5046 from fkjagodzinski/timerevent_tests
TimerEvent tests
2018-02-26 15:02:52 -06:00
Cruz Monrreal 80263eaa41
Merge pull request #5957 from u-blox/R410M_Changes
C030 R410M Target Added
2018-02-26 15:02:12 -06:00
Keyur Hariya 390ba4070c Replace enable/disable irq with critical section enter/exit 2018-02-26 12:35:07 -06:00
Cruz Monrreal c9cefccbdc
Merge pull request #6116 from marcuschangarm/fix_trng_nrf52
Add TRNG for NRF52832
2018-02-26 12:09:43 -06:00
ccli8 1d7e7fd543 [NUC472/M453/M487/NANO130] 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-02-26 17:41:05 +08:00
Keyur Hariya e6d901a852 Remove automatic I2C stop after each read
Automatic stop prevents sending repeated start.
2018-02-23 16:36:30 -06:00
Keyur Hariya dcf3b904d1 Enable ADC scaling and enable internal channels
Increases input range by 2x(now, 0-2.4v)
2018-02-23 16:36:30 -06:00
Keyur Hariya 992c889b33 Improve us ticker performance
Improves accuracy during heavy work load.
2018-02-23 16:32:30 -06:00
Keyur Hariya 80b0ae0d9e Improve SPI block write
Replace looping construct with actual block writes.
2018-02-23 16:32:12 -06:00
Keyur Hariya 8d778d5d8b Fix missing serial object for interrupts
Save serial objects when setting interrupt requests.
Improve uart interrupt handler.
2018-02-23 16:25:20 -06:00
Ashok Rao a5899db9e5 ODIN MTB LEDs Fix 2018-02-23 17:10:09 +00:00
adustm d1e6e8f128 Allow jenkins script to pass 2018-02-23 17:40:09 +01:00
Mahesh Mahadevan eff848abea LPC546XX: Update SDK driver to version 2.3
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-02-23 07:31:13 -06:00
adustm 28a43b55e7 Add initial_sp value for STM32L476 and STM32L486 devices 2018-02-23 10:44:14 +01:00
adustm 67953251f9 Use official toolchain defines 2018-02-23 10:29:29 +01:00
Maciej Bocianski cd539e3e38 us_ticker_irq_handler call optimization 2018-02-23 09:21:37 +01: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
Cruz Monrreal ee64c9cf0b
Merge pull request #6021 from andrewleech/gpiote_uninit
nrf5x: fix array overflow in gpio configuration code
2018-02-22 21:21:35 -06:00
adustm 98657449b8 Use the TWO_RAM_REGIONS in targets.json for STM32L475 / STM32L476 and STM32L486 devices 2018-02-22 17:38:30 +01:00
adustm 815be94197 Add defined for GCC_ARM to pass heap and stack tests 2018-02-22 17:38:26 +01:00
adustm f551255ded Add support of separate memories for heap and stack region swith the use of TWO_RAM_REGIONS define 2018-02-22 17:37:34 +01:00
adustm 02b2b01a83 Change STM32L475/76/86 GCC_ARM linker files to have HEAP in SRAM1 and stack in SRAM2 (after the interrupt vector) 2018-02-22 17:36:27 +01:00
Mahesh Mahadevan 069c80b7a5 ff_lpc546xx: Add support for 220MHz core speed.
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-02-22 07:30:20 -06:00
Mahesh Mahadevan a9cd4705d8 LPC546XX: Add support for 220MHz core speed available on LPC54628
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-02-22 07:30:19 -06:00
Ashok Rao 65f210288c Adding Laird BL652 as new target 2018-02-22 11:49:58 +00:00
Marcus Chang 9439c191de Add TRNG for NRF52832
Use SoftDevice API to get random numbers when present and active,
otherwise read random numbers directly from TRNG peripheral.
2018-02-21 12:06:12 -08:00
Avinash Mehta a79a670575 CM3DS: update UART implementation
This commit adds the UART driver and updates the UART HAL implementation
to use this driver.
It also removes legacy definitions.

Change-Id: Ie8e7a7bb64c763a2d97bc66d949fab3596736bbc
Signed-off-by: Avinash Mehta <avinash.mehta@arm.com>
2018-02-21 18:21:22 +00:00
Tamas Kaman 37cf802a7a CM3DS: update SPI implementation
This commit adds the SPI driver which is now called by the SPI HAL
implementation.
It also removes legacy definitions.

Change-Id: Iadb20dda9dfa571db3de66c3a1ce45d80d8b81b6
Signed-off-by: Tamas Kaman <tamas.kaman@arm.com>
2018-02-21 18:20:24 +00:00
Galanakis, Minos 3abc3faba2 CM3DS: update GPIO, IRQ and port implementation
This commit adds the GPIO drivers. The HAL implementations
(gpio_api.c, gpio_irq_api.c, port_api.c) now call these drivers.
Legacy definitions have been removed.
Serial HAL implementation has been changed to compile at this stage.

Change-Id: Ib76a3186358f5029ed350da671132e8aa11194f7
Signed-off-by: Galanakis, Minos <minos.galanakis@arm.com>
2018-02-21 18:17:55 +00:00
Galanakis, Minos ffc7b91128 CM3DS: update tickers implementation
The HAL implementation (us_ticker.c and lp_ticker.c) now calls function
in cmsdk_ticker.c file. This file contains the necessary logic to be
able to only use one hardware timer (CMSDK timer) per mbed ticker.

This commit also updates the timer driver and removes legacy definition.

Change-Id: If40413822832117f9b78f38d2cdda7847284b035
Signed-off-by: Galanakis, Minos <minos.galanakis@arm.com>
Signed-off-by: Hugues de Valon <hugues.devalon@arm.com>
2018-02-21 18:12:55 +00:00
Hugues de Valon ef7b16d9c5 CM3DS: fix non aligned access in Ethernet driver
This patch changes the way data is put in the TX_DATA_PORT register when
sending packet over Ethernet.
When this driver is compiled with release compilation profile
(space optimization compiler options) with Arm compiler version 5,
the line:
SMSC9220->TX_DATA_PORT = *pktptr;
generates the assembly instruction to get the pktptr pointed value:
LDM r2!, {r3}
with pktptr = r2
However, the code does not prevent the pktptr value from being unaligned
(to a 32 bits boundary) in that zone and the LDM instruction causes a
HardFault if this is the case. When the compiler option is not activated
(debug and develop compilation profiles), the compiler generates LDR
instruction instead which does not cause a HardFault.
The ARM v7-M states page B3-601: "Unaligned load-store multiples and
word or halfword exclusive accesses always fault."

To face that problem, we check if the data pointer is aligned or not. If
it is, we apply the same algorithm than before. If not, a local variable
is created and we copy in it, byte per byte, the contents at the
unaligned pointer. However, it will impact performances adding 8
instructions (one LD and one ST for each copied byte).

Change-Id: I11f6e82ce5521960d2ecf499f718f76fec29c0b0
Signed-off-by: Hugues de Valon <hugues.devalon@arm.com>
2018-02-21 17:54:12 +00:00
Cruz Monrreal 80082278b8
Merge pull request #6124 from marcuschangarm/nrf52_flash_fix
Make NRF52 flash work with SoftDevice
2018-02-20 13:31:45 -06:00
Cruz Monrreal f2ff36b1e3
Merge pull request #6055 from mprse/ticker_k64f_set_interrupt_delta_fix
K64F lp ticker driver - calculation bug fix.
2018-02-20 13:18:58 -06:00
Cruz Monrreal 0368a8463f
Merge pull request #6041 from jeromecoutant/PR_STDIO_bug
STM32 STDIO pin redefinition
2018-02-20 13:13:44 -06:00
Cruz Monrreal 817f9a569c
Merge pull request #5812 from OpenNuvoton/nuvoton_crypto
M487: Support ECP H/W accelerator
2018-02-20 11:53:23 -06:00
Fahim Alavi 192250af87 Support added for R410M Changes
target added r410m

Spaces removed

Trace updated
2018-02-20 10:32:14 +05:00
Martin Kojtal 105da034a3
Merge pull request #6117 from u-blox/i2c_read_write
UBLOX C030: I2C avoid any RTOS waits
2018-02-19 17:16:59 +01:00
Bilal 8ebb234d51 Formatting change - II 2018-02-19 12:32:54 +05:00
Cruz Monrreal 0ceecb946d
Merge pull request #5956 from marcuschangarm/feature-hal-swo
[feature-hal-itm] Instrumented Trace Macrocell HAL API for SWO debug output
2018-02-16 16:08:12 -06:00
Cruz Monrreal aa6835a069
Merge pull request #6048 from OpenNuvoton/nuvoton_ticker
Nuvoton: Rework us_ticker and lp_ticker
2018-02-16 15:59:05 -06:00
Marcus Chang 0a1cae9352 Make NRF52 flash work with SoftDevice
How you write and ersae the flash on the NRF52 changes depending on
whether the SoftDevice is enabled or not.

This change does a runtime check before erasing and writing, and
then chooses the correct function to perform the action.
2018-02-16 13:54:27 -08:00
Cruz Monrreal 659bcc3fb3
Merge pull request #6088 from pilotak/master
STM32F429ZI add SERIAL_ASYNCH
2018-02-16 11:52:15 -06:00
Cruz Monrreal 38b7ae0ef5
Merge pull request #6112 from jeromecoutant/PR_CUBE_UPDATE_F4
STM32F4: Update ST HAL driver with CubeF4 v1.19.0
2018-02-16 11:33:12 -06:00
Marcus Chang 954ae4a52a itm_api.c implementation for Silicon Labs EFM32 series
SWO frequency: 875 kHz
2018-02-16 08:24:42 -08:00
Marcus Chang 6aa0975d71 itm_api.c implementation for Nordic NRF52 series
SWO frequency: 4000 kHz
2018-02-16 08:24:42 -08:00
Bilal c91b61e03c Formatting change 2018-02-16 17:20:10 +05:00
Bilal 46d84b7ebb Replacing i2c_xxxx(...) calls to reduce binary size and avoid any RTOS waits 2018-02-16 15:24:50 +05:00
Cruz Monrreal ec7a13de62
Merge pull request #6049 from OpenNuvoton/nuvoton_rtc
Nuvoton: Rework RTC
2018-02-15 14:51:27 -06:00
jeromecoutant ea9c1f29a1 STM32F4 Cube v1.19.0 update : ST CMSIS files
Previous version was v1.16.0
2018-02-15 16:33:32 +01:00
jeromecoutant 0d8d3e01db STM32F4 Cube v1.19.0 update : ST HAL files
Previous version was v1.16.0
2018-02-15 16:33:31 +01:00
jeromecoutant 4db8842604 STM32F4 Cube update : file name alignment 2018-02-15 16:33:30 +01:00
Kevin Bracey 984cc1ab50
Merge pull request #6032 from jarlamsa/status-callbacks
Status callbacks
2018-02-15 13:02:10 +02:00
Cruz Monrreal ee52f9044a
Merge pull request #5892 from OSHChip/master
add OSHChip as an mbed target
2018-02-14 15:19:26 -06:00
Cruz Monrreal 8ed53a99fc
Merge pull request #6009 from prashantrar/mbed-os-serial-fix-pr
fix for issue "serial example callback not working"
2018-02-14 13:16:37 -06:00
Cruz Monrreal 5648b156e6
Merge pull request #6063 from bcostm/PULL_REQUEST_CUBE_UPDATE_F7_V1.10.0
STM32F7: Update ST HAL driver with CubeF7 v1.10.0
2018-02-14 12:41:37 -06:00
Pavel Slama e5885f6a87
STM32F429ZI add SERIAL_ASYNCH 2018-02-13 22:47:56 +01:00
Cruz Monrreal ccff46d9a3
Merge pull request #6070 from ithinuel/remove-magic
remove magic calibration value for HSI in ST's targets
2018-02-12 17:21:32 -06:00
Senthil Ramakrishnan 19ad4e2cb9 Fix MTB_MTS_XDOT build breakage 2018-02-12 12:02:21 -06:00
Senthil Ramakrishnan 96d900c99f Fixes for targets with invalid HardFault_Handler implementation and review/other fixes 2018-02-12 11:50:33 -06:00
Wilfried Chauveau d1a0ff9964 remove magic calibration value for HSI in ST's targets 2018-02-12 16:47:35 +00:00
Cruz Monrreal 84ee9cc7a1
Merge pull request #5941 from marcemmers/lpuart-use-lse
STM32L0/4 Enable use of LPUART in stop mode
2018-02-12 10:26:37 -06:00
Cruz Monrreal c3e02b18b6
Merge pull request #6035 from ashok-rao/ODIN-serial_fix
Fix serial pins and a typo for ODIN MTB
2018-02-12 10:25:22 -06:00
Cruz Monrreal 75e6d97735
Merge pull request #6042 from jeromecoutant/PR_DISCO_F303
DISCO_F303VC : STDIO pins correction and alignment with STM32 family
2018-02-12 10:24:57 -06:00
jeromecoutant be90983ca8 STM32 STDIO pin redefinition
wiki page https://os.mbed.com/teams/ST/wiki/STDIO updated
2018-02-12 13:01:33 +01:00
bcostm 118073a9c5 Add missing can legacy file 2018-02-12 10:37:03 +01:00
bcostm 58c4a5f83e F7 ST CUBE V1.10.0
F7 HAL driver V1.2.5
2018-02-12 10:37:03 +01:00
ccli8 cfdc72d75e [NUC472/M487] Refine crypto_zeroize/crypto_zeroize32 2018-02-12 14:04:56 +08: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
Andreas Larsson 67772a5e95 Added u-blox ODIN-W2 driver binaries v2.4 rc1 2018-02-09 12:54:47 +02:00
Prashant Ravi 011dbffff5 Fixing coding style
Fix Details: HAL API for loguart is different that UART. Initially we
didnt have support for loguart in the mbed api. These changes have been
made to support the loguart from the mbed api by using the correct HAL
api calls
2018-02-09 16:35:33 +08:00
TomoYamanaka f6c6e79145 Fix NVIC Wrapper include
Renesas mbed boards incorporate NVIC Wrapper because Cortex-A9 use GIC. For example, NVIC_SystemReset() is defined in nvic_wrapper.c and declared in nvic_wrapper.h.
Because I removed one of include processing accidentally, I fixed the lack.
This supplements PR #5890.
2018-02-09 11:53:43 +09:00
ccli8 0271df1fa5 [NUC472/M453/M487/NANO130] Rework RTC
The rework includes the following:
1. Support year range beyond H/W RTC 2000~2099.
2. Refine RTC register access with low-power clock source
2018-02-09 10:47:18 +08:00
Martin Kojtal 9f6eb14ae2
Merge pull request #5996 from ashok-rao/br-BL600
Adding LAIRD_BL600 MTB
2018-02-08 15:23:07 +00:00
Martin Kojtal 8e8b3d3bbd
Merge pull request #6036 from bcostm/dev_move_DISCO_L072CZ
DISCO_L072CZ_LRWAN1: move target folder
2018-02-08 15:19:08 +00:00
jeromecoutant e0e6e5a9e5 DISCO_F303VC : Align clock configuration with STM32 family 2018-02-08 14:25:46 +01:00
jeromecoutant e8e4af3c7a DISCO_F303VC : add IAR files 2018-02-08 14:25:45 +01:00
jeromecoutant 1ab4030f20 DISCO_F303VC : wrong STDIO pins 2018-02-08 14:25:45 +01:00
Cruz Monrreal 1c5c1c79d0
Merge pull request #6027 from ithinuel/fix-target-names-for-murata-abz-and-adv-wise-1510
rename MURATA type ABZ & WISE 1510 to their expected name
2018-02-07 20:06:50 -06:00
Cruz Monrreal f8cc42689c
Merge pull request #5970 from TomoYamanaka/master
RZ_A1LU: Fix TRNG function
2018-02-07 20:06:17 -06:00
Cruz Monrreal 1ac115d794
Merge pull request #6013 from kivaisan/add-wise-1570
Add MTB_ADV_WISE_1570 target
2018-02-07 20:05:38 -06:00
Cruz Monrreal 3b1438b9ba
Merge pull request #6015 from davidsaada/david_k82f_flash
Add missing flash device feature to the K82F board
2018-02-07 15:03:22 -06:00
Cruz Monrreal 63201db875
Merge pull request #6004 from bcostm/fix_l476-486_sram_iar
STM32L476/486: Improve SRAM usage for IAR
2018-02-07 14:51:30 -06:00
bcostm 7630874b9c Move TARGET_DISCO_L072CZ_LRWAN1 folder 2018-02-07 16:23:09 +01:00
Ashok Rao 188a68829f Fixed serial pins and a typo for ODIN MTB 2018-02-07 15:12:40 +00:00
ccli8 fae160fb9f [NUC472/M453/M487/NANO130] 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-07 09:09:39 +08:00
Wilfried Chauveau 6c9fcf3dd8 rename MURATA type ABZ & WISE_1510 to their expected name 2018-02-06 21:23:37 +00:00
Cruz Monrreal 8ae80892b7
Merge pull request #5975 from ashok-rao/br-xDOT
Adding MTB_MTS_XDOT as a new target
2018-02-06 13:05:12 -06:00
Marc Emmers 7881e68efe STM32L0: Enable stop mode operation for the LPUART 2018-02-06 15:42:39 +01:00
Marc Emmers 01660ff5ae STM32L0/4: Always try to select LSE if LPUART and baudrate <= 9600 2018-02-06 15:42:39 +01:00
Ashok Rao 6c8b9b5005 Added MTB aliases & default SPI 2018-02-06 13:44:24 +00:00
gorazd 8593ca6f80 ff_lpc546xx: move property to parent 2018-02-06 11:51:47 +01:00
gorazd d651e0800c lpc546xx and ff_lpc546xx: create parent object MCU_LPC546XX 2018-02-06 11:48:47 +01:00
TomoYamanaka 412a79d444 [RZ_A1LU] Fix TRNG function
Related to the review of #5857, I fixed the TRNG function for GR-LYCHEE.
- I modified to zeroize "recv_data" before the function return.
- I added the processing that check the return value of I2C.read function. If return value is error, "output" is zeroized before function return.
- In trng_get_bytes_esp32 function, there is a time lag in the period from ESP32 reset to start working, error may occur when "Write" is called. Thus, I added a retry counter due to address this concern. There is not this counter for "Read" since it is called after "Write".
2018-02-06 15:44:33 +09:00
drewcassidy 1fe0933138
move device_has to OSHCHIP specifically and define device name. These should probably move to the unified target at some point but is outside the scope of this PR 2018-02-05 21:23:26 -08:00
drewcassidy b1199b088f
remove redundent 'targets.' in overrides 2018-02-05 21:15:21 -08:00
Andrew Leech f639777dce nrf5x: gpiote uninit only needs to be run if input pin is configured for irq (or output) 2018-02-06 12:51:03 +11:00
Cruz Monrreal 964e6e74fb
Merge pull request #5826 from codeauroraforum/Add_iMXRT_Support
NXP: Add support for MIMXRT1050_EVK
2018-02-05 10:15:17 -06:00
Cruz Monrreal 6a8a818ebf
Merge pull request #6012 from jeromecoutant/PR_SPI_FLUSH
STM32 SPI ASYNC - Add FIFO flush before transfer
2018-02-05 10:11:03 -06:00
David Saada eb5b18bc13 Add missing flash device feature to the K82F board 2018-02-05 16:13:14 +02:00
Kimmo Vaisanen 4dad23a6a3 Add WISE-1570 external pin names 2018-02-05 14:47:52 +02:00
Kimmo Vaisanen 41490f48d0 Add MTB_ADV_WISE_1570 target 2018-02-05 14:31:20 +02:00
jeromecoutant 36c41186a6 STM32 SPI ASYNC - Add FIFO flush before transfer 2018-02-05 11:06:51 +01:00
jeromecoutant 703df3b6f9 STM32F7 SPI - add missing HAL files
ST_INTERNAL_REF 43358
2018-02-05 11:06:14 +01:00
Prashant Ravi b89ef1f3a7 fix for serial issue #5805 2018-02-05 00:24:46 +08:00
Cruz Monrreal fc748f0943
Added LED2 definition for compilation of tests 2018-02-02 21:06:24 -06:00
Cruz Monrreal 1e794393e5
Merge pull request #5972 from bcostm/dev_BL_STM32F7
STM32F7: Add bootloader support (new trial)
2018-02-02 10:05:49 -06:00
bcostm 937db051da STM32L476/486: change SRAM config for IAR 2018-02-02 10:23:28 +01:00
Cruz Monrreal 670c62c12a
Merge pull request #5984 from amq/efm32-peripherals
EFM32: make peripherals conditional
2018-02-01 14:27:08 -06:00
Ashok Rao 2e9c3340de Adding LAIRD_BL600 MTB 2018-02-01 17:21:37 +00:00
Cruz Monrreal f907012e55
Merge pull request #5962 from bcostm/fix_usart_irq_index
STM32: Fix usart irq index
2018-01-31 12:16:17 -06:00
Cruz Monrreal 097966b8c7
Merge pull request #5905 from ithinuel/add-CMWX1ZZABZ-078-support
add support for the murata's module CMWX1ZZABZ-078 based on STM32L0
2018-01-31 12:14:29 -06:00
amq fdc2274720 EFM32: make peripherals conditional
* MCUs within a family like EFM32GG can omit some peripherals, e.g. EFM32GG230 doesn't have UART
* This commit adds a check to make them compilable, relevant mainly for custom boards
2018-01-31 17:35:26 +00:00
Wilfried Chauveau 3608627a48 fix a silent conflict with PR #5947 2018-01-31 00:48:40 +00:00
Cruz Monrreal b87e98c57b
Merge pull request #5904 from ithinuel/add-wise-1510
add support for STM32L443RC & WISE-1510
2018-01-30 15:01:00 -06:00
Cruz Monrreal fff6c75e28
Merge pull request #5936 from jeromecoutant/PR_WEAK_PINMAP
STM32 : set all PinMap structures as weak
2018-01-30 14:56:42 -06:00
Cruz Monrreal b08e1b3078
Merge pull request #5837 from ashok-rao/br-ublox-NINA
Adding MTB ublox NINA-B1 as a new target
2018-01-30 14:55:43 -06:00
Cruz Monrreal 10e67e659c
Merge pull request #5947 from jeromecoutant/PR_L4_PLUART
STM32L4 : add missing ST HAL UART functions
2018-01-30 14:46:15 -06:00
Ashok Rao ba932700d9 Adding MTB_MTS_XDOT as a new target 2018-01-30 17:48:45 +00:00
bcostm 6e71398e3c STM32F7: move cache initialization 2018-01-30 14:01:50 +01:00
bcostm eb4b339c37 STM32 serial: add missing function declaration 2018-01-30 09:48:53 +01:00
bcostm b6efdd58c8 STM32 serial: improve index assignment in serial_init 2018-01-29 17:23:21 +01:00
bcostm e8454ff522 STM32 serial: improve irq index management for L0 devices 2018-01-29 17:23:21 +01:00
bcostm 78a5516726 STM32 serial: improve irq index management for F0 devices 2018-01-29 17:23:21 +01:00
bcostm 84269c7ca2 STM32 serial: improve irq index management for L4 devices 2018-01-29 17:23:21 +01:00
bcostm 665d4a8003 STM32 serial: improve irq index management for L1 devices 2018-01-29 17:23:21 +01:00
bcostm 689e15cf29 STM32 serial: improve irq index management for F7 devices 2018-01-29 17:23:21 +01:00
bcostm eeb4d2cd1d STM32 serial: improve irq index management for F3 devices 2018-01-29 17:23:21 +01:00
bcostm 1fa0557dbf STM32 serial: improve irq index management for F2 devices 2018-01-29 17:23:21 +01:00
bcostm 6974da239c STM32 serial: improve irq index management for F1 devices 2018-01-29 17:23:20 +01:00
bcostm 2305db6c98 STM32 serial: use uart_name in serial_irq_set function for F4 2018-01-29 17:23:20 +01:00
bcostm a908d28f26 STM32 serial: coding style 2018-01-29 17:23:20 +01:00
bcostm 73ffc06ffd STM32 serial: fix linking error 2018-01-29 17:23:20 +01:00
bcostm e446c26584 STM32 serial: use uart_name instead of uart_base 2018-01-29 17:23:20 +01:00
bcostm 7256af0d5b STM32 serial: change serial_get_irq_n function for F4 devices 2018-01-29 17:23:20 +01:00
bcostm 172c02a856 STM32 serial: use get_uart_index function for F4 devices 2018-01-29 17:23:20 +01:00
bcostm 066da18e0d STM32 serial: add get_uart_index utility function 2018-01-29 17:23:20 +01:00
bcostm 0efd33f010 STM32 serial: move init_uart function at the end of file 2018-01-29 17:23:20 +01:00
Cruz Monrreal ebc8adbd4f
Merge pull request #5951 from jeromecoutant/PR_STDIO2
STM32 NUCLEO F413ZH and L433RC : STDIO configuration
2018-01-29 10:09:19 -06:00
bcostm 8ed0f26d80 Check cache before enabling it
The mbed_sdk_init can be called either during cold boot or during
application boot after bootloader has been executed.
In case the bootloader has already enabled the cache,
is is needed to not enable it again.
2018-01-29 16:04:46 +01:00
bcostm 5ad0887d7e NUCLEO_F767ZI: Add bootloader support 2018-01-29 15:53:44 +01:00
bcostm e933971f92 BL NUCLEO_F746ZG: change scb->vector assignment 2018-01-29 15:53:24 +01:00
bcostm 39cc300cd2 BL NUCLEO_F746ZG: enable bootloader 2018-01-29 15:53:12 +01:00
bcostm e10e555520 BL STM32746xG: Update scatter/link files 2018-01-29 15:52:33 +01:00
Ashok Rao e1d901204b Add license info 2018-01-29 12:20:00 +00:00
jeromecoutant 8f647beacb STM32 : set all PinMap structures as weak
This allow custom overwrites
2018-01-29 09:26:49 +01:00
Wilfried Chauveau e6b19d838c add support for STM32L443RC & WISE-1510 2018-01-26 17:06:39 +00:00
Cruz Monrreal da6532e57a
Merge pull request #5857 from TomoYamanaka/master
Registration GR-LYCHEE board as a new mbed board
2018-01-26 10:50:44 -06:00
jeromecoutant c9c6857c7c STM32 NUCLEO F413ZH and L433RC : STDIO configuration
#5795 patches are missing for these 2 targets
STDIO_UART_TX and STDIO_UART_RX can be now user defined
2018-01-26 17:50:10 +01:00
Cruz Monrreal dfa55336f5
Merge pull request #5907 from bcostm/fix_f0_usart_irq
STM32F0: fix issue with usarts sharing the same irq vector
2018-01-26 10:36:55 -06:00
Cruz Monrreal ce87bdaf19
Merge pull request #5913 from DBS06/efm32_flash_api
Add missing EFM32 HAL flash init/deinit function calls
2018-01-26 10:35:35 -06:00
Cruz Monrreal 124fbf4c9b
Merge pull request #5918 from scamille/master
NXP LPC4088: Add missing SPI SSEL pin to Pinmap
2018-01-26 10:35:11 -06:00
Cruz Monrreal 215a043bac
Merge pull request #5923 from yangkunming99/rtl8195am_restructure_target_files
rtl8195am - restructure target folder
2018-01-26 10:34:04 -06:00
Cruz Monrreal 7576813a7c
Merge pull request #5934 from jeromecoutant/PR_F401
NUCLEO_F401RE : PeripheralPins file update
2018-01-26 10:32:56 -06:00