Commit Graph

3366 Commits (mbed-os-5.9.6)

Author SHA1 Message Date
Mahesh Mahadevan 5023f48729 MIMXRT1050: Fix I2C Byte transfer functions
1. Added a flag to issue START command
2. Do not send START command inside i2c_start function as
   the LPI2C hardware will issue a STOP on reception
   of a NACK
3. Remove the i2c_address global variable, this is not
   required

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-08-23 19:11:02 -05:00
jeromecoutant 838a69d695 STM32 : update LPTICKER_DELAY_TICKS value
- decreased to 1 for low freq targets
- removed for high freq targets
- not changed for targets with LPTIM
2018-08-23 19:06:58 -05:00
jeromecoutant c158112225 STM32 RTC : remove compilation warning with unused variable 2018-08-23 19:06:16 -05:00
jeromecoutant 09aac9b0d5 STM32 LPTICKER : RTC wake up timer is reset before settign a new one 2018-08-23 19:06:16 -05:00
Mahesh Mahadevan d70f6ffb0c MIMXRT1050_EVK: Update the I2C driver
1. Remove the repeated_start flag and code as this is not needed
   for the LPI2C module
2. Enable the SION bit on the I2C pins
3. Enable 22K Pullup option of the I2C pins
4. Update the 0 byte write implementation to ensure the START
   command gets flushed out of the FIFO

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-08-23 19:06:11 -05:00
Simo Sillankorva f5ec83c076 Change NUCLEO_F303RE IAR Linker script heap size * Change the heap size value to be the stated 1/4 of the RAM. 2018-08-23 19:06:09 -05:00
Simo Sillankorva 2dc749f1db Add bootloader support for target NUCLEO_F303RE 2018-08-23 19:06:09 -05:00
jeromecoutant a6cf01f948 STM32L4 assert in SetSysClock replaced 2018-08-23 19:06:06 -05:00
jeromecoutant dbcaafe561 STM32L1 assert in SetSysClock replaced 2018-08-23 19:06:06 -05:00
jeromecoutant ae0872ed92 STM32L0 assert in SetSysClock replaced 2018-08-23 19:06:06 -05:00
jeromecoutant c1e7ffff60 STM32F7 assert in SetSysClock replaced 2018-08-23 19:06:06 -05:00
jeromecoutant 3476f88e96 STM32F4 assert in SetSysClock replaced 2018-08-23 19:06:06 -05:00
jeromecoutant 0b37633a1e STM32F3 assert in SetSysClock replaced 2018-08-23 19:06:06 -05:00
jeromecoutant 3884e099ad STM32F2 assert in SetSysClock replaced 2018-08-23 19:06:06 -05:00
jeromecoutant 0feb290052 STM32F1 assert in SetSysClock replaced 2018-08-23 19:06:06 -05:00
jeromecoutant 0f269bf220 STM32F0 assert in SetSysClock replaced 2018-08-23 19:06:06 -05:00
David Saada 3ba5feb252 Fix TMPM64B IAR linker file
Remove unnecessary manual inclusion of tmpm64b_fc object file in linker script
2018-08-23 17:18:18 -05:00
Oren Cohen 604d305d24 Restore lp_ticker_free to previous implementation when running with uvisor
This is a temporary patch until uvisor is removed
2018-08-23 17:18:18 -05:00
Qinghao Shi c27895c92d Refactoring memory regions definitions for MPS2_M0 targets
* align MPS2_M0 FVP target with other MPS2 targets
* moved memory_zones.h
* chnage the flash_api.c where referencing the old memory_zones
* modify mbed_rtx.h to use the memory_zones definations as INITIAL_SP
* all linker scripts reference the definitions from memory_zones.h
* tool chains use predefined 1K as ISR Stack size
* ARM Complier 5 and GCC will auto calculated heap size
* IAR use predefined 2MiB as heap size
2018-08-23 17:17:01 -05:00
Qinghao Shi e6dd6baeea Refactoring memory regions definitions for MPS2_M0P targets
* added memory_zones.h
* all linker scripts reference the definitions from memory_zones.h
* tool chains use predefined 1K as ISR Stack size
* ARM Complier 5 and GCC will auto calculated heap size
* IAR use predefined 2MiB as heap size
2018-08-23 17:17:01 -05:00
Qinghao Shi a363eb4aeb Refactoring memory regions definitions for MPS2_M7 targets
* added memory_zones.h
* all linker scripts reference the definitions from memory_zones.h
* tool chains use predefined 1K as ISR Stack size
* ARM Complier 5 and GCC will auto calculated heap size
* IAR use predefined 2MiB as heap size
2018-08-23 17:17:01 -05:00
Qinghao Shi f24f9375e7 Refactoring memory regions definitions for MPS2_M4 targets
* added memory_zones.h
* all linker scripts reference the definitions from memory_zones.h
* tool chains use predefined 1K as ISR Stack size
* ARM Complier 5 and GCC will auto calculated heap size
* IAR use predefined 2MiB as heap size
2018-08-23 17:17:01 -05:00
Qinghao Shi 0592ad2058 Refactoring memory regions definitions for MPS2_M3 targets
* added memory_zones.h
* all linker scripts reference the definitions from memory_zones.h
* tool chains use predefined 1K as ISR Stack size
* ARM Complier 5 and GCC will auto calculated heap size
* IAR use predefined 2MiB as heap size
2018-08-23 17:17:01 -05:00
jeromecoutant 9c0cdf7c36 STM32 : Sunday value is different for STM32F1 2018-08-23 16:58:10 -05:00
MateuszM e2bc97cedd fix formatting 2018-08-23 16:58:08 -05:00
MateuszM 7399b38675 Fix issue #5119, changed pwmout_api.
The period of pwm we could get was limited to 69.9 ms, because prescaler value was set once only during initialization. base->mod is a 16 bit register, to get longer period we have to slow down the clk.
2018-08-23 16:58:08 -05:00
Bence Kaposzta d8f3e5c3e3 Fix for CM3DS GPIO api 2018-08-23 16:58:08 -05:00
Naveen Kaje 3d5aed282e nrf_drv_twi: remove redundant nrf_drv_disable call in nrf_drv_twi_uninit
i2c_api implementation for NRF52 does a disable() followed by uninit().
The uniinit() implementation in NRF drivers layer makes another call to
disable. This throws off the state of the I2C instance leading to an
assert. Since the disable is only invoked from the I2C API layer for
Nordic, remove this redundant call.

Signed-off-by: Naveen Kaje <Naveen.Kaje@arm.com>
2018-08-23 16:58:05 -05:00
Kari Haapalehto 55bc56dcae mbed-os-example_blinky didn't work with wise-1530, so MTB_ADV_WISE_1530 led configuration have been updated. Also minor update to MTB_MXCHIP_EMW3166 led configuration, led3 is now defined but not connected. 2018-08-23 16:57:51 -05:00
David Saada 68a1629085 Rename text region in ARM linker file for Renesas & Realtek boards 2018-08-13 14:44:27 +01:00
Mirela Chirica 5d46e285ca Cellular: WISE_1570's system clock back to HSE_XTAL 2018-08-13 14:44:27 +01:00
Laurent Meunier a89e26c6a0 Use HAL coding style for function naming 2018-08-13 14:44:27 +01:00
Laurent Meunier 7c1942c1e5 STM32: check for UART ongoing transfers before entering deepsleep
As suggested by Russ Butler in mbed-os issue #7328, and until there is an
implementation of mbed-os issue #4408, we are implementing a workaround
at HAL level to check if there is any ongoing serial transfer (which happens
if HW FIFO is not yet empty).

In case a transfer is ongoing, we're not entering deep sleep and
return immediately.
2018-08-13 14:44:27 +01:00
Mahesh Mahadevan 935e07e031 MXRT1050_EVK: Enable Sleep function and add SKIP_SYSCLK_INIT macro
SKIP_SYSCLK_INIT prevents reinitializing the SYS_CLK PLL used by SDRAM.
This PLL is setup during bootup by the ROM code.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-08-13 14:44:27 +01:00
Mahesh Mahadevan 5d509d2e1e MXRT1050_EVK: Sleep: add pre/post processing steps
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-08-13 14:44:27 +01:00
Mahesh Mahadevan b1166d4696 MXRT1050_EVK: Ensure certain low power function are linked to internal memory
Low power functions related to powering off FLEXSPI and SDRAM needs
to be copied to internal memory

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-08-13 14:44:27 +01:00
Mahesh Mahadevan e517862601 MIMXRT1050_EVK: Add Low Power Manager files
This is needed to support different Low-Power modes available
in MXRT1050

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2018-08-13 14:44:27 +01:00
Edmund Hsu 5aa9b38f24 Resolve adi_tmr_ConfigTimer api conflict in us_ticker.c for both EV_COG_AD4050LZ and EV_COG_AD3029LZ 2018-08-13 14:44:27 +01:00
Edmund Hsu 2992546906 Resolve adi_tmr_ConfigTimer discrepancy between __ADuCM4050__ and __ADuCM3029__ 2018-08-13 14:44:27 +01:00
Edmund Hsu 63223b5ec6 Disable unused Configuration data from compiler warning Add __ADuCM3029__ constants 2018-08-13 14:44:27 +01:00
Edmund Hsu 5f98d4dfe2 Add C++ linkage for adi_tmr.h 2018-08-13 14:44:27 +01:00
Edmund Hsu ded45f91cf Add __ADUCM4050__ and __ADUCM3029__ to include MCU specific configurations 2018-08-13 14:44:27 +01:00
bcostm d380a3572b STM32: remove uart force_reset at init 2018-08-13 14:44:27 +01:00
ccli8 1ca35fee1c Organize file structure
This re-organization is to avoid duplicates regarding targets of the same MCU series.
2018-08-13 14:44:27 +01:00
TomoYamanaka daf5b7785c Renesas : Improve Flash iap
I modified the _page_program() because when the request of the size exceeding the maximum size(256 byte) per one writing of Flash recieved, it was not able to loop the writing with sifting the address every 256 byte.

Also I modified the return value of flash_get_page_size() because I found that the minimum size per one writing of Flash is 1 byte by reviewing Flash spec.
"FLASH_PAGE_SIZE" macro's value is remain 256, it doesn't be used at flash_get_page_size(), used at _page_program() for refferencing of the maximum page size.
2018-08-13 14:44:27 +01:00
bcostm 96cc81412b STM32F7: remove HAL_InitTick() declaration in us_ticker_data.h files 2018-08-13 14:44:27 +01:00
TomoYamanaka b9bb017419 Add the clear process of "inited" flag in lp_ticker_free()
I added "lp_ticker_inited = 0" in lp_ticker_free() of lp_ticker.c, so
re-initialization will work.
2018-08-13 14:44:27 +01:00
TomoYamanaka b5fee237eb Implementation of LPTICKER feature for Renesas mbed boards
Although other venders implement this feature by using RTC, in my H/W(RZ_A1), I cannot use RTC because it does not satisfy the spec of LP Ticker (ms order and low frequency between 8 KHz and 64 KHz).
Therefore I implemented this feature by creating 1024 division by MTU2(Multi function Timer pulse Unit 2) in order to satisfy this spec.
As a result of investigating, the most unaffected channel among MTU2 placed on GR-PEACH and GR-LYCHEE was channel 3, so I use channel 3 for this feature.

- mbed_drv_cfg.h
  I added a macro of MTU2 channel to this file for commonalizing code for GR-PEACH and GR-LYCHEE, and referenced it's macro at us_ticker.c.
- targets.json
  I added a macro for enabling LP Ticker.
- mtu2.c mtu2.h
  I defined fuction of MTU2's clock supply and stop.
  Because MTU2 is utilized by pwm driver too, those function were referenced at lp_ticker driver and pwm driver.

- lp_ticker.c lp_ticker_init()
  In order to satisfy the LP Ticker spec, I implemented by creating 1024 division by MTU2.
  When an interrupt is required, it will be set with ticker_set_interrupt().

- lp_ticker.c lp_ticker_free()
  This function stops the counting and powerdown the lp_ticker.

- lp_ticker.c lp_read()
  This function returns the timer counter of MTU2.

- lp_ticker.c lp_ticker_set_interrupt()
  In order to satisfy specifications, I implemented lp_ticker_set_interrupt() function.

- lp_ticker.c lp_ticker_fire_interrupt()
  In order to satisfy spec, I implemented lp_ticker_fire_interrupt() function.
  Also I added GIC_EnableIRQ for allowing the interrupt at end of function.

- lp_ticker.c lp_ticker_get_info()
  To satisfy the spec, I implemented lp_ticker_get_info() function. The value of freq includes rounding off.
2018-08-13 14:44:27 +01:00
bcostm 659cebad3a F1 ST CUBE V1.6.1: add I2C patches 2018-08-13 14:44:27 +01:00
bcostm 7449c11e2f F1 ST CUBE V1.6.1
- stm32f1xx hal V1.1.2
2018-08-13 14:44:27 +01:00