Commit Graph

29 Commits

Author SHA1 Message Date
Baohong Liu b0c28f2d00 drivers: i2c: fix a compilation dependency issue
Fix a compilation warning. Compilation of the i2c driver
requires QMSI dma object file. As a solution, the current
code has "selects DMA_QMSI" in i2c Kconfig. This results
in a compilation warning since "select DMA" is also
required. Adding "select DMA" and "select DMA_QMSI"
together in i2c Kconfig can solve the compilation issue.
But, this will cause the dma driver be unnecessarily
enabled. So, the solution is to fix the issue in the QMSI
part instead of in the shim driver.

Jira: ZEP-777 ZEP-778

Change-Id: Id4c1f749bf71eece1e70583bd586a69b596768b2
Signed-off-by: Baohong Liu <baohong.liu@intel.com>
2016-09-10 11:29:49 +00:00
Maureen Helm e4067638b7 i2c: ksdk: Add shim driver
Add a shim layer around the ksdk I2C driver to adapt it to the Zephyr
I2C interface. Currently only supports master mode.

Jira: ZEP-717
Change-Id: I704b8c38e22e456bb9fa4325682b2a354a27a7ba
Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2016-09-07 14:40:20 +00:00
Maureen Helm ec39b21670 ksdk: Import Kinetis SDK ethernet phy driver
This driver was not included in the original ksdk import, but is needed
to use the ksdk ethernet mac driver.

Origin: NXP KSDK 2.0
URL: kex.nxp.com
Maintained-by: External

Change-Id: Id56037f9c8255dcc18f3eb6792080ace8c7eacd3
Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2016-08-31 12:49:14 +00:00
Ricardo Salveti 108c6810f1 ext: Import nRF51 files from Nordic MDK
Include the required files for nRF51. This is to prepare the basic build
infrastructure for nRF51.

Origin: Nordic MDK 8.6.1
URL: https://www.nordicsemi.com/eng/nordic/Products/nRF51822/nRF5x-MDK-Pack/48803
Maintained-by: External

Change-Id: Ie594984cc26acdcefac9f6f6a6748ba673ea261c
Signed-off-by: Ricardo Salveti <ricardo.salveti@linaro.org>
2016-08-31 10:40:00 +00:00
Maureen Helm b4cd379209 ksdk: Compile the ksdk clock driver
Jira: ZEP-715
Change-Id: Ic48dd7e4a59c7e14186287d57e7837ccf2ff56be
Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2016-08-30 19:40:19 +00:00
Kuo-Lang Tseng 8085078ec4 ext qmsi: Fix broken built-in qmsi build
Update the built-in QMSI build to add qm_flash.c into the default
build due to that the clk.c from QMSI 1.1.0 added a new dependency
on qm_flash file.

(https://gerrit.zephyrproject.org/r/#/c/4000/3/ext/hal/qmsi/drivers/clk.c)

Jira: ZEP-703

Change-Id: I9f64e308cec21477a9b96183dec9ecca37ead373
Signed-off-by: Kuo-Lang Tseng <kuo-lang.tseng@intel.com>
2016-08-15 14:10:04 -07:00
Baohong Liu 3bd79cae93 ext: qmsi: disable tx empty interrupt at the end of rx transfer
Disable tx fifo empty interrupt at the completion of a receive
transfer. If the API caller does not send "STOP" at the end of
a receive transfer, unnecessary tx fifo empty interrupt will
come one by one endlessly.

Jira: ZEP-556

Change-Id: I54739459dfab81c28713f6a3c77789e7903bb7f9
Signed-off-by: Baohong Liu <baohong.liu@intel.com>
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2016-08-12 20:38:09 +00:00
Kuo-Lang Tseng 4f8d7a49d8 ext qmsi: Update to QMSI 1.1.0 release
Update the builtin QMSI code in Zephyr with QMSI 1.1.0
release from Github:.

https://github.com/quark-mcu/qmsi/releases

Remove un-used QMSI library makefiles.

Jira: ZEP-541
Jira: ZEP-543

Change-Id: I25da733b170d3327b5fd6df3be6fa22230266932
Signed-off-by: Kuo-Lang Tseng <kuo-lang.tseng@intel.com>
2016-08-12 20:12:27 +00:00
Andrew Boie 7da98a47a6 Revert "ext qmsi: Update to QMSI 1.1.0 release"
This was merged prematurely.
This reverts commit 758355779c.

Change-Id: I19d27df0b9ea9acf49382d27b5ef6ce49b915542
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2016-08-10 10:43:26 -07:00
Andrew Boie 13378e46e8 Revert "ext: qmsi: disable tx empty interrupt at the end of rx transfer"
The parent commit for this was merged prematurely.
This reverts commit d38208b977.

Change-Id: I4f05f303eac7bdf176fb0522e30eabb839602b25
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2016-08-10 10:42:48 -07:00
Baohong Liu d38208b977 ext: qmsi: disable tx empty interrupt at the end of rx transfer
Disable tx fifo empty interrupt at the completion of a receive
transfer. If the API caller does not send "STOP" at the end of
a receive transfer, unnecessary tx fifo empty interrupt will
come one by one endlessly.

Jira: ZEP-556

Change-Id: I311aba843e28685e8cca36733ac3f1e09b70d900
Signed-off-by: Baohong Liu <baohong.liu@intel.com>
2016-08-11 03:11:50 +00:00
Kuo-Lang Tseng 758355779c ext qmsi: Update to QMSI 1.1.0 release
Update the builtin QMSI code in Zephyr with QMSI 1.1.0
release from Github:.

https://github.com/quark-mcu/qmsi/releases

Remove un-used QMSI library makefiles.

Jira: ZEP-541
Jira: ZEP-543

Signed-off-by: Kuo-Lang Tseng <kuo-lang.tseng@intel.com>
Change-Id: Iab4a9433607fef374a7347da85777f0b03065f2c
2016-08-10 15:59:45 +00:00
Maureen Helm bfb451e5eb ksdk: Fix ARRAY_SIZE conflict
Wrap the ksdk's ARRAY_SIZE macro definition with an ifndef to avoid
conflicting with the same macro in include/misc/util.h.

Change-Id: I102170519857ba6c593c3d3ee96e3394711c625d
Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2016-07-22 15:47:58 +00:00
Iván Briano 3c544a87ec ext qmsi: Build the power states support from QMSI
QMSI provides functions to set the SOC into its various power states,
and for Quark SE it also allows to control the voltage regulator, but
the files with these functions were not being built.

Change-Id: I40f08cdc970eb6696bc5f1d6cd0c407f64bec754
Signed-off-by: Iván Briano <ivan.briano@intel.com>
2016-07-20 19:21:44 +00:00
Iván Briano 4b6a87e48e ext qmsi: Fix registers definition for LPSS
This is fixed in QMSI 1.1 already and this patch can be reverted when
the next released is merged into Zephyr.

Original commit message:
While performing power measurements in LPSS, it appeared that the value
for LPSS registers was incorrect. Fix this value to enable proper entry
in LPSS mode.

Change-Id: Ie6a4aa5c9aa01ebaad0cd2db722bb9b5c87df5e7
Signed-off-by: Julien Delayen <julien.delayen@intel.com>
Signed-off-by: Iván Briano <ivan.briano@intel.com>
2016-07-20 16:24:22 +00:00
Iván Briano c13a9cb02b ext qmsi: Make QMSI headers available to more than just drivers
QMSI provides more than just peripheral drivers, and it may be used
from the SOC or by applications that need finer grained control of the
platform.
This also makes the QMSI HAL consistent with the others.

Change-Id: I27490c98ccf1c1afcc090ce1e65f0e066eddc777
Signed-off-by: Iván Briano <ivan.briano@intel.com>
2016-07-18 18:47:51 +00:00
Jesus Sanchez-Palencia abd7496225 ext qmsi: Update to QMSI 1.1-Beta
QMSI 1.1 Beta is available on Github:
https://github.com/01org/qmsi/releases/tag/v1.1.0-beta

Update the QMSI drop we maintain in Zephyr and
keep the modification to qm_soc_regs.h introduced on commit
6b88a6b945 "ext qmsi: Add USB base and interrupt defines" since
that patch hasn't made into the QMSI 1.1-Beta release in time.

Also, fix the build where needed:
- add hard dependency from qm_i2c to qm_dma
- fix spi_qmsi_ss.c due to new parameter naming
- fix adc_qmsi.c and adc_qmsi_ss.c due to a new parameter

Change-Id: I01388c787f5ee6ee97fece2e42b24a717522207f
Signed-off-by: Jesus Sanchez-Palencia <jesus.sanchez-palencia@intel.com>
Signed-off-by: Kuo-Lang Tseng <kuo-lang.tseng@intel.com>
2016-07-01 13:43:02 -07:00
Adrian Bradianu 6b88a6b945 ext qmsi: Add USB base and interrupt defines
This commit should be reverted when these changes will become part of
QMSI 1.1 release.

Change-Id: I4cc91a10515906e3863bb9be59dbead53bd4a938
Signed-off-by: Adrian Bradianu <adrian.bradianu@windriver.com>
2016-06-30 00:21:39 +00:00
Baohong Liu e4c765f40f drivers: dma: Add QMSI 1.1-based DMA shim driver
Add DMA shim driver based on QMSI 1.1

In order to enable this driver, the following options must
be set.

CONFIG_DMA
CONFIG_DMA_QMSI

Jira: ZEP-354

Origin: Original

Change-Id: I604cbf34e90f7653b956a6e4d428424beee3ef87
Signed-off-by: Baohong Liu <baohong.liu@intel.com>
2016-06-22 16:46:50 +00:00
Maureen Helm 280eadffdd ksdk: Add Makefile support for ksdk device and CPU
Translate the SOC name and part number into the ksdk device path and CPU
macro respectively. This will be used by future ksdk shim drivers and by
the ksdk itself.

Change-Id: I40e94441ee032bfbed7df834be8000d95be53250
Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2016-06-20 17:38:47 +00:00
Maureen Helm 2bf391797b ksdk: Add Kconfig support for the ksdk
Add hidden configuration HAS_KSDK for SoCs to select if they have
support in the ksdk.

Change-Id: Ia4cd11901bc26d21a3bdfad6236d66656bb292cb
Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2016-06-17 19:15:29 +00:00
Carles Cufi a6119ac9b6 ext: Update and extend Nordic MDK header files
Update to version 8.6.0 and include nrf.h and the additional
files it requires for nRF52. This is so drivers targetting the
nRF Family can include nrf.h directly instead of *nrf5*.h

Origin: Nordic MDK 8.6.0
URL: http://www.nordicsemi.com/eng/Products/Bluetooth-Smart-Bluetooth-low-energy/nRF52832
Maintained-by: External

JIRA: ZEP-377
Change-Id: I71ad9828e1cf95e4d6ef09182a24f00e7d9f01ad
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2016-06-03 04:41:26 -07:00
Carles Cufi f81801489a ext: Import Nordic MDK header files
Nordic Semiconductor's Microcontroller Development Kit
provides a set of low-level header files that describe
the different hardware registers and peripherals of
Nordic ICs.

Origin: Nordic MDK 8.5.0
URL: http://www.nordicsemi.com/eng/Products/Bluetooth-Smart-Bluetooth-low-energy/nRF52832
Maintained-by: External

JIRA: ZEP-377
Change-Id: Ia28fbaf7333a84ea7462fb7fd7a5d06661a6fce0
Signed-off-by: Glenn Ruben Bakke <glenn.ruben.bakke@nordicsemi.no>
Signed-off-by: Vinayak Kariappa Chettimada <vinayak.kariappa.chettimada@nordicsemi.no>
Signed-off-by: Håkon Alseth <haakon.alseth@nordicsemi.no>
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2016-05-27 01:38:23 +00:00
Anas Nashif 37b1d1eb55 ext: include headers based on HAL being used
For CMSIS we now have HAS_CMSIS which needs to be added to the
SoC definition.
Instead of changing the main Makefile we now include a sub-Makefile
with all related header and library paths that are hosted in
ext/

Move redifintion of LIB_INCLUDE_DIR later to get variables defined
in Makefile.toolchain.*

Change-Id: I9f90f90247c2a66b4565427b89d4e1d4dd5c9622
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-05-27 01:38:23 +00:00
Kumar Gala 7584a1273f ext: plumb out Kconfig support for external source code
Add missing Kconfig files and connections to expose Kconfig options
in ext/ directories.  Fixup QMSI to only be exposed on platforms that
utilize it.

Change-Id: I6c6c5011b2bf2966f65aa8279dc594a244821956
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2016-05-25 11:28:34 +00:00
Maureen Helm d6f950c918 ksdk: Import Kinetis SDK device support for K64F
Import device-specific header files and clock configuration for K64F.

Origin: NXP KSDK 2.0
URL: kex.nxp.com
Maintained-by: External

Change-Id: I8b4cc0fc0a832c736067459afec57939643181a7
Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2016-05-24 16:04:47 -05:00
Maureen Helm 2b143fdc47 ksdk: Import Kinetis SDK drivers
The Kinetis SDK provides device header files and peripheral drivers for Kinetis
SOCs. Importing a subset of the SDK to support the K64F peripherals. This will
make it possible to implement a shim layer to adapt the drivers to Zephyr APIs.

Origin: NXP KSDK 2.0
URL: kex.nxp.com
Maintained-by: External

Change-Id: Ie14b42f75dab9126eb1ca4653538c5707b830cb5
Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2016-05-24 16:04:45 -05:00
Maureen Helm 728f32ffac cmsis: Import CMSIS-CORE header files
The ARM Cortex Microcontroller Software Interface Standard (CMSIS) defines a
set of standard interfaces to ARM Cortex-M SOCs. In particular, the CMSIS-CORE
component standardizes the software interface to core and peripheral registers,
as well as exception names and the system clock frequency. Multiple SOC
vendors, including NXP and Nordic Semiconductor, include the CMSIS-CORE header
files in their SOC header files. These SOC header files are in turn used by
the vendor's peripheral drivers.

Origin: ARM CMSIS v4.5.0
URL: https://github.com/ARM-software/CMSIS.git
commit: f25cf2c15304ad872a5b9761651d3f57d6202906
Maintained-by: External

Change-Id: I15c3ddd04619a7608fecb8b710eb115b30cd9632
Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2016-05-24 16:04:44 -05:00
Anas Nashif 489f42328c qmsi: move drivers and hal to ext/hal
This is external source code maintained somewhere else. Put it
under ext/ for clarity and maintainability.

Change-Id: I9e7c9d0948a2ba893006e316dc21d9b1a9edfa93
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-05-23 21:32:30 +00:00