Commit Graph

25648 Commits (55a2eddf8ae12ca5cd927193640d8d9015c14ad8)

Author SHA1 Message Date
Mahesh Mahadevan 55a2eddf8a MCUXpresso: Update LPC SPI HAL driver
Add support for different slave selects

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2019-07-16 12:10:34 -05:00
Arto Kinnunen 9cdfe37783
Merge pull request #10994 from fkjagodzinski/fix-serial_fc_guards
Add DEVICE_SERIAL_FC guards to serial HAL API
2019-07-15 15:47:37 +03:00
Arto Kinnunen 85a90221ed
Merge pull request #11004 from jeromecoutant/PR_I2C
FPGA I2C: correct init bloc number
2019-07-15 15:46:10 +03:00
Arto Kinnunen 51b44d1cfa
Merge pull request #11005 from jeromecoutant/PR_PWM
FPGA PWM: wait 1 period before measurement
2019-07-15 15:44:47 +03:00
Arto Kinnunen 01484a2226
Merge pull request #11007 from SiliconLabs/fix/fpga_tests/pwm
Fix PWM output on Silicon Labs targets for large pulsewidths
2019-07-15 15:43:46 +03:00
Arto Kinnunen b5d8c3860e
Merge pull request #11008 from SiliconLabs/fix/fpga_tests/spi
Enable FPGA-based SPI testing on Silicon Labs targets
2019-07-15 15:42:55 +03:00
Arto Kinnunen 6ef5e228b5
Merge pull request #11015 from SiliconLabs/fix/fpga_tests/adc
Fix wrongly declared ADC pinout for EFM32GG11 STK3701A
2019-07-15 15:38:47 +03:00
Arto Kinnunen aca726d59f
Merge pull request #11022 from OpenNuvoton/nuvoton_wdt-test-oom
Fix watchdog tests failing with OOM
2019-07-15 15:37:24 +03:00
Arto Kinnunen 5c45fa72a9
Merge pull request #11003 from NXPmicro/Fix_LPC_I2C
LPC MCUXpresso: Remove extra I2C transaction on byte write
2019-07-15 15:32:02 +03:00
Arto Kinnunen 1a9020ac42
Merge pull request #10895 from kjbracey-arm/event_variadic
Reduce Event.h and EventQueue.h using C++11
2019-07-15 15:29:17 +03:00
Evelyne Donnaes 2d6db332e6
Merge pull request #11010 from jeromecoutant/PR_ASYNCSPI
FPGA SPI: ASYNC issue
2019-07-12 16:34:42 +01:00
Kevin Bracey d53bd6120d
Merge pull request #10274 from kjbracey-arm/atomic_template
Add Atomic<T> template
2019-07-12 14:26:03 +03:00
Evelyne Donnaes 0f39f01595
Merge pull request #11027 from vmedcy/pr/cy-lwip
PSOC6: add LwIP configuration for Cypress boards
2019-07-12 11:22:11 +01:00
Evelyne Donnaes 22c82dcb9c
Merge pull request #10692 from vmedcy/pr/psoc6-hal
PSOC6: initial integration of Cypress HAL
2019-07-11 17:28:23 +01:00
Volodymyr Medvid 579cd9a355 PSOC6: add LwIP configuration for Cypress boards 2019-07-11 15:47:38 +01:00
Arto Kinnunen 237ad40093
Merge pull request #10963 from devran01/pr/10888/fix
PSA TESTS: Include mbedtls/config.h before evaluating MBEDTLS_PSA_CRYPTO_C
2019-07-11 15:49:57 +03:00
Volodymyr Medvid b6524070eb PSOC6: TARGET_PSOC6_FUTURE doesn't implement DEVICE_I2CSLAVE 2019-07-11 15:43:25 +03:00
Evelyne Donnaes 7db0e83836
Merge pull request #11013 from tymoteuszblochmobica/revert-10938-iar
Revert "K64F, STM32F429: IAR linker scripts dynamic  heap fix"
2019-07-11 12:18:53 +01:00
Volodymyr Medvid adfac3c1f9 PSOC6: do not remove QSPI from FUTURE_SEQUANA targets
Since QSPi is not yet supported by base TARGET_PSOC6,
there is no need to remove the device label from
FUTURE targets that inherit from TARGET_PSOC6.

This will need to be reverted back once the QSPI support
is implemented for Cypress PSOC6 targets.
2019-07-11 12:51:52 +03:00
Volodymyr Medvid bab34cb467 PSOC6: cleanup DEVICE_QSPI mappings
Note: device_has: "QSPI" is still disabled for TARGET_PSOC6
(QSPI HAL implementation is incomplete).
2019-07-11 12:50:56 +03:00
Volodymyr Medvid 2524a67c38 Merge remote-tracking branch 'ARMmbed/master' into pr/psoc6-hal 2019-07-11 10:19:03 +01:00
Martin Kojtal bd88d3ba00
Merge pull request #10997 from mark-edgeworth/iotbtool-21_absolute_path
Removing absolute paths to compiler executables
2019-07-11 10:08:17 +01:00
Martin Kojtal 9fdfe3fa30
Merge pull request #11002 from NXPmicro/Add_Restricted_List
LPC546XX: Add pins to LPCXpresso restricted list
2019-07-11 08:14:20 +01:00
Martin Kojtal 90aaa83723
Merge pull request #11012 from c1728p9/remove_analog_out
Remove FPGA analog out test
2019-07-11 06:32:18 +01:00
Tymoteusz Bloch 878c93673b Reverted "K64F, STM32F429: IAR linker scripts dynamic heap fix"
due to side effect with K64F bootloader application jump after three consecutive HW resets.
2019-07-10 13:30:40 +02:00
Steven Cooreman 35851005ef Fix wrongly declared ADC pinout for EFM32GG11 STK3701A 2019-07-10 11:27:29 +01:00
Volodymyr Medvid 140b72d3ed Merge remote-tracking branch 'ARMmbed/master' into pr/psoc6-hal 2019-07-10 10:54:14 +01:00
Martin Kojtal 279f4cd584
Merge pull request #11011 from SiliconLabs/fix/fpga_tests/i2c
Allow re-initialising an I2C peripheral on Silicon Labs targets
2019-07-10 10:44:54 +01:00
Russ Butler 8fffb94be2 Remove FPGA analog out test
Remove the analog out test temporarily due to limitations of the
FPGA rev 2 hardware.
2019-07-10 07:39:30 +01:00
Chun-Chieh Li 81dd2aa787 Fix mbed_hal-watchdog failing with OOM
This is to fix OOM error on targets with just 16KiB RAM.
2019-07-10 14:32:03 +08:00
Chun-Chieh Li debc38fd27 Fix mbed_drivers-watchdog failing with OOM
This is to fix OOM error on targets with just 16KiB RAM.
2019-07-10 14:31:33 +08:00
Steven Cooreman fb4d898f2e Allow re-initializing an I2C peripheral
Allows the FPGA based test to pass, but requires #11004 before it will
2019-07-09 23:37:11 +01:00
jeromecoutant d14d934f8d FPGA SPI: ASYNC issue 2019-07-10 00:30:13 +02:00
Steven Cooreman 6094542bb1 Avoid the FPGA tester using hardware CS which is not supported
Also implement rudimentary spi_free...
2019-07-09 22:48:37 +01:00
Steven Cooreman 476dc6e46a Fix for PWM output found by testing against FPGA shield
Two issues:
* Downcasting too early
* Potential for a uint32_t overflow in an intermediate calculation

Passing test requires #11005 to be merged.
2019-07-09 22:38:53 +01:00
Mahesh Mahadevan aef60d7edf LPC MCUXpresso: Remove extra I2C transaction on byte write
An extra start signal was observed on the bus which was
discovered by the FPGA test shield.
This is because the hardware sends out a transaction as soon
as a write to the START bit. Hence the write to the START
bit is delayed by using a flag.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2019-07-09 16:05:28 -05:00
jeromecoutant fc84ef874c FPGA PWM: wait 1 period before measurement 2019-07-09 22:41:27 +02:00
Mahesh Mahadevan 58ba83b6e4 LPC546XX: Add pins to LPCXpresso restricted list
FPGA GPIO tests cannot be run on certain pins

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2019-07-09 15:40:55 -05:00
jeromecoutant cf75b39e04 FPFA I2C: correct init bloc number 2019-07-09 22:35:22 +02:00
Kevin Bracey c9faf244ea Test Atomic<T> with user T 2019-07-09 19:09:02 +03:00
Kevin Bracey e2f65ec4a9 Make atomic test use Atomic<T>
Make the atomic functional test use `Atomic<T>` rather than the
standalone functions - this then tests both layers simultaneously.
2019-07-09 19:09:02 +03:00
Kevin Bracey f9f073245b Add Atomic<T> template
Add a C++ `Atomic<T>` template to make atomics even easier. Basically
compatible with C++11 `std::atomic<T>`, but using the underlying
`core_util_atomic_xxx` functions from mbed_atomic.h, so appropriate for
synchronising with interrupts and optimised for uniprocessor.

One extra piece of functionality beyond the `core_util_atomic_xxx`
functions is the ability to have an arbitrary atomic type - eg a small
structure with 2 `uint16_t`s can be stored in a `uint32_t` container.
2019-07-09 19:09:02 +03:00
Kevin Bracey 5d2b37d205 mbed_atomic.h: Improve template type deduction
Avoid template ambiguities using type_identity_t.

Previously the compiler would be unable to figure out whether

     uint8_t x;
     core_util_atomic_store(&x, 0);

should invoke core_util_atomic_store<uint8_t>, matching the pointer
type, or core_util_atomic_store<int>, matching the value, leading to
an ambiguity error.

Templates now select only on the type of the atomic pointer parameter.
2019-07-09 19:09:02 +03:00
Kevin Bracey 3fd7e11595 mbed_atomic templates: add noexcept
Add noexcept for consistency with upcoming Atomic.h
2019-07-09 19:09:02 +03:00
Kevin Bracey f9f887d88e mbed_atomic_impl.h: Add pre-op (xxx_fetch) forms
Even though C/C++11 don't offer pre-op forms (that do the operation then
return the new value) of their freestanding functions, we will be making
them visible via pre-op operators on `Atomic<T>` (++, --, +=, -=, &=,
|=, ^=).

It is easier to do a pre-op than a post-op, as we can use one
fewer register in the assembler, so it's worth optimising for what will
be quite common cases. Make these forms accessible for `Atomic<T>`, but
don't document them for standalone use at this stage.
2019-07-09 19:09:02 +03:00
Kevin Bracey 607856ee9a Set unit tests to C++14
Adjust some non-C++11-compatible code that failed as a result.
2019-07-09 19:08:57 +03:00
Filip Jagodzinski 4842c87815 RDA5981X: Add SERIAL_FC
According to comment in the implementation this target supports the
hardware flow control on UART1 peripheral.
This patch fixes build errors after adding DEVICE_SERIAL_FC guards to
hal/serial_api.h.
2019-07-09 16:30:12 +02:00
Filip Jagodzinski 68d222b3d1 MPS2: Fix serial_init when FC is not used
After adding DEVICE_SERIAL_FC guards to serial_api.h
serial_set_flow_control is not available. In case of this
implementation, this function is a no-op and may be safely removed.
2019-07-09 16:12:32 +02:00
Filip Jagodzinski 86149e59d6 FVP_MPS2: Fix serial_init when FC is not used
After adding DEVICE_SERIAL_FC guards to serial_api.h
serial_set_flow_control is not available. In case of this
implementation, this function is a no-op and may be safely removed.
2019-07-09 16:05:04 +02:00
Filip Jagodzinski ed41994a3a Test: HAL: serial: Add DEVICE_SERIAL_FC guards
Fix undefined references to serial_set_flow_control.
2019-07-09 13:21:42 +02:00