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>
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>
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>
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>
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>
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>
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>
This was merged prematurely.
This reverts commit 758355779c.
Change-Id: I19d27df0b9ea9acf49382d27b5ef6ce49b915542
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
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>
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>
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>
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>