Commit graph

41161 commits

Author SHA1 Message Date
Kumar Gala
7fb0e36060 tests: sprintf: cleanup to work with newlib
newlib doesn't implement the internal buffer the same way that minimal
libc does, so only run that check with min libc (ie !CONFIG_NEWLIB_LIBC).
Also, reported the length we did get if the buffer is to big.  Finally
include <stdarg.h> since we are dealing with va_lists and such.

Change-Id: I6b23e448e5785df978ac8c2757099e2b8aaace54
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-04-18 00:27:33 +00:00
Kumar Gala
e60af3be66 drivers/sensor: Convert formatter strings to use PRI defines
To allow for various libc implementations (like newlib) in which the way
various {u}int{8,16,32}_t types are defined vary between both libc
implementations and across architectures we need to utilize the PRI
defines.

Change-Id: I69e60e3823028389b314adaf6e279fd47fde1182
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-04-17 11:09:36 -05:00
Kumar Gala
da8bff6b20 arch: Convert formatter strings to use PRI defines
To allow for various libc implementations (like newlib) in which the way
various {u}int{8,16,32}_t types are defined vary between both libc
implementations and across architectures we need to utilize the PRI
defines.

Change-Id: Ic4e65db52c8d693228cf80584283d4d06e68b5ad
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-04-17 11:09:36 -05:00
Kumar Gala
7b9dc107a8 kernel: Convert formatter strings to use PRI defines
To allow for various libc implementations (like newlib) in which the way
various {u}int{8,16,32}_t types are defined vary between both libc
implementations and across architectures we need to utilize the PRI
defines.

Change-Id: Ie884fb67015502288152ecbd64c37961a4f538e4
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-04-17 11:09:36 -05:00
Kumar Gala
ddece1ccd4 kernel: include inttypes.h to get access to PRI defines in most spots
We need to move using the PRI* defines to use newlib as the default libc
as different arch's define various base types like {u}int32_t
differently.  To deal with that in a consistent manor we need access to
the defines in most spots for print{f,k} or logging functions.

Change-Id: Ic1fbef75cbaee211803d9aaf506056e5e31e73f3
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-04-17 11:09:31 -05:00
Kumar Gala
ab8a3b2c0d tests: app_kernel: limit to systems with >32K of memory
We need a bit over 32k of memory to build/run the app_kernel benchmarks.

Change-Id: Iddfeb073f8ea87dc6323775a288b83efa88fdaea
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-04-14 16:12:57 -05:00
Kumar Gala
ab1555ef9a drivers: display: mb_display: Add include of toolchain.h for __printf_like
When we build with newlib __printf_like is already defined so we run
into issues.  We should include toolchain.h to properly handle this.

Change-Id: Ia961a9f1d3f7bf965e4115eb93a7ba6a62220905
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-04-14 19:28:49 +00:00
Kumar Gala
21309ea44b lib: json: use explicit unsigned char to avoid array subscript error
If we use newlib the isdigit (and other similar functions) return an
error as char can possibly be viewed as signed:

usr/include/ctype.h:57:54: error: array subscript has type ‘char’ [-Werror=char-subscripts]
 #define __ctype_lookup(__c) ((__ctype_ptr__+sizeof(""[__c]))[(int)(__c)])

Being explicit about the char being unsigned char deals with this.

Change-Id: If2416218220ef5b29f1a69470cbcc6b4fd49ef86
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-04-14 19:03:41 +00:00
Anas Nashif
4c80a2fb71 tests: crypto: disable 2 tests that are ridiculously slow
Change-Id: I54194c06a1f3dfe1412dbfff50e9866134cf881a
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-04-14 10:42:29 -04:00
Anas Nashif
e8abb973e1 tests: app_kernel: enable ARM for this benchmark
Change-Id: I7d45bd5e84f174a951170c7b4ab464110976a00f
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-04-14 10:42:29 -04:00
Anas Nashif
e521d6e888 tests: remove legacy tag from ported tests
Change-Id: I77484a704062013577417e7d05ad65cf268d74b2
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-04-14 10:42:29 -04:00
Kumar Gala
360b48d632 Merge arm branch into master
Main changes:

- Device tree support for all STM32 based SoC/Boards
- Support for NXP KW40Z SoC & hexiwear_kw40z board
- Atmel SAM I2C, UART & GPIO drivers
- Some various Nordic SoC platform cleanups

----------------------------------------------------------------
Erwan Gouriou (6):
      dts: provide stm32 soc dtsi files for stm32 base boards
      dts: add dts for nucleo boards
      dts: provide dts for stm32 eval boards
      dts: provide dts files for non st stm32 based boards
      drivers: i2c: stm32: fix i2c_2 instance config
      drivers: pinmux: stm32l4 fix

Gustavo Denardin (2):
      arm: Support for MKL25Z soc
      arm: GPIO driver modifications for MKL25Z soc support

Kumar Gala (15):
      dts: arm: Introduce st/mem.h for FLASH & SRAM sizes
      sanitcheck: add nrf52_blenano2
      serial: mcux: remove bits related to !HAS_DTS
      dts: arm: st: Make flash/sram sizes human readable
      dts: arm: st: Add additional SoCs into mem.h
      dts: arm: ST: Cleanup DTS bits on STM32L4 SoCs
      arm: dts: st: Convert STM32F4 based boards to dts
      arm: dts: st: Convert STM32F1 based boards to dts
      arm: dts: st: Convert STM32F3 based boards to dts
      serial: stm32: remove bits related to !HAS_DTS
      arm: st: dts: remove last !HAS_DTS from stm32 SoCs
      arm: nxp: kl2x: remove HAS_DTS references
      arm: nrf52: Introduce NRF52 SoC Specific config options
      arm: curie_ble: Report curie_ble as a unique board
      arm: dts: Add DTS support for NRF52832 SoC

Maureen Helm (6):
      ext: mcux: Import ksdk 1.3 device header files for kw40z
      ext: mcux: Adapt ksdk 1.3 for kw40z to work with mcux 2.x drivers
      kw40z: Add kw40z SoC
      hexiwear_kw40z: Add hexiwear_kw40z board
      samples: nfc_hello: Add CONFIG_SERIAL=y to project conf
      sanitycheck: Add hexiwear_kw40z

Piotr Mienkowski (3):
      drivers: Add Atmel SAM family I2C (TWIHS) driver
      drivers: Add Atmel SAM serial (UART) driver
      drivers: Extend Atmel SAM GPIO driver

 arch/arm/soc/atmel_sam/common/soc_gpio.h           |    49 +-
 arch/arm/soc/atmel_sam/same70/soc_pinmap.h         |    60 +-
 ...ig.nrf52832 => Kconfig.defconfig.nrf52832_QFAA} |     8 +-
 ...ig.nrf52840 => Kconfig.defconfig.nrf52840_QIAA} |     6 +-
 .../soc/nordic_nrf5/nrf52/Kconfig.defconfig.series |     2 +
 arch/arm/soc/nordic_nrf5/nrf52/Kconfig.soc         |    18 +-
 arch/arm/soc/nxp_kinetis/Kconfig                   |     1 +
 .../soc/nxp_kinetis/kl2x/Kconfig.defconfig.mkl25z4 |    60 +
 .../soc/nxp_kinetis/kl2x/Kconfig.defconfig.series  |    15 +
 arch/arm/soc/nxp_kinetis/kl2x/Kconfig.series       |    16 +
 arch/arm/soc/nxp_kinetis/kl2x/Kconfig.soc          |    78 +
 arch/arm/soc/nxp_kinetis/kl2x/Makefile             |     8 +
 arch/arm/soc/nxp_kinetis/kl2x/linker.ld            |    31 +
 arch/arm/soc/nxp_kinetis/kl2x/soc.c                |   127 +
 arch/arm/soc/nxp_kinetis/kl2x/soc.h                |    65 +
 .../soc/nxp_kinetis/kwx/Kconfig.defconfig.mkw40z4  |    60 +
 arch/arm/soc/nxp_kinetis/kwx/Kconfig.soc           |    14 +
 arch/arm/soc/st_stm32/Kconfig.defconfig            |    12 -
 .../soc/st_stm32/stm32f1/Kconfig.defconfig.series  |     6 -
 .../st_stm32/stm32f1/Kconfig.defconfig.stm32f103xb |     8 -
 .../st_stm32/stm32f1/Kconfig.defconfig.stm32f103xe |     6 -
 .../st_stm32/stm32f1/Kconfig.defconfig.stm32f107xc |     6 -
 .../soc/st_stm32/stm32f3/Kconfig.defconfig.series  |    10 -
 .../st_stm32/stm32f3/Kconfig.defconfig.stm32f303xc |     6 -
 .../st_stm32/stm32f3/Kconfig.defconfig.stm32f334x8 |     6 -
 .../st_stm32/stm32f3/Kconfig.defconfig.stm32f373xc |     6 -
 .../soc/st_stm32/stm32f4/Kconfig.defconfig.series  |    10 -
 .../st_stm32/stm32f4/Kconfig.defconfig.stm32f401xe |     6 -
 .../st_stm32/stm32f4/Kconfig.defconfig.stm32f407xx |     6 -
 .../st_stm32/stm32f4/Kconfig.defconfig.stm32f411xe |     6 -
 .../st_stm32/stm32f4/Kconfig.defconfig.stm32f429xx |     6 -
 .../soc/st_stm32/stm32l4/Kconfig.defconfig.series  |     6 -
 .../st_stm32/stm32l4/Kconfig.defconfig.stm32l476xx |     9 -
 boards/arm/96b_carbon/96b_carbon_defconfig         |     4 +-
 boards/arm/96b_nitrogen/Kconfig.board              |     2 +-
 boards/arm/curie_ble/Kconfig.defconfig             |     4 +-
 boards/arm/hexiwear_kw40z/Kconfig.board            |    11 +
 boards/arm/hexiwear_kw40z/Kconfig.defconfig        |    65 +
 boards/arm/hexiwear_kw40z/Makefile                 |    10 +
 boards/arm/hexiwear_kw40z/board.h                  |    12 +
 boards/arm/hexiwear_kw40z/doc/hexiwear_kw40z.rst   |   203 +
 boards/arm/hexiwear_kw40z/hexiwear_kw40z_defconfig |    12 +
 boards/arm/hexiwear_kw40z/pinmux.c                 |    37 +
 boards/arm/nrf52840_pca10056/Kconfig.board         |     2 +-
 .../nrf52840_pca10056/nrf52840_pca10056_defconfig  |     2 +-
 boards/arm/nrf52_blenano2/Kconfig.board            |     2 +-
 boards/arm/nrf52_blenano2/nrf52_blenano2_defconfig |     2 +-
 boards/arm/nrf52_pca10040/Kconfig.board            |     2 +-
 boards/arm/nrf52_pca10040/nrf52_pca10040_defconfig |     2 +-
 boards/arm/nucleo_f103rb/nucleo_f103rb_defconfig   |     4 +-
 boards/arm/nucleo_f334r8/nucleo_f334r8_defconfig   |     4 +-
 boards/arm/nucleo_f401re/nucleo_f401re_defconfig   |     4 +-
 boards/arm/nucleo_f411re/nucleo_f411re_defconfig   |     4 +-
 boards/arm/nucleo_l476rg/nucleo_l476rg_defconfig   |     1 -
 .../arm/olimexino_stm32/olimexino_stm32_defconfig  |     1 -
 .../arm/sam_e70_xplained/doc/sam_e70_xplained.rst  |     4 +
 boards/arm/stm3210c_eval/stm3210c_eval_defconfig   |     4 +-
 boards/arm/stm32373c_eval/stm32373c_eval_defconfig |     4 +-
 boards/arm/stm32_mini_a15/stm32_mini_a15_defconfig |     4 +-
 drivers/gpio/gpio_mcux.c                           |    52 +
 drivers/i2c/Kconfig                                |     7 +
 drivers/i2c/Makefile                               |     1 +
 drivers/i2c/i2c_stm32lx.c                          |     2 +-
 drivers/i2c/twihs_sam.c                            |   391 +
 drivers/pinmux/stm32/pinmux_stm32l4x.h             |     1 +
 drivers/serial/Kconfig                             |     2 +
 drivers/serial/Kconfig.mcux                        |    72 -
 drivers/serial/Kconfig.mcux_lpuart                 |    12 -
 drivers/serial/Kconfig.nrf5                        |     2 +
 drivers/serial/Kconfig.stm32                       |    50 -
 drivers/serial/Kconfig.uart_sam                    |   176 +
 drivers/serial/Makefile                            |     1 +
 drivers/serial/uart_sam.c                          |   274 +
 drivers/serial/uart_stm32.c                        |    41 -
 dts/arm/96b_carbon.dts                             |    29 +
 dts/arm/96b_carbon.fixup                           |    19 +
 dts/arm/Makefile                                   |    10 +
 dts/arm/hexiwear_kw40z.dts                         |    28 +
 dts/arm/hexiwear_kw40z.fixup                       |     4 +
 dts/arm/nordic/mem.h                               |    31 +
 dts/arm/nordic/nrf52832.dtsi                       |    31 +
 dts/arm/nucleo_f103rb.dts                          |    24 +
 dts/arm/nucleo_f103rb.fixup                        |    13 +
 dts/arm/nucleo_f334r8.dts                          |    24 +
 dts/arm/nucleo_f334r8.fixup                        |    13 +
 dts/arm/nucleo_f401re.dts                          |    29 +
 dts/arm/nucleo_f401re.fixup                        |    19 +
 dts/arm/nucleo_f411re.dts                          |    29 +
 dts/arm/nucleo_f411re.fixup                        |    19 +
 dts/arm/nucleo_l476rg.dts                          |    20 +-
 dts/arm/nxp/nxp_kw40z.dtsi                         |   185 +
 dts/arm/olimexino_stm32.dts                        |    19 +-
 dts/arm/st/mem.h                                   |    43 +
 dts/arm/st/stm32f103Xb.dtsi                        |    48 +
 dts/arm/st/stm32f103Xe.dtsi                        |    48 +
 dts/arm/st/stm32f103xb.dtsi                        |    97 -
 dts/arm/st/stm32f107.dtsi                          |    45 +
 dts/arm/st/stm32f334.dtsi                          |    45 +
 dts/arm/st/stm32f373.dtsi                          |    45 +
 dts/arm/st/stm32f4.dtsi                            |    45 +
 dts/arm/st/stm32f401.dtsi                          |     7 +
 dts/arm/st/stm32f411.dtsi                          |     7 +
 dts/arm/st/stm32l476.dtsi                          |    82 +-
 dts/arm/stm3210c_eval.dts                          |    24 +
 dts/arm/stm3210c_eval.fixup                        |    13 +
 dts/arm/stm32373c_eval.dts                         |    24 +
 dts/arm/stm32373c_eval.fixup                       |    13 +
 dts/arm/stm32_mini_a15.dts                         |    24 +
 dts/arm/stm32_mini_a15.fixup                       |    13 +
 dts/arm/yaml/nordic,nrf-uart.yaml                  |    30 +
 dts/arm/yaml/nordic,nrf-uarte.yaml                 |    30 +
 ext/hal/nxp/mcux/README                            |     8 +-
 ext/hal/nxp/mcux/devices/MKW20Z4/MKW20Z4.h         | 13769 +++++++++++
 .../nxp/mcux/devices/MKW20Z4/MKW20Z4_features.h    |  1350 ++
 .../mcux/devices/MKW20Z4/fsl_device_registers.h    |    56 +
 ext/hal/nxp/mcux/devices/MKW20Z4/system_MKW20Z4.c  |   296 +
 ext/hal/nxp/mcux/devices/MKW20Z4/system_MKW20Z4.h  |   294 +
 ext/hal/nxp/mcux/devices/MKW30Z4/MKW30Z4.h         | 13769 +++++++++++
 .../nxp/mcux/devices/MKW30Z4/MKW30Z4_features.h    |  1350 ++
 .../mcux/devices/MKW30Z4/fsl_device_registers.h    |    56 +
 ext/hal/nxp/mcux/devices/MKW30Z4/system_MKW30Z4.c  |   296 +
 ext/hal/nxp/mcux/devices/MKW30Z4/system_MKW30Z4.h  |   294 +
 ext/hal/nxp/mcux/devices/MKW40Z4/MKW40Z4.h         | 13769 +++++++++++
 ext/hal/nxp/mcux/devices/MKW40Z4/MKW40Z4.svd       | 23338 +++++++++++++++++++
 .../nxp/mcux/devices/MKW40Z4/MKW40Z4_features.h    |  1350 ++
 ext/hal/nxp/mcux/devices/MKW40Z4/fsl_clock.c       |     1 +
 ext/hal/nxp/mcux/devices/MKW40Z4/fsl_clock.h       |     1 +
 .../mcux/devices/MKW40Z4/fsl_device_registers.h    |    56 +
 ext/hal/nxp/mcux/devices/MKW40Z4/system_MKW40Z4.c  |   296 +
 ext/hal/nxp/mcux/devices/MKW40Z4/system_MKW40Z4.h  |   294 +
 samples/nfc/nfc_hello/prj.conf                     |     1 +
 scripts/sanity_chk/arches/arm.ini                  |     3 +-
 132 files changed, 73563 insertions(+), 536 deletions(-)
 rename arch/arm/soc/nordic_nrf5/nrf52/{Kconfig.defconfig.nrf52832 => Kconfig.defconfig.nrf52832_QFAA} (75%)
 rename arch/arm/soc/nordic_nrf5/nrf52/{Kconfig.defconfig.nrf52840 => Kconfig.defconfig.nrf52840_QIAA} (79%)
 create mode 100644 arch/arm/soc/nxp_kinetis/kl2x/Kconfig.defconfig.mkl25z4
 create mode 100644 arch/arm/soc/nxp_kinetis/kl2x/Kconfig.defconfig.series
 create mode 100644 arch/arm/soc/nxp_kinetis/kl2x/Kconfig.series
 create mode 100644 arch/arm/soc/nxp_kinetis/kl2x/Kconfig.soc
 create mode 100644 arch/arm/soc/nxp_kinetis/kl2x/Makefile
 create mode 100644 arch/arm/soc/nxp_kinetis/kl2x/linker.ld
 create mode 100644 arch/arm/soc/nxp_kinetis/kl2x/soc.c
 create mode 100644 arch/arm/soc/nxp_kinetis/kl2x/soc.h
 create mode 100644 arch/arm/soc/nxp_kinetis/kwx/Kconfig.defconfig.mkw40z4
 create mode 100644 boards/arm/hexiwear_kw40z/Kconfig.board
 create mode 100644 boards/arm/hexiwear_kw40z/Kconfig.defconfig
 create mode 100644 boards/arm/hexiwear_kw40z/Makefile
 create mode 100644 boards/arm/hexiwear_kw40z/board.h
 create mode 100644 boards/arm/hexiwear_kw40z/doc/hexiwear_kw40z.rst
 create mode 100644 boards/arm/hexiwear_kw40z/hexiwear_kw40z_defconfig
 create mode 100644 boards/arm/hexiwear_kw40z/pinmux.c
 create mode 100644 drivers/i2c/twihs_sam.c
 create mode 100644 drivers/serial/Kconfig.uart_sam
 create mode 100644 drivers/serial/uart_sam.c
 create mode 100644 dts/arm/96b_carbon.dts
 create mode 100644 dts/arm/96b_carbon.fixup
 create mode 100644 dts/arm/hexiwear_kw40z.dts
 create mode 100644 dts/arm/hexiwear_kw40z.fixup
 create mode 100644 dts/arm/nordic/mem.h
 create mode 100644 dts/arm/nordic/nrf52832.dtsi
 create mode 100644 dts/arm/nucleo_f103rb.dts
 create mode 100644 dts/arm/nucleo_f103rb.fixup
 create mode 100644 dts/arm/nucleo_f334r8.dts
 create mode 100644 dts/arm/nucleo_f334r8.fixup
 create mode 100644 dts/arm/nucleo_f401re.dts
 create mode 100644 dts/arm/nucleo_f401re.fixup
 create mode 100644 dts/arm/nucleo_f411re.dts
 create mode 100644 dts/arm/nucleo_f411re.fixup
 create mode 100644 dts/arm/nxp/nxp_kw40z.dtsi
 create mode 100644 dts/arm/st/mem.h
 create mode 100644 dts/arm/st/stm32f103Xb.dtsi
 create mode 100644 dts/arm/st/stm32f103Xe.dtsi
 delete mode 100644 dts/arm/st/stm32f103xb.dtsi
 create mode 100644 dts/arm/st/stm32f107.dtsi
 create mode 100644 dts/arm/st/stm32f334.dtsi
 create mode 100644 dts/arm/st/stm32f373.dtsi
 create mode 100644 dts/arm/st/stm32f4.dtsi
 create mode 100644 dts/arm/st/stm32f401.dtsi
 create mode 100644 dts/arm/st/stm32f411.dtsi
 create mode 100644 dts/arm/stm3210c_eval.dts
 create mode 100644 dts/arm/stm3210c_eval.fixup
 create mode 100644 dts/arm/stm32373c_eval.dts
 create mode 100644 dts/arm/stm32373c_eval.fixup
 create mode 100644 dts/arm/stm32_mini_a15.dts
 create mode 100644 dts/arm/stm32_mini_a15.fixup
 create mode 100644 dts/arm/yaml/nordic,nrf-uart.yaml
 create mode 100644 dts/arm/yaml/nordic,nrf-uarte.yaml
 create mode 100644 ext/hal/nxp/mcux/devices/MKW20Z4/MKW20Z4.h
 create mode 100644 ext/hal/nxp/mcux/devices/MKW20Z4/MKW20Z4_features.h
 create mode 100644 ext/hal/nxp/mcux/devices/MKW20Z4/fsl_device_registers.h
 create mode 100644 ext/hal/nxp/mcux/devices/MKW20Z4/system_MKW20Z4.c
 create mode 100644 ext/hal/nxp/mcux/devices/MKW20Z4/system_MKW20Z4.h
 create mode 100644 ext/hal/nxp/mcux/devices/MKW30Z4/MKW30Z4.h
 create mode 100644 ext/hal/nxp/mcux/devices/MKW30Z4/MKW30Z4_features.h
 create mode 100644 ext/hal/nxp/mcux/devices/MKW30Z4/fsl_device_registers.h
 create mode 100644 ext/hal/nxp/mcux/devices/MKW30Z4/system_MKW30Z4.c
 create mode 100644 ext/hal/nxp/mcux/devices/MKW30Z4/system_MKW30Z4.h
 create mode 100644 ext/hal/nxp/mcux/devices/MKW40Z4/MKW40Z4.h
 create mode 100644 ext/hal/nxp/mcux/devices/MKW40Z4/MKW40Z4.svd
 create mode 100644 ext/hal/nxp/mcux/devices/MKW40Z4/MKW40Z4_features.h
 create mode 100644 ext/hal/nxp/mcux/devices/MKW40Z4/fsl_clock.c
 create mode 100644 ext/hal/nxp/mcux/devices/MKW40Z4/fsl_clock.h
 create mode 100644 ext/hal/nxp/mcux/devices/MKW40Z4/fsl_device_registers.h
 create mode 100644 ext/hal/nxp/mcux/devices/MKW40Z4/system_MKW40Z4.c
 create mode 100644 ext/hal/nxp/mcux/devices/MKW40Z4/system_MKW40Z4.h

Change-Id: I8d3fcd3ff46b33f5cc622b65e09da513b483fc3b
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-04-14 06:53:54 -05:00
Kumar Gala
4ada031fb5 unit: Fixup crc unit test for zassert change
We renamed ztest's assert to zassert and the crc test case wasn't
updated to match so it doesn't build.

Change-Id: I67cd5bb6eef0875f31b8825d5c3aa5e1fa46af04
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-04-14 06:08:27 -05:00
Piotr Mienkowski
929c159262 drivers: Extend Atmel SAM GPIO driver
Add soc_gpio_get(), soc_gpio_debounce_length_set() functions to Atmel
SAM soc_gpio driver.

Change-Id: I541c6fead9a308dd2e67c59dabe67b87cf1628ef
Signed-off-by: Piotr Mienkowski <piotr.mienkowski@gmail.com>
2017-04-14 05:56:54 -05:00
Piotr Mienkowski
34c16ad2f7 drivers: Add Atmel SAM serial (UART) driver
Added serial (UART) driver for Atmel SAM MCU family.

Note:
- Error handling is not implemented
- The driver works only in polling mode, interrupt mode is
  not implemented.

Tested on Atmel SMART SAM E70 Xplained board

Origin: Original

Jira: ZEP-1959
Change-Id: I3e770fd1feb2ddf92cf405a9aa17be92eb32e19b
Signed-off-by: Piotr Mienkowski <piotr.mienkowski@gmail.com>
2017-04-14 05:56:54 -05:00
Piotr Mienkowski
5c83e3817d drivers: Add Atmel SAM family I2C (TWIHS) driver
Added I2C bus (TWIHS) driver for Atmel SAM MCU family. Only
I2C Master Mode with 7 bit addressing is currently supported.

Tested on Atmel SMART SAM E70 Xplained board

Origin: Original

Jira: ZEP-1866
Change-Id: Ic5aa7b6b21295feccae883d580b38bbeaf2ce291
Signed-off-by: Piotr Mienkowski <piotr.mienkowski@gmail.com>
2017-04-14 05:56:54 -05:00
Kumar Gala
77f65b907f arm: dts: Add DTS support for NRF52832 SoC
Add plumbing to build system and SoC level dtsi for the NRF52832 SoC.
We additionally add the necessary yaml files for the UART on the NRF52
SoCs.

Change-Id: I3b4a821b2993827e33d8e84bdbbc759d1521f8bd
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-04-14 05:56:54 -05:00
Kumar Gala
edb3ad6b89 arm: curie_ble: Report curie_ble as a unique board
CONFIG_BOARD was set to arduino_101_ble instead of curie_ble.  Fix this
so the BOARD_NAME, BOARD, board dir, all are in sync.

Change-Id: I5f2a4f1aeec7c20f042e11b96e1c87883ad4df4b
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-04-14 05:56:54 -05:00
Kumar Gala
6959c4516e arm: nrf52: Introduce NRF52 SoC Specific config options
Introduce SoC specific config options similar to what exists on NRF51,
this is mostly to help distinguish between SRAM & Flash sizes on
different variants.

Also deleted some unnecessary setting of CONFIG_SOC_NRF528{32,40} in the
board defconfig files.

Change-Id: I3aaedf0c15423ae12636f87b8e6a39070cbb2c6f
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-04-14 05:56:54 -05:00
Maureen Helm
14ca99af1e sanitycheck: Add hexiwear_kw40z
Jira: ZEP-1391
Change-Id: I32d0acfc03c57b305667746e9d8315100dec6833
Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-04-14 05:56:53 -05:00
Maureen Helm
1928632a97 samples: nfc_hello: Add CONFIG_SERIAL=y to project conf
Most boards enable a serial driver by default, but the hexiwear_kw40z
does not because it uses Segger RTT for the console. This sample
requires a serial driver, so add CONFIG_SERIAL=y to its project conf
file.

Jira: ZEP-1391
Change-Id: Iee813d1054378040fe9ff72a3ca1ea7bd66bcdfe
Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-04-14 05:56:53 -05:00
Maureen Helm
8dd59f3d49 hexiwear_kw40z: Add hexiwear_kw40z board
Adds initial support and documentation for the kw40z on the hexiwear
board.

Jira: ZEP-1391
Change-Id: Idb58bfb3c2951b1f737a8c547860bde4ef4d9a3e
Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-04-14 05:56:53 -05:00
Maureen Helm
f487b208dd kw40z: Add kw40z SoC
Adds initial support for the kw40z SoC. This SoC has all the same
peripherals as the kw41z but with less flash and ram, so the defconfig
and dts are nearly the same.

Jira: ZEP-1388
Change-Id: Ib804451e8c2c71c4ff7d342bf23f6567d1542a2d
Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-04-14 05:56:53 -05:00
Maureen Helm
b9e209e4fc ext: mcux: Adapt ksdk 1.3 for kw40z to work with mcux 2.x drivers
Reuses the kw41z clock driver for kw40z via preprocessor includes.
Copies the kw41z fsl_device_registers.h to kw40z and subset devices with
minor modifications for each device.

Jira: ZEP-1388
Change-Id: Ifae16eb9b7e7d18fc13c22dc51887fc1d8a5e21d
Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-04-14 05:56:53 -05:00
Maureen Helm
4c24c8343d ext: mcux: Import ksdk 1.3 device header files for kw40z
Imports device header files for the kw40z and its subset devices (kw30z,
kw20z) from the Kinetis SDK 1.3. The kw40z has all the same peripherals
as the kw41z but less flash and ram, therefore we can use the MCUXpresso
SDK 2.x drivers for kw41z with the KSDK device header files for the
kw40z.

Origin: https://www.nxp.com/webapp/Download?colCode=KW40Z-CONNECTIVITY-SOFTWARE&appType=license&Parent_
Maintained-by: External

Jira: ZEP-1388
Change-Id: I30b283a0c9dd4f88b8c21c03814dcdff76b684c4
Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2017-04-14 05:56:53 -05:00
Gustavo Denardin
4951340829 arm: GPIO driver modifications for MKL25Z soc support
The MKL25Z soc do not support irqs in PORTB, PORTC and PORTE.
This is a patch to not enable irq if such ports are enabled.

Change-Id: I7b0b308504fcea47714fee8f2913baf336c4aa7d
Signed-off-by: Gustavo Denardin <gustavo.denardin@gmail.com>
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-04-14 05:56:53 -05:00
Kumar Gala
b0ae518933 arm: nxp: kl2x: remove HAS_DTS references
The KL2x support requires DTS so we can remove any !HAS_DTS references.
Also NUM_IRQS shouldn't have been in a !HAS_DTS ifdef block.

Change-Id: I12b0781b6eef100bfb0a94698d12fc519c759888
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-04-14 05:56:53 -05:00
Erwan Gouriou
5033bb3ce2 drivers: pinmux: stm32l4 fix
Fix missing define following recent file clean up.

Change-Id: I6ec64098b91324f50c035f410fa3e1beb9aface4
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-04-14 05:56:53 -05:00
Kumar Gala
4d5dcb1916 arm: st: dts: remove last !HAS_DTS from stm32 SoCs
Since all STM32 SoCs are using device tree we can remove this last bit
of !HAS_DTS for getting flash/sram sizes from Kconfig.

Change-Id: I9e706b7aba7c0edcf9fca3ddc0ddc7d820980b47
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-04-14 05:56:53 -05:00
Kumar Gala
621ba596b9 serial: stm32: remove bits related to !HAS_DTS
Now that all STM32 platforms are using device tree we can remove the
handling for !HAS_DTS from the serial driver.

Change-Id: Ifafc283f2509dd9a438f321e0b647720d4f13810
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-04-14 05:56:53 -05:00
Kumar Gala
fd733ca8f1 arm: dts: st: Convert STM32F3 based boards to dts
Converted over all STM32F3 based boards to use device tree and removed
associated bits that now come from the device tree for STM32F3.

Boards that are now using devicetree:
* Nucleo f334r8
* STM32373C Eval

Change-Id: I081a1d83f86e417a98b6864c745354b6b32953b7
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-04-14 05:56:53 -05:00
Kumar Gala
51ccb58dbb arm: dts: st: Convert STM32F1 based boards to dts
Converted over all STM32F1 based boards to use device tree and removed
associated bits that now come from the device tree for STM32F1.  Also
renamed the STM32F10{3,7} SoC dtsi to try and make it clear that the 'X'
is a place holder.  Fixedup the top level compatiables in the boards to
be the specific 'X' instead of the generic one.

Boards that are now using devicetree:
* Nucleo f103rb
* STM3210C Eval
* STM32 MINI A15

Change-Id: I29b3634ec7451f974687d55980414efa655e2e96
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-04-14 05:56:53 -05:00
Kumar Gala
38cda7f813 arm: dts: st: Convert STM32F4 based boards to dts
Converted over all STM32F4 based boards to use device tree and removed
associated bits that now come from the device tree for STM32F4.

Boards that are now using devicetree:
* 96b_carbon
* nucleo f401re
* nucleo f411re

Change-Id: Ibe197ca0a3f5ad78d594485a578d986403cc824a
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-04-14 05:56:53 -05:00
Kumar Gala
df21ab8541 dts: arm: ST: Cleanup DTS bits on STM32L4 SoCs
Since all the L4 SoCs are using DTS we can remove the various Kconfig
bits that we now get from DTS.

Change-Id: Icdec49b478ff285dc3347b09412964a721f75bbf
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-04-14 05:56:53 -05:00
Kumar Gala
6fe33684d5 dts: arm: st: Add additional SoCs into mem.h
Updated st/mem.h to support the following SoCs:

CONFIG_SOC_STM32F303XC
CONFIG_SOC_STM32F407XX
CONFIG_SOC_STM32F429XX

Change-Id: I1654c1fd8dc0d1eb471c092777a8fd262465dc51
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-04-14 05:56:53 -05:00
Kumar Gala
a125bb4483 dts: arm: st: Make flash/sram sizes human readable
Introduce a __SIZE_K macro to make things a bit more human readable.
Also fixed up sizes for CONFIG_SOC_STM32F411XE.

Change-Id: I01b8b5f627ad949c2af01ee966428bfabe09e2ee
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-04-14 05:56:53 -05:00
Kumar Gala
27d74d8ad2 serial: mcux: remove bits related to !HAS_DTS
Now that all NXP MCUX platforms are using device tree we can remove the
handling for !HAS_DTS from the serial drivers.

Change-Id: I05185142afa7fae83ce68de954202829868af88f
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-04-14 05:56:53 -05:00
Erwan Gouriou
b8297e8fb8 drivers: i2c: stm32: fix i2c_2 instance config
Wrong base address has been provided to I2C_2 instance.
Fix this issue for proper behavior

Change-Id: I81e5cb71a5136e742f460db5db39b2adf2f10f2d
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-04-14 05:56:53 -05:00
Kumar Gala
653d2695a7 sanitcheck: add nrf52_blenano2
Change-Id: Ia4f65b027c75d696ae172569e52fc74eb307f715
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-04-14 05:56:53 -05:00
Gustavo Denardin
32e15637af arm: Support for MKL25Z soc
In order to suppport the FRDM-KL25Z board,
it is necessary to make this soc available.

Change-Id: Id93a51dcc9ef58118e27db02c30f662eb73d5adb
Signed-off-by: Gustavo Denardin <gustavo.denardin@gmail.com>
2017-04-14 05:56:53 -05:00
Erwan Gouriou
4ddf525418 dts: provide dts files for non st stm32 based boards
This commits provides dts files for non ST, STM32 based boards.

Change-Id: Ib324ba418fb27ddbce45a60fbe8e73c7b6896aa4
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-04-14 05:56:53 -05:00
Erwan Gouriou
90d81792b7 dts: provide dts for stm32 eval boards
Change-Id: If266feb9b6b22614e7456d6a5136035bd9498320
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-04-14 05:56:52 -05:00
Erwan Gouriou
b2f45a9e91 dts: add dts for nucleo boards
This commit provides dts file for nucleo boards.
For now dtsi files only populates uart nodes so other nodes
are not taken into account into board dts files.

Change-Id: Ide95a8ba3671b91ff0311b7671e77b3bf96db297
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2017-04-14 05:56:52 -05:00
Erwan Gouriou
d899ce16b0 dts: provide stm32 soc dtsi files for stm32 base boards
This commit provides dtsi files for available stm32 base boards.
For now only uart nodes and IRQ number are provided in order to
enable delivery of coherent material.

It also clears additional content from stm32f103xb.dtsi

Change-Id: I62d932c7f22b56e95bcd9566ce39e14a393dd640
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-04-14 05:56:52 -05:00
Kumar Gala
6422cabd87 dts: arm: Introduce st/mem.h for FLASH & SRAM sizes
As there can be a large number of FLASH & SRAM sizes for the same SoC
having a dts/dtsi for each one would be extremely painful.  Lets just
use some #defines to set that FLASH & SRAM sizes based on the SoC that
is being built.

Change-Id: I06388ada4e49ed3d576da31150288512bb6b4485
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2017-04-14 05:56:52 -05:00
Anas Nashif
0ac3a231f1 tests: rename ztests' assert > zassert
Change-Id: Ibccc5da75ad42bc035052e5946f977a49f6a7d2f
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-04-14 00:07:06 -04:00
Piotr Mienkowski
a8de9ff438 drivers: i2c: rename IRQ SHARED/DIRECT Kconfig options
I2C_SHARED_IRQ, I2C_0_IRQ_SHARED, I2C_0_IRQ_DIRECT Kconfig options
are DW driver specific. Its presence is confusing for a user of any
other I2C driver than DW. This patch renames these options to include
DW string and makes it visible only for DW I2C driver. This is a
similar implementation to that used by ETH DW Ethernet driver.

Change-Id: I795506f9b103c028a22317df9ad632dce5cd1343
Signed-off-by: Piotr Mienkowski <piotr.mienkowski@gmail.com>
2017-04-14 01:58:33 +00:00
Piotr Mienkowski
108111fd42 boards: sam_e70_xplained: set GPNVM1 bit when flashing
By default a factory new SAM E70 chip will boot SAM-BA boot loader located in
the ROM, not the flashed image. This is determined by the value of GPNVM1
(General-Purpose NVM bit 1). Updated flash procedure will ensure that GPNVM1
is set to 1 changing the default behavior to boot from Flash.

Change-Id: Ic6334c9d4743a7665fc944e8f49fc1467ecda40d
Signed-off-by: Piotr Mienkowski <piotr.mienkowski@gmail.com>
2017-04-14 01:57:52 +00:00
Andy Gross
4f7c0efce7 dts: kinetis: bluetooth: Make UART port conditional
This patch modifies the DTS file to make the inclusion of the
bluetooth UART port conditional on CONFIG_BLUETOOTH option.

Issue: ZEP-1745

Change-Id: Iea8dc60fe17d131d8e3765e1962b25d157065c67
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2017-04-14 01:53:26 +00:00
Vinayak Chettimada
9584456fc9 drivers: pwm: Add nRF5x GPIOTE based PWM driver
Add support for nRF5x series GPIOTE based PWM driver
implementation.

Provides upto 3 pins/channels using one HF timer, two PPI
channels per pin, and one GPIOTE config per pin.

Change-id: I6056b199ec2cff595ba8fea9f659a0338ed4635b
Signed-off-by: Vinayak Chettimada <vinayak.kariappa.chettimada@nordicsemi.no>
2017-04-14 01:53:07 +00:00