Commit Graph

40 Commits

Author SHA1 Message Date
Anas Nashif 429c2a4d9d kconfig: fix help syntax and add spaces
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-12-13 17:43:28 -06:00
Sebastian Bøe 0829ddfe9a kbuild: Removed KBuild
Signed-off-by: Sebastian Boe <sebastian.boe@nordicsemi.no>
2017-11-08 20:00:22 -05:00
Sebastian Bøe 12f8f76165 Introduce cmake-based rewrite of KBuild
Introducing CMake is an important step in a larger effort to make
Zephyr easy to use for application developers working on different
platforms with different development environment needs.

Simplified, this change retains Kconfig as-is, and replaces all
Makefiles with CMakeLists.txt. The DSL-like Make language that KBuild
offers is replaced by a set of CMake extentions. These extentions have
either provided simple one-to-one translations of KBuild features or
introduced new concepts that replace KBuild concepts.

This is a breaking change for existing test infrastructure and build
scripts that are maintained out-of-tree. But for FW itself, no porting
should be necessary.

For users that just want to continue their work with minimal
disruption the following should suffice:

Install CMake 3.8.2+

Port any out-of-tree Makefiles to CMake.

Learn the absolute minimum about the new command line interface:

$ cd samples/hello_world
$ mkdir build && cd build
$ cmake -DBOARD=nrf52_pca10040 ..

$ cd build
$ make

PR: zephyrproject-rtos#4692
docs: http://docs.zephyrproject.org/getting_started/getting_started.html

Signed-off-by: Sebastian Boe <sebastian.boe@nordicsemi.no>
2017-11-08 20:00:22 -05:00
Geoff Gustafson a9509a757a ext qmsi: Fix underflow in adc sample delay
Sample code such as the adc_simple driver test set a sampling delay of
12, however that caused this calculation to underflow so the real
delay came out to more like 65534.

Signed-off-by: Geoff Gustafson <geoff@linux.intel.com>
2017-08-07 22:26:21 -04:00
Youvedeep Singh 93720f700f aio: Add delay after power change to Analog Comparator.
Provide 5 micro sec delay after power change to analog comparator to
get it stable. If delay is not given, we observed some instability and
it generates random interrupt.

Jira: ZEP-1438/ZEP-1927

Signed-off-by: Youvedeep Singh <youvedeep.singh@intel.com>
2017-05-18 20:26:56 -04:00
Jesus Sanchez-Palencia a0e63c5999 ext qmsi: Update QMSI version on README
QMSI 1.4 was finally released, and there are no changes to drivers
from RC4. This updates the README file on ext/hal/qmsi/ to point to
the correct release version.

Change-Id: I52a537058ff15cb1602d16bc7c46c49d44876e63
Signed-off-by: Jesus Sanchez-Palencia <jesus.sanchez-palencia@intel.com>
2017-04-05 11:04:30 -07:00
Jesus Sanchez-Palencia 0877517ca4 ext qmsi: Update QMSI to 1.4 RC4
No major fixes since RC3 were made, and mostly the security fixes
for the Quark Bootloader were the main driver behind this new QMSI
Release Candidate.

There are no changes to shim drivers at this moment.

JIRA: ZEP-1572

Change-Id: I68d2b0ee90863d3def909de556314bd86712a059
Signed-off-by: Jesus Sanchez-Palencia <jesus.sanchez-palencia@intel.com>
2017-03-08 07:02:57 +00:00
Jesus Sanchez-Palencia e4c0a431f9 ext qmsi: Update QMSI to 1.4 RC3
No major fixes since RC2 were made, but some clean up was done.
There are no changes to shim drivers at this moment.

JIRA: ZEP-1572

Change-Id: I2436f91bfa3aae186c778b5ff4129bb0e6b7db1f
Signed-off-by: Jesus Sanchez-Palencia <jesus.sanchez-palencia@intel.com>
2017-02-22 14:18:22 +00:00
Kuo-Lang Tseng 23b0074012 ext qmsi: Update to QMSI 1.4 RC2
Update the builtin QMSI code to 1.4 (RC2).
The below shim drivers were updated for API or interface changes:
- aio
- counter
- i2c_ss
- rtc
- wdt.

Also, arch soc specific power management code were updated.

Jira: ZEP-1572

Change-Id: Ibc8fae032a39ffb2c2c997f697835bc0208fd308
Signed-off-by: Jesus Sanchez-Palencia <jesus.sanchez-palencia@intel.com>
Signed-off-by: Kuo-Lang Tseng <kuo-lang.tseng@intel.com>
2017-02-08 11:59:12 +00:00
Baohong Liu a96ec2351d ext: qmsi: fix an incomplete type issue
Incomplete type is not acceptable to LLVM. Let's use
pointer instead.

Jira: ZEP-1179

Change-Id: Ie6324b2e5076ae2b378fa270d0d9fdcbf29bf8ce
Signed-off-by: Baohong Liu <baohong.liu@intel.com>
2017-02-04 20:08:07 +00:00
Anas Nashif 42e1c9ca34 pinmux: make pinmux_dev the default pinmux driver for quark
Jira: ZEP-958
Change-Id: Ib6c528a103372d5084efa5ae8635803e2912e0dd
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-01-25 20:43:18 +00:00
Anas Nashif 594992f7b2 license: use SPDX identifier for files in ext/
Change-Id: I32cb4211056046ca28a81aa97aca5d3c0b9b8303
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2017-01-20 20:22:57 -05:00
Julien Delayen 176d184fb8 power: Add ARC core suspend and resume support
When going into DEEP_SLEEP mode, the ARC core now saves
its context. This includes:
- All core registers
- Stack pointer
- Program counter (restored by jumping to the restore code)

The arc reset code now checks if the GPS0 bit 2 is set.
This is similar to the behavior of the x86 core done by
the QMSI bootloader which is setting GPS0 bit 1 in order
to call the restore path instead of cold boot path.

The sample has been adapted in order to support the ARC.

Jira: ZEP-1222

Change-Id: I375f03b16b8a5fd1f07ead55cf7e4947d6290c9f
Signed-off-by: Julien Delayen <julien.delayen@intel.com>
2016-12-15 12:49:33 +00:00
Iván Briano f6eb05d1d9 ext hal qmsi: Avoid QMSI specific flags when QMSI is not used
The way the build system works, the Makefiles under ext/hal/* are being
included unconditionally, so anything they add to the build flags needs
to be protected by the correct configuration value.

Change-Id: I238e04cd836dd9e4c5d83040822039c68abb6b17
Signed-off-by: Iván Briano <ivan.briano@intel.com>
2016-11-16 13:57:05 -02:00
Jon Moeller 8358468fed ext qmsi: Add config support and kernel events for enabling SoCWatch
tests: power_states app updated to support SoCWatch collection

Add CONFIG_SOC_WATCH option for enabling the SoCWatch
 QMSI driver and associated instrumentation hooks.

Bug fix for soc_watch.c to use local irq_lock/unlock
 This will be put into QMSI as well.

JIRA: ZEP-1121

Change-Id: I0514324e81ca02c1d01ffc2d6cf4d31aee491544
Signed-off-by: Jon Moeller <jon.moeller@intel.com>
2016-11-12 01:36:49 +00:00
Jesus Sanchez-Palencia f5fa7081f8 ext qmsi i2c: Remove DMA hard dependency
After QMSI 1.3.1 release, qm_dma is no longer a hard dependency for
qm_i2c. Fix our build system to reflect that change.

Change-Id: I3646bc519721a5aa18e8db5d2497d7a2550241ca
Signed-off-by: Jesus Sanchez-Palencia <jesus.sanchez-palencia@intel.com>
2016-11-04 23:31:39 +00:00
Jesus Sanchez-Palencia 55c00ad721 ext qmsi: Update to 1.3.1 version
Update to QMSI 1.3.1 release.

The only build fix needed was due to the split of the I2C ISR on
qm_isr.h .

Change-Id: Ide7a1537572c72981ec3283dc5cf0d543d9ac7d1
Signed-off-by: Jesus Sanchez-Palencia <jesus.sanchez-palencia@intel.com>
2016-11-04 23:31:29 +00:00
Iván Briano aa4fab7be1 quark se: Enable power management features in QMSI
Enabling the power management features in QMSI requires passing the
ENABLE_RESTORE_CONTEXT definition to both the build of QMSI and to
every inclussion of a QMSI header.

Add the necessary -D flag to the Zephyr build when
CONFIG_SYS_POWER_DEEP_SLEEP is defined.

Jira: ZEP-995
Change-Id: If6ce5985a372a499c63dbbbb9efed49af5fc75b2
Signed-off-by: Iván Briano <ivan.briano@intel.com>
2016-11-03 11:14:51 +00:00
Iván Briano ca7dfd8909 ext qmsi: Ensure ISR definitions match between QMSI build and its users
Building QMSI to be used inside Zephyr requires that the build flag
ENABLE_EXTERNAL_ISR_HANDLING be defined, so QMSI knows not to treat
IRQs by itself. However, setting that in subdir-ccflags in the QMSI
directory makes the flag available only during the QMSI build.

Put the definition in KBUILD_CPPFLAGS so it's also available to users
of QMSI, regardless of whether it's the internal build or used as an
external library, and so that definitions protected by this flag match
between what's built and what is seen through header inclusion.

Jira: ZEP-1030
Change-Id: Ifd4af2ab4bdf741269cdd732b48e00e5656e65fe
Signed-off-by: Iván Briano <ivan.briano@intel.com>
2016-11-02 22:24:28 +00:00
Iván Briano 0094ab228d ext qmsi: Update to QMSI 1.3 release
Update the QMSI drop we maintain in Zephyr, and fix the build where
needed:

- QM_SCSS_INT is renamed to QM_INTERRUPT_ROUTER;
- every member of QM_INTERRUPT_ROUTER was renamed as well;
- QM_IRQ_* renamed too, mostly added _INT at the end;
- some isr functions were renamed to keep their names consistent;
- build for x86 needs to define QM_LAKEMONT, as QM_SENSOR was for ARC.

Change-Id: I459029ca0d373f6c831e2bb8ebd52402a55994d1
Signed-off-by: Iván Briano <ivan.briano@intel.com>
2016-10-31 13:26:06 +00:00
Jesus Sanchez-Palencia 7c0fc99c79 ext qmsi: Update to QMSI 1.2 release
Update the QMSI drop we maintain in Zephyr, and fix the build where
needed:

- QM_USB_BASE is renamed to QM_USB_0_BASE;
- parameter int_en from qm_uart cfg struct was removed;
- driver's folder now has a new structure, fix makefiles accordingly;
- QM_WDT_MODE and related renamed to QM_WDT_CR_RMOD;
- QM_SCSS_AON renamed to QM_AONC.

Change-Id: Iffe9c66b7a3f2fe64418326e20ff0894149b3044
Signed-off-by: Jesus Sanchez-Palencia <jesus.sanchez-palencia@intel.com>
2016-10-18 23:26:01 +00:00
Anas Nashif 5363d14a9e boards: rename Quark SE Devboard to Quark SE C1000
This board now has an official name and will be available soon:

http://www.intel.com/content/www/us/en/embedded/products/quark/mcu/se-soc/overview.html

Jira: ZEP-758
Change-Id: Ia16d33722308cf81471321c3063bdc75055a4d50
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-09-16 03:10:31 +00:00
Anas Nashif 5e4b62c35c boards: rename Quark SE Devboard to Quark SE C1000 (Sensor Subsystem)
Jira: ZEP-758
Change-Id: I8ee5a2f9e4a6ecbd15214e59321bf27a502ef6ee
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-09-16 03:10:30 +00:00
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
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
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
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
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