Macros and enums are included for supporting pin configuration
settings.
Entries to the dts_fixup were also included in order
to configure port level settings.
Signed-off-by: Francisco Munoz <francisco.munoz.ruiz@intel.com>
Adds a new xec gpio driver that can be used with the
XEC MCUs. This driver modifies the PCR1 register in order
to configure gpio settings. Interrupts are triggered by the EC
interrupt aggregator block.
Signed-off-by: Francisco Munoz <francisco.munoz.ruiz@intel.com>
Dts Nodes for all the GPIO portswere defined. In addition,
a new binding file was created for the gpio driver.
Signed-off-by: Francisco Munoz <francisco.munoz.ruiz@intel.com>
Expose MEC1501 5 I2C/SMB controllers
Add Microchip specific I2C device tree properties
Signed-off-by: Jose Alberto Meza <jose.a.meza.arellano@intel.com>
Hook up SERCOM1 to I2C, it is connected to the EXT3 header and
the EDBG embedded debugging interface.
Signed-off-by: Benjamin Valentin <benpicco@googlemail.com>
The only use of the BOOTLOADER_UNKNOWN config option is on x86, where
it controls whether a multiboot header is embedded in the output.
This patch renames the option to be more descriptive, and makes it
an x86-specific option, rather than a Zephyr top-level option.
This also enables X86_MULTIBOOT by default, since the header only
occupies 12-16 bytes of memory and is (almost always) harmless.
Signed-off-by: Charles E. Youse <charles.youse@intel.com>
Commit 11295c1 added Kconfig options for interrupt mode, but then hard
coded the interrupt mode. This commit uses the Kconfig option to set
the interrupt mode.
Applications expecting the interrupt mode to be something other than
the default will need to be updated.
Signed-off-by: Brett Witherspoon <spoonb@cdspooner.com>
The default case of the switch statement jumps over the unlocking of the
trigger mutex. This has been fixed with more granular locking which has
the added benefit of being more explicit about what is being protected.
Signed-off-by: Brett Witherspoon <spoonb@cdspooner.com>
The upper limit of the timeout should not be 0.
tests/drivers/watchdog/wdt_basic_api checks for this and fails as the
driver currently only checks that the timout does not exceed the upper
bound.
This also makes it check the lower bound, so that the test passes.
Signed-off-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
* KERNEL_ELF was easily confused with KERNEL_ELF_NAME and KERNEL_NAME.
* kernel_elf as the name of the binary indicates it somehow only
contains the kernel, which is not correct.
Rename to zephyr_final as this is the reality: Zephyr elf has been
linked again (a number of times) due to generated kernel files.
Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
Fix an issue wherein local or remote initiated Connection
Parameter Request procedure would stall without generation
of LE Connection Update Complete HCI event because a local
or remote initiated PHY Update procedure has overwritten the
currently active Link Layer Control Procedure type.
Signed-off-by: Alexander Svensen <alsv@nordicsemi.no>
Commas are not allowed in this file and prevent parsing by github
Error introduced in
7c7db00a77Fixes#15998
Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
Fix issue where sanitycheck wrongly assumed tests inside ZEPHYR_BASE
to be outside ZEPHYR_BASE and dropped the prefix in their name. This
happened when:
- ZEPHYR_BASE contains symbolic link(s), and
- relative --testcase-root argument(s) are passed
To generate unique names, TestCase.get_unique(testcase_root) first
checks whether "testcase_root" starts with ZEPHYR_BASE. Either may or
may not include symbolic links so both must be canonicalized before
comparison. While fixing this method, replace explicit forward slash
"/" and string replace with os.path.relpath() and make a couple other
simplifications and minor pydoc fixes.
Add new canonical_zephyr_base = os.path.realpath(ZEPHYR_BASE) constant
and corresponding comments and guidelines.
The most visible effect of this mismatch was sanitycheck dropping the
--testcase-root prefix from the unique name of tests inside
ZEPHYR_BASE. This means some test names could be not unique anymore
and silently overwrite each other's results, example:
bash# cd zephyr_dir_with_symlink; export ZEPHYR_BASE=$(pwd)
./scripts/sanitycheck -T samples/portability/cmsis_rtos_v1 \
-T samples/portability/cmsis_rtos_v2
The more systematic and practical consequence (and how I actually
found this) was test outputs landing in unexpected locations.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
If top value is different than maximal top value (24 bits) then
wrapping must be handled. There are 2 ways to handle that:
- in software, by clearing the counter in the interrupt
- by HW, using (D)PPI which connects compare event with clear task
First option was already implemented but it has accumulative error.
Added PPI option which requires 1 PPI channels but has no accumulative
error.
Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
This is a workaround for IOP issue, where peer rejects LLCP Slave
Connection Parameter Request with LMP Error Transaction Collision
error code even if previous request is complete at the instant.
Relates to #15366.
Signed-off-by: Mariusz Skamra <mariusz.skamra@codecoup.pl>
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
Fix the encryption setup queueing implementation to avoid
overlapping with local initiated Length Update Procedure.
Fixes#15733.
Relates to #15335, and #15186.
Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
The ADC driver in this PR has been tested working on these nucleo
boards, so ADC support is added to the boards doc.
Signed-off-by: Song Qiang <songqiang1304521@gmail.com>
Some configuration for the boards have to be added into test_adc.c file
so user can test driver with the test cases. Several nucleo boards are
added including F091RC/F103RB/F207ZG/F302R8/F401RE/F746ZG/L073RZ/L476RG.
And also ADC dts and pinmux configuration are added into boards own
pinmux.c and dts file.
Signed-off-by: Song Qiang <songqiang1304521@gmail.com>
This commit adds driver support for ADC1 on all 8 supported series of
stm32 with resolution and conversion time selection and calibration.
Currently DMA is not supported for all series, and without it, zephyr
won't be able to catch up ADC's end of conversion interrupt, so this
version of the driver supports one channel conversion only. Users want
multi-channel conversion should use multiple sequences in their app
code.
This driver uses LL lib rather than HAL because the current HAL lib for
ADC will call HAL_DMA_* functions rather than using zephyr's common DMA
interface, so that way the driver will break the consistency of the
code.
This driver has been tested on multiple nucleo boards including
NUCLEO_F091RC/F103RB/F207ZG/F302R8/F401RE/F746ZG/L073RZ/L476RG and all
passed the test cases in tests/drivers/adc/adc_api. If the external ADC
line is floating, it may fail the tests since ADC may get 0V and the
test cases think 0 is failing. Connect it to any voltage source between
0-3.3V will help passing the test cases.
Signed-off-by: Song Qiang <songqiang1304521@gmail.com>
This commit adds pinmux defines for all the external ADC lines
supported by stm32. All defines are named after the datasheet of the
corresponding product lines.
Signed-off-by: Song Qiang <songqiang1304521@gmail.com>
All series of stm32 have at least one ADC instance and this commit adds
one ADC node to the root dts file of each soc, and also adds fixing up
mappings to them.
Signed-off-by: Song Qiang <songqiang1304521@gmail.com>
Let allow users to select the revision B of the chip on the SAM E70
Xplained Board. The same board exists with SoC revision A or B.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
The revision A and B of the chip are very close, so most of the code
will work if the wrong revision is selected. To avoid that, check that
the selected HAL and the chip CIDR match. Otherwise emit a warning
in the logs.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This patch adds support for the revision B of the SAM E70 SoC. It adds
all the rev B part numbers, and when users pick-up one of those part
numbers, the revision B HAL is used instead.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This is an import of Atmel SAM E70 HAL version 2.3.98, for the revision
B of the chip. The files have been passed through dos2unix to minimize
the differences with the revision A which seems to also have been
imported that way.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
At the moment there are two images for Nucleo-64 STM32 family board
connectors (img/nucleo_xxxxxx_connectors.png).
The images have the same canvas size (800x619) but different file
size in bytes and different color coding.
The first one (192K, 8-bit colormap) is used for
* nucleo_f070rb
* nucleo_f091rc
* nucleo_f103rb
* nucleo_l053r8
* nucleo_l073rz
The second one (464K, 8-bit/color RGBA) is used for
* nucleo_f030r8
* nucleo_f302r8
* nucleo_f334r8
Applying simultaneous black/white threshold to the images and
comparing them with imagemagick tools shows that the images
have no significant difference. Therefore we can use
nucleo_l073rz_connectors.png for nucleo_f030r8, nucleo_f302r8
and nucleo_f334r8.
Please see https://github.com/zephyrproject-rtos/zephyr/pull/15926
for details.
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
Add a sample application for showcasing the functionality of the
Holtek HT16K33 LED driver with keyscan functionality.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
The HT16K33 is a memory mapping, multifunction LED controller
driver. The controller supports up to 128 LEDs (up to 16 rows and 8
commons) and matrix key scan circuit of up to 13x3 keys.
This commit adds support for the keyscan functionality of the HT16K33.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Allow a device tree node to be child on one bus and parent on another
bus (e.g. an I2C slave device with multiple sub-devices).
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
The HT16K33 is a memory mapping, multifunction LED controller
driver. The controller supports up to 128 LEDs (up to 16 rows and 8
commons) and matrix key scan circuit of up to 13x3 keys.
This commit add support for the LED driver functionality of the
HT16K33.
Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
Unfortunately, Zephyr SDK 0.10.0 ships with outdate Newlib 2.0.0
(from 2015 or earlier) which lacks sys/_timeval.h header, requiring
ugly workaround of defining struct timeval inline (the whole idea
was to standardize on sys/_timeval.h header for different libc's).
Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>