Commit graph

19237 commits

Author SHA1 Message Date
Andrew Boie
c99c686b2c nios2: use gen_isr_tables mechanism
Change-Id: If1ffcedf86a015789b42e7aec45dae3cc58f74fa
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-02-11 01:28:00 +00:00
Andrew Boie
122467e9ee tests: add test for gen_isr_table
This test is intended to verify that the SW ISR and vector tables
have been populated correctly.

Change-Id: Ic7f50c02dc0807d7ddefa710da67f818ff707ad6
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-02-11 01:28:00 +00:00
Andrew Boie
2752357922 arm: enable direct interrupts feature
Issue: ZEP-1038
Change-Id: I5417e516cc994e2bbe6bb987d9ed95e912941aa0
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-02-11 01:27:59 +00:00
Andrew Boie
e7acd3224c arm: use gen_isr_tables mechanism for interrupts
This replaces the hard-coded vector table, as well as the
software ISR table created by the linker. Now both are generated
in build via script.

Issue: ZEP-1038, ZEP-1165
Change-Id: Ie6faaf8f7ea3a7a25ecb542f6cf7740836ad7da3
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-02-11 01:27:58 +00:00
Andrew Boie
1927b3d020 gen_isr_tables: New static interrupt build mechanism
This is a new mechanism for generating interrupt tables which will
be useful on many architectures. It replaces the old linker-based
mechanism for creating these tables and has a couple advantages:

 1) It is now possible to use enums as the IRQ line argument to
    IRQ_CONNECT(), which should ease CMSIS integration.
 2) The vector table itself is now generated, which lets us place
    interrupts directly into the vector table without having to
    hard-code them. This is a feature we have long enjoyed on x86
    and will enable 'direct' interrupts.
 3) More code is common, requiring less arch-specific code to
    support.

This patch introduces the common code for this mechanism. Follow-up
patches will enable it on various arches.

Issue: ZEP-1038, ZEP-1165
Change-Id: I9acd6e0de8b438fa9293f2e00563628f7510168a
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-02-11 01:27:58 +00:00
Sarath R Nair
8ac992bfcd quark_se: Save/restore debug registers.
In order to set breakpoints after waking up from sleep,
it is needed to save DR0/DR1/DR2/DR3 and DR6/DR7.

As DR4/DR5 are reserved or mapped to DR6/DR7, they are not saved.

Patch2 : Added compile time checks for debug build or soc_watch
build for Intel Energy analysis.

Patch3 : Avoid clobbering of edx.

JIRA: ZEP-1681

Change-Id: I62fbedca16953d57196420ecae4fb93c785bb4a5
Signed-off-by: Sarath R Nair <sarath.nandu.ramachandran.nair@intel.com>
2017-02-11 00:15:08 +00:00
Jithu Joseph
720400372b misc: fix more variable type mismatches
These were reported by ISSM compiler.

Jira: ZEP-1179

Change-Id: Ic625749309773611c0c6ba2905e9420e98947dae
Signed-off-by: Jithu Joseph <jithu.joseph@intel.com>
2017-02-11 00:14:15 +00:00
Jithu Joseph
d625c2bb4c grove: fix variable type mismatch
These were reported by ISSM compiler.

Jira: ZEP-1179

Change-Id: I10d04c2949ad2a390d4c1159d2342c73108a58b7
Signed-off-by: Jithu Joseph <jithu.joseph@intel.com>
2017-02-11 00:14:15 +00:00
Andy Gross
c30b400a16 libc-hooks: Fix include file for arch ARM
This patch adds in the include to get the CONFIG_SRAM definitions on
systems which are using device tree generation.

Change-Id: Ie61efbcdfc900a2c682a2fb8bbaecb61071a20f8
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2017-02-10 23:42:31 +00:00
Maureen Helm
3f4f9fa60f Merge arm branch into master
Main changes:

- Refactor stm32 to use Cube LL clock driver
- Convert arm scb to use direct CMSIS register access
- Add board documentation

----------------------------------------------------------------
Adam Podogrocki (1):
      gpio/stm32: fix in setting alternative function

Erwan Gouriou (19):
      clock control:stm32: provide STM32Cube LL based driver
      gpio: update stm32 gpio to support LL clock control driver
      pinmux: update stm32 pinmux to support LL clock control driver
      uart: update stm32 uart to support LL clock control driver
      i2c: stm32: change deprecated constant
      i2c: update stm32 i2c_lx to support LL clock control driver
      pwm: update stm32 pwm to support LL clock control driver
      flash: update stm32 flash_f3x to support LL clock control driver
      soc: stm32l4xx: support of Cube LL Clock driver
      soc: stm32f3xx: support of Cube LL Clock driver
      board: nucleo_f334r8: enable support of LL Cube clock control driver
      board: stm32373c_eval: enable support of LL Cube clock control driver
      boards: nucleo_l476rg: enable support of LL Cube clock control driver
      soc: stm32l4x: clean up after Cube LL clock control
      soc: stm32f3x: clean up after Cube LL clock control
      clock control: clean up after stm32cube LL driver
      drivers: stm32: clean up after stm23cube based clock control
      clock_control: stm32: code optimization
      board: add nucleo_l476rg documentation

Kumar Gala (12):
      arm: cmsis: Convert _ScbIsNestedExc to use direct CMSIS register access
      arm: cmsis: Convert FaultEnable to use direct CMSIS register access
      arm: cmsis: Convert _ScbActiveVectorGet to use direct CMSIS register access
      arm: cmsis: Convert _ScbHardFaultIsForced to use direct CMSIS register access
      arm: cmsis: Convert _ScbDivByZeroFaultEnable to use direct CMSIS register access
      arm: cmsis: Convert _Scb*FaultIs* & _ScbIs*Fault to use CMSIS register access
      arm: cmsis: Convert _Scb*FaultAddrGet to use direct CMSIS register access
      arm: cmsis: Convert printing of MMFSR, BFSR, and UFSR to CMSIS
      arm: cmsis: Convert _ClearFaults to use direct CMSIS register access
      arm: cmsis: Convert _Scb*Fault*Reset to use direct CMSIS register access
      arm: cmsis: cleanup use of _SCS_CPACR_CP1{0,1}_Pos define
      arm: cmsis: Remove last bits of scs/scb as we've converted to CMSIS

Maureen Helm (1):
      hexiwear_k64: Add RST board documentation

 arch/arm/core/cortex_m/Makefile                             |   2 +-
 arch/arm/core/cortex_m/scs.c                                |  22 --
 arch/arm/core/fault.c                                       |  88 +++---
 arch/arm/core/fault_s.S                                     |   2 +-
 arch/arm/include/cortex_m/exc.h                             |  18 +-
 arch/arm/soc/st_stm32/stm32f3/rcc_registers.h               |  89 ------
 arch/arm/soc/st_stm32/stm32f3/soc.c                         |   3 +-
 arch/arm/soc/st_stm32/stm32f3/soc.h                         |   7 +
 arch/arm/soc/st_stm32/stm32f3/soc_config.c                  |  22 --
 arch/arm/soc/st_stm32/stm32f3/soc_gpio.c                    |   9 +-
 arch/arm/soc/st_stm32/stm32f3/soc_registers.h               |   1 -
 arch/arm/soc/st_stm32/stm32l4/rcc_registers.h               | 176 -----------
 arch/arm/soc/st_stm32/stm32l4/soc.c                         |   3 +-
 arch/arm/soc/st_stm32/stm32l4/soc.h                         |   7 +
 arch/arm/soc/st_stm32/stm32l4/soc_gpio.c                    |   8 +-
 arch/arm/soc/st_stm32/stm32l4/soc_pinmux.c                  |  20 --
 arch/arm/soc/st_stm32/stm32l4/soc_registers.h               |   1 -
 boards/arm/hexiwear_k64/doc/hexiwear_k64.jpg                | Bin 0 -> 504461 bytes
 boards/arm/hexiwear_k64/doc/hexiwear_k64.rst                | 273 ++++++++++++++++
 boards/arm/nucleo_f334r8/nucleo_f334r8_defconfig            |  24 +-
 boards/arm/nucleo_l476rg/doc/img/nucleo64_ulp_logo_1024.jpg | Bin 0 -> 16731 bytes
 boards/arm/nucleo_l476rg/doc/img/nucleo_l476rg_arduino.png  | Bin 0 -> 564540 bytes
 boards/arm/nucleo_l476rg/doc/img/nucleo_l476rg_morpho.png   | Bin 0 -> 485284 bytes
 boards/arm/nucleo_l476rg/doc/nucleol476rg.rst               | 239 ++++++++++++++
 boards/arm/nucleo_l476rg/nucleo_l476rg_defconfig            |  25 +-
 boards/arm/stm32373c_eval/stm32373c_eval_defconfig          |  24 +-
 drivers/clock_control/Kconfig                               |   6 +-
 drivers/clock_control/Kconfig.stm32                         | 186 +++++++++++
 drivers/clock_control/Kconfig.stm32f3x                      | 115 -------
 drivers/clock_control/Kconfig.stm32l4x                      | 140 --------
 drivers/clock_control/Makefile                              |   8 +-
 drivers/clock_control/stm32_ll_clock.c                      | 295 +++++++++++++++++
 drivers/clock_control/stm32_ll_clock.h                      |  16 +
 drivers/clock_control/stm32f3x_clock.c                      | 398 -----------------------
 drivers/clock_control/stm32f3x_ll_clock.c                   |  73 +++++
 drivers/clock_control/stm32l4x_clock.c                      | 383 ----------------------
 drivers/clock_control/stm32l4x_ll_clock.c                   |  35 ++
 drivers/flash/flash_stm32f3x.c                              |   9 +-
 drivers/flash/flash_stm32f3x.h                              |   2 +-
 drivers/flash/flash_stm32f3x_priv.c                         |   4 +-
 drivers/gpio/gpio_stm32.c                                   |  95 +++---
 drivers/gpio/gpio_stm32.h                                   |  32 +-
 drivers/i2c/i2c_stm32lx.c                                   |  13 +-
 drivers/i2c/i2c_stm32lx.h                                   |   2 +-
 drivers/pinmux/stm32/pinmux_stm32.c                         |  43 ++-
 drivers/pwm/pwm_stm32.c                                     |  50 ++-
 drivers/pwm/pwm_stm32.h                                     |   6 +-
 drivers/serial/uart_stm32.c                                 |  34 +-
 drivers/serial/uart_stm32.h                                 |   8 +-
 ext/hal/st/stm32cube/Kbuild                                 |   2 +
 include/arch/arm/arch.h                                     |   2 -
 include/arch/arm/cortex_m/cmsis.h                           |  69 +++-
 include/arch/arm/cortex_m/scb.h                             | 583 ----------------------------------
 include/arch/arm/cortex_m/scs.h                             | 598 -----------------------------------
 include/drivers/clock_control/stm32_clock_control.h         |  21 +-
 include/drivers/clock_control/stm32f3_clock_control.h       | 114 -------
 include/drivers/clock_control/stm32l4x_clock_control.h      | 101 ------
 include/section_tags.h                                      |   1 -
 58 files changed, 1531 insertions(+), 2976 deletions(-)
 delete mode 100644 arch/arm/core/cortex_m/scs.c
 delete mode 100644 arch/arm/soc/st_stm32/stm32f3/rcc_registers.h
 delete mode 100644 arch/arm/soc/st_stm32/stm32l4/rcc_registers.h
 create mode 100644 boards/arm/hexiwear_k64/doc/hexiwear_k64.jpg
 create mode 100644 boards/arm/hexiwear_k64/doc/hexiwear_k64.rst
 create mode 100644 boards/arm/nucleo_l476rg/doc/img/nucleo64_ulp_logo_1024.jpg
 create mode 100644 boards/arm/nucleo_l476rg/doc/img/nucleo_l476rg_arduino.png
 create mode 100644 boards/arm/nucleo_l476rg/doc/img/nucleo_l476rg_morpho.png
 create mode 100644 boards/arm/nucleo_l476rg/doc/nucleol476rg.rst
 create mode 100644 drivers/clock_control/Kconfig.stm32
 delete mode 100644 drivers/clock_control/Kconfig.stm32f3x
 delete mode 100644 drivers/clock_control/Kconfig.stm32l4x
 create mode 100644 drivers/clock_control/stm32_ll_clock.c
 create mode 100644 drivers/clock_control/stm32_ll_clock.h
 delete mode 100644 drivers/clock_control/stm32f3x_clock.c
 create mode 100644 drivers/clock_control/stm32f3x_ll_clock.c
 delete mode 100644 drivers/clock_control/stm32l4x_clock.c
 create mode 100644 drivers/clock_control/stm32l4x_ll_clock.c
 delete mode 100644 include/arch/arm/cortex_m/scb.h
 delete mode 100644 include/arch/arm/cortex_m/scs.h
 delete mode 100644 include/drivers/clock_control/stm32f3_clock_control.h
 delete mode 100644 include/drivers/clock_control/stm32l4x_clock_control.h

Change-Id: I0b64f0b663153088e4e16babbf60a546f7b5fbb5
Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-02-10 15:38:11 -06:00
Andy Gross
ac37e3e2c7 arm: include: Add DTS generated file to arch.h
This patch moves the include for the generated_dts_board.h inside of
the include/arch/arm/arch.h file.  This was done to simplify the
includes required for files.  Only two files will include the dts
generated include file directly: arch.h and the linker.ld

Change-Id: I2614f4fd4eeed2ab635a3264d7dac8b83f97b760
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2017-02-10 15:31:26 -06:00
Kumar Gala
6ca87b576e arm: cmsis: Remove last bits of scs/scb as we've converted to CMSIS
We now use CMSIS for ARM Cortex-M SoCs so we can remove the last bits of
scs and scb.

Jira: ZEP-1568

Change-Id: I0c7c45b0321dc402ed594e9faffb5109922edcf0
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-02-10 15:14:23 -06:00
Kumar Gala
3a7cc31e08 arm: cmsis: cleanup use of _SCS_CPACR_CP1{0,1}_Pos define
_SCS_CPACR_CP10_Pos and _SCS_CPACR_CP11_Pos come from scs.h, we have
versions defined in cmsis.h we should be using instead.

Change-Id: Icd8db02000bbc9ef8b2cf89d359e008f62a7d5e9
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-02-10 14:47:41 -06:00
Kumar Gala
52cf45c62a arm: cmsis: Convert _Scb*Fault*Reset to use direct CMSIS register access
Coverted:
	_ScbMemFaultMmfarReset
	_ScbBusFaultBfarReset
	_ScbUsageFaultAllFaultsReset

To use direct CMSIS register access.

Also removed scb.h and references as there is no longer any code in it.

Jira: ZEP-1568

Change-Id: I469f6af39d1bd41db712454b0b3e5ab331979033
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-02-10 14:47:41 -06:00
Kumar Gala
94db819626 arm: cmsis: Convert _ClearFaults to use direct CMSIS register access
The previous code incorrectly used the value 0xfe to clear the mem and
bus faults. It attempted to handle the address register valid bits
separately, but reversed the bit order.

Jira: ZEP-1568

Change-Id: I240d072610af9979ca93c0081ed862df08929372
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-02-10 14:47:41 -06:00
Kumar Gala
80ed5ccc78 arm: cmsis: Convert printing of MMFSR, BFSR, and UFSR to CMSIS
Converted access to CFSR MMFSR, BFSR, and UFSR to use direct CMSIS
register access when printing out the values of those registers.

Jira: ZEP-1568

Change-Id: I7969bb81346327637140ec23d91422a6bfaef032
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-02-10 14:47:41 -06:00
Kumar Gala
737207f052 arm: cmsis: Convert _Scb*FaultAddrGet to use direct CMSIS register access
Coverted:
	_ScbBusFaultAddrGet
	_ScbMemFaultAddrGet

To use direct CMSIS register access

Jira: ZEP-1568

Change-Id: Ic49b3ac3fc4fb63d413f273569c77f6539e4e572
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-02-10 14:47:41 -06:00
Kumar Gala
d2679c7bbb arm: cmsis: Convert _Scb*FaultIs* & _ScbIs*Fault to use CMSIS register access
Converted:
	_ScbHardFaultIsBusErrOnVectorRead
	_ScbIsMemFault
	_ScbMemFaultIsMmfarValid
	_ScbMemFaultIsStacking
	_ScbMemFaultIsUnstacking
	_ScbMemFaultIsDataAccessViolation
	_ScbMemFaultIsInstrAccessViolation
	_ScbIsBusFault
	_ScbBusFaultIsBfarValid
	_ScbBusFaultIsStacking
	_ScbBusFaultIsUnstacking
	_ScbBusFaultIsImprecise
	_ScbBusFaultIsPrecise
	_ScbBusFaultIsInstrBusErr
	_ScbIsUsageFault
	_ScbUsageFaultIsDivByZero
	_ScbUsageFaultIsUnaligned
	_ScbUsageFaultIsNoCp
	_ScbUsageFaultIsInvalidPcLoad
	_ScbUsageFaultIsInvalidState
	_ScbUsageFaultIsUndefinedInstr

To use direct CMSIS register access

Jira: ZEP-1568

Change-Id: I2a99a4101c5960f825a502c225e511e49fe93bba
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-02-10 14:47:41 -06:00
Kumar Gala
1a146174cb arm: cmsis: Convert _ScbDivByZeroFaultEnable to use direct CMSIS register access
Jira: ZEP-1568

Change-Id: I0118f2d44d2b6fb4eac41b0c66b20c5a85e35795
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-02-10 14:47:41 -06:00
Kumar Gala
831764a898 arm: cmsis: Convert _ScbHardFaultIsForced to use direct CMSIS register access
Jira: ZEP-1568

Change-Id: I9bf2ec4c84f87c8e9d72dc41324d7ee627d2dc2e
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-02-10 14:47:41 -06:00
Kumar Gala
a033a89d76 arm: cmsis: Convert _ScbActiveVectorGet to use direct CMSIS register access
Jira: ZEP-1568

Change-Id: Ibbb3f71d7ee42ab62f764d45bd334c7840b3c04d
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-02-10 14:47:41 -06:00
Kumar Gala
388c26574f arm: cmsis: Convert FaultEnable to use direct CMSIS register access
Jira: ZEP-1568

Change-Id: I1274ee206576babb4bc0b9308d1cc24d7092166a
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-02-10 14:47:41 -06:00
Kumar Gala
cecdc99f38 arm: cmsis: Convert _ScbIsNestedExc to use direct CMSIS register access
Jira: ZEP-1568

Change-Id: I3d41fe88293bab2f40d9177cedb56e9265250dff
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-02-10 14:47:41 -06:00
Adam Podogrocki
ce591ac378 gpio/stm32: fix in setting alternative function
Pin number should be decremented by 8 if the pin
refers to the GPIOx_AFRH register.

Change-Id: I76e960f3b4adc3c2139ef5a88f15dbe98603228e
Signed-off-by: Adam Podogrocki <adam.podogrocki@rndity.com>
2017-02-10 14:47:41 -06:00
Erwan Gouriou
2ac00121dd board: add nucleo_l476rg documentation
Change-Id: I7b6afe82945deee801ac70277a1701d4208de494
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-02-10 14:47:41 -06:00
Maureen Helm
f9655518f7 hexiwear_k64: Add RST board documentation
Change-Id: Ib9544374203d6a33d2c9f820575946626e691a6b
Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-02-10 14:47:41 -06:00
Erwan Gouriou
8ab42c92ce clock_control: stm32: code optimization
This commit brings code size optimization as suggested by Christer
Weinigel review during review of initial commit for this driver.
It also cleans up useless definition in header file.

Change-Id: Ibeaa2e51570dff21825c60c30ba83d939b31d938
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-02-10 14:47:41 -06:00
Erwan Gouriou
726d4dc437 drivers: stm32: clean up after stm23cube based clock control
After activation of cube based driver support on L4 and F3 series,
this commits performs the clean up of F3 and L4 relative code to
native clock control drivers.
Indirectly, it makes pwm driver supported de facto on F3 series

Change-Id: Idac17103a9b5ef6eab540719343cc8f5865f15fa
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-02-10 14:47:41 -06:00
Erwan Gouriou
3c389b54f0 clock control: clean up after stm32cube LL driver
After introduction and activation of STM32Cube LL based driver on
F3 and L4 series, this commit removes the no more needed code for
native driver for these soc.

Change-Id: I266d1a3fc4b464cee34b1cc1a1a333c5bf923e41
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-02-10 14:47:41 -06:00
Erwan Gouriou
c4154fd591 soc: stm32f3x: clean up after Cube LL clock control
Following activation of Cube LL based clock control driver,
this commits cleans up the useless structures for RCC definitions
and remove code relative to native F3 Clock control driver.

Change-Id: I6f3ee44adb09adc52927eb4b05f8a829665eb96d
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-02-10 14:47:41 -06:00
Erwan Gouriou
dd481e2dc3 soc: stm32l4x: clean up after Cube LL clock control
Following activation of Cube LL based clock control driver,
this commits cleans up the useless structures for RCC definitions
and remove code relative to native L4 Clock control driver.

Change-Id: Ic0408d5f5ec66651d46d13dfaf447da2666367cd
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-02-10 14:47:41 -06:00
Erwan Gouriou
56b526c3a3 boards: nucleo_l476rg: enable support of LL Cube clock control driver
Activate support of LL Cube based Clock control driver
Note that prescaler should now use actual numerical value used
for calculation and not register value (hence 1 instead of 0)

Change-Id: Ia3a26bffbd470c6e958fd2ca82b8eb071beb6ca8
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-02-10 14:47:41 -06:00
Erwan Gouriou
7fad8de120 board: stm32373c_eval: enable support of LL Cube clock control driver
Activate support of LL Cube based Clock control driver
Note that prescaler should now use actual numerical value used
for calculation and not register value (hence 1 instead of 0)

Change-Id: Ic2566d26f1b82441575a94ddd8d632c88df669d9
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-02-10 14:47:41 -06:00
Erwan Gouriou
a3f35af40e board: nucleo_f334r8: enable support of LL Cube clock control driver
Activate support of LL Cube based Clock control driver
Note that prescaler should now use actual numerical value used
for calculation and not register value (hence 1 instead of 0)

Change-Id: I4becae974678970745f918fb05906f36cc4d62a7
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-02-10 14:47:41 -06:00
Erwan Gouriou
7ed7ccc020 soc: stm32f3xx: support of Cube LL Clock driver
After introduction of STM32Cube based clock control driver for
stm32 family, provide its support on stm32f3x soc.
Clean up will have to be done afterwards.

Change-Id: I20480579f12a6fc1f1f6a51589981ac3f1d63ef0
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-02-10 14:47:41 -06:00
Erwan Gouriou
7c7bfd3a8d soc: stm32l4xx: support of Cube LL Clock driver
After introduction of STM32Cube based clock control driver for
stm32 family, provide its support on stm32l4x soc.
Clean up will have to be done afterwards.

Change-Id: I979a4169148c5fe5a0693d182d2d17f9ffaf1c77
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-02-10 14:47:41 -06:00
Erwan Gouriou
221087a72e flash: update stm32 flash_f3x to support LL clock control driver
After introducing STM32Cube based clock control driver for
stm32 family, update stm32f3xx flash driver to support it.
Clean up will be done afterwards.

Change-Id: I3260bb063f714fa29adbc71d8036f20479a99b34
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-02-10 14:47:41 -06:00
Erwan Gouriou
2ab8250c5b pwm: update stm32 pwm to support LL clock control driver
After introducing STM32Cube based clock control driver for
stm32 family, update stm32 pwm driver to support it.
Once supported across the whole family, a clean up will be done.

Change-Id: I2ed38763b706e34ea1dceea50e97ce836dd9e195
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-02-10 14:47:41 -06:00
Erwan Gouriou
bb2db5dbc5 i2c: update stm32 i2c_lx to support LL clock control driver
After introducing STM32Cube based clock control driver for
stm32 family, update stm32 i2c_lx driver to support it.
Clean up will be done in a following commit.

Change-Id: Ie5059bf4122d65fab1a663a5b00e0d761850a49d
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-02-10 14:47:41 -06:00
Erwan Gouriou
0a902c345c i2c: stm32: change deprecated constant
Use of SECONDARY in DEVICE_AND_API_INIT is now deprecated and should
be replaced by POST_KERNEL

Change-Id: I543ae70e493527e75b4a4bcb9191475065b49166
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-02-10 14:47:41 -06:00
Erwan Gouriou
8c4f2a353f uart: update stm32 uart to support LL clock control driver
After introducing STM32Cube based clock control driver for
stm32 family, update stm32 serial driver to support it.
Once supported across the whole family, a clean up will be done.

Change-Id: I7100bc699e7918c8be71d58091da1860ab734e25
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-02-10 14:47:41 -06:00
Erwan Gouriou
293b65f526 pinmux: update stm32 pinmux to support LL clock control driver
After introducing STM32Cube based clock control driver for
stm32 family, update pinmux driver to support it.
Once supported across the whole family, a clean up will be done.

Change-Id: Icc20816377f3a09f516a743462c92696a1fead3a
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-02-10 14:47:41 -06:00
Erwan Gouriou
375b7171b4 gpio: update stm32 gpio to support LL clock control driver
After introducing STM32Cube based clock control driver for
stm32 family, update GPIO driver to support it.
Once supported across the whole family, we clean up will be done.

Change-Id: If50cb580cb01dc1d38557e54f19a8260feaa504e
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-02-10 14:47:41 -06:00
Erwan Gouriou
58c8d15147 clock control:stm32: provide STM32Cube LL based driver
This new clock control driver aims at providing a lightweight
generic driver to the whole stm32 family.
Driver is based on LL Cube API and hence is for now available
only for STM32 supporting this API: stm32f3xx and stm32l4xx.
Other families should be supported soon.
Once globally supported, this unique driver will also help
reducing the impact of stm32 clock control heterogeneity in
other drivers.

Change-Id: Id15a8d0d44f03809b2907ef10d6877700459e674
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-02-10 14:47:41 -06:00
Luiz Augusto von Dentz
b4b395845a Bluetooth: GATT: Fix compilation error
List container changes apparently were merged in the wrong order causing
leaving it with a compilation error.

Change-Id: Ib9d9502ddb39330c262e495a33592d0340713d83
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2017-02-10 20:54:34 +02:00
Bogdan Davidoaia
5b02ba8319 kw41z: add base DTS support
This patch adds the base DTS support for the KW41Z Freedom board. The
initial set of changes include SRAM, FLASH, IRQ controller and LPUART
support.

Change-Id: Ic68c4959ddad0c5cfe70d5576a0e58372b93ec9d
Signed-off-by: Bogdan Davidoaia <bogdan.davidoaia@linaro.org>
2017-02-10 18:14:05 +00:00
Vincenzo Frascino
0da2a03234 v2m_beetle: uart: Add DTS support to UART driver
This patch adds DTS support to the ARM CMSDK UART driver.  The DTS
currently specifies the IRQ, IRQ PRIO, and base address of the port.

Change-Id: I8e5bc81c013958be4297d563495bf126b53a83a9
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2017-02-10 18:14:04 +00:00
Vincenzo Frascino
ae5dbe47f6 arm: dts: Add base DTS support for v2m_beetle
This patch adds the base DTS support for the V2M Beetle board.  The
initial set of changes include SRAM, FLASH, and IRQ controller support.

Change-Id: I06685622b9c57ac358544c71350074ce06e3371e
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2017-02-10 18:14:03 +00:00
Andy Gross
670aa0cc99 stm32: uart: Add DTS support to STM32 UART driver
This patch adds device tree support to the STM32 UART driver.  The base
address, interrupt, and interrupt priority values can now come from DTS.

Change-Id: I3c383da8b200037601ecb2dc087f99ef103761bb
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2017-02-10 18:14:02 +00:00
Erwan Gouriou
1e92c22a13 nucleo_l476rg: Enable device tree usage for Nucleo
This patch adds all the necessary changes to enable use of DTS for
generating required build information.

Change-Id: Ia476fbb14c7d9d6b9db3340c73f599556a880da3
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2017-02-10 18:14:02 +00:00