Convert driver to utilize the new DT_INST macros completely and remove
associated Kconfig symbols that now come from devicetree.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Move to using DT_NODELABEL to get references to specific GPIO ports on
various boards that utilize the arm,cmsdk-gpio controller.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Make the label property required for "arm,cmsdk-gpio" compatible
nodes. Update binding to mark the 'label' property required and updated
associated .dts files to add a 'label' property if it didn't exist.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Use device node declaration instead.
Clean up GPIO_STM32_PORT* Kconfig symbols.
On some boards some gpio ports where disabled using Kconfig symbols.
Disable them now via device tree nodes in boards dts files.
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Use "nRF9160 DK" throughout. Change the title to "Development Kit" and
introduce the abbreviation there.
Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
PWM and other flags were missing for PCA10059.
Aligned also RAM and Flash while comparing the files.
Signed-off-by: Markus Becker <markus.becker@tridonic.com>
This commit allows the `QEMU_KERNEL_OPTION` variable, which can be
overridden by the `board.cmake`, to contain references to the variables
that are not available at the time of `board.cmake` inclusion, by
expanding its escpaed variable references in `cmake/emu/qemu.cmake`
which is included nearby the end of the root `CMakeLists.txt`.
With this change, the `board.cmake` can escape variable references as
follows and allow them to be expanded later:
set(QEMU_KERNEL_OPTION "-device;loader,file=\$<TARGET_FILE:$\{...}>")
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
Add a k_timeout_t type, and use it everywhere that kernel API
functions were accepting a millisecond timeout argument. Instead of
forcing milliseconds everywhere (which are often not integrally
representable as system ticks), do the conversion to ticks at the
point where the timeout is created. This avoids an extra unit
conversion in some application code, and allows us to express the
timeout in units other than milliseconds to achieve greater precision.
The existing K_MSEC() et. al. macros now return initializers for a
k_timeout_t.
The K_NO_WAIT and K_FOREVER constants have now become k_timeout_t
values, which means they cannot be operated on as integers.
Applications which have their own APIs that need to inspect these
vs. user-provided timeouts can now use a K_TIMEOUT_EQ() predicate to
test for equality.
Timer drivers, which receive an integer tick count in ther
z_clock_set_timeout() functions, now use the integer-valued
K_TICKS_FOREVER constant instead of K_FOREVER.
For the initial release, to preserve source compatibility, a
CONFIG_LEGACY_TIMEOUT_API kconfig is provided. When true, the
k_timeout_t will remain a compatible 32 bit value that will work with
any legacy Zephyr application.
Some subsystems present timeout (or timeout-like) values to their own
users as APIs that would re-use the kernel's own constants and
conventions. These will require some minor design work to adapt to
the new scheme (in most cases just using k_timeout_t directly in their
own API), and they have not been changed in this patch, instead
selecting CONFIG_LEGACY_TIMEOUT_API via kconfig. These subsystems
include: CAN Bus, the Microbit display driver, I2S, LoRa modem
drivers, the UART Async API, Video hardware drivers, the console
subsystem, and the network buffer abstraction.
k_sleep() now takes a k_timeout_t argument, with a k_msleep() variant
provided that works identically to the original API.
Most of the changes here are just type/configuration management and
documentation, but there are logic changes in mempool, where a loop
that used a timeout numerically has been reworked using a new
z_timeout_end_calc() predicate. Also in queue.c, a (when POLL was
enabled) a similar loop was needlessly used to try to retry the
k_poll() call after a spurious failure. But k_poll() does not fail
spuriously, so the loop was removed.
Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
In the current implementation both SPSR and ELR registers are saved with
the callee-saved registers and restored by the context-switch routine.
To support nested IRQs we have to save those on the stack when entering
and exiting from an ISR.
Since the values are now carried on the stack we can now add those to
the ESF and the initial stack and take care to restore them for new
threads using the new thread wrapper routine.
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
We rename the nRF91 Dev Kit board target for the NRF52840
controller (nrf52840_pca10090) to nrf9160dk_nrf52840. We
update all associated references in the supportive
documentation and all nRF9160-related cofigurations and
overlay files in the samples and tests in the tree. We
also remove an un-referenced board image file that had
erroneously been part of the documentation of this platform.
Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
We rename the nRF91 Dev Kit board target (nrf9160_pca10090)
to nrf9160dk_nrf9160. We update all associated references
in the supportive documentation and all nRF9160-related
cofigurations and overlay files in the samples and tests
in the tree.
Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
This commit adds a new `sam_v71_xult` variant with the chip revision B
device tree.
In addition, this commit enables the newly added GMAC device tree
instance.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit adds a new `sam_e70b_xplained` variant with the chip
revision B device tree.
In addition, this commit enables the newly added GMAC device tree
instance.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
Replace all occurences of BUILD_ASSERT_MSG() with BUILD_ASSERT()
as a result of merging BUILD_ASSERT() and BUILD_ASSERT_MSG().
Signed-off-by: Oleg Zhurakivskyy <oleg.zhurakivskyy@intel.com>
Enable the lptim1 timer on the Nucleo L432KC board. It can work with
both the LSI and the LSE as the board has a 32.768 kHz crystal.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
The board target for emulation of nRF52811 on nRF52840 DK, so far
known as nrf52811_pca10056, is renamed to nrf52840dk_nrf52811.
Its documentation and all references to its name in the tree are
updated accordingly. Overlay and configuration files specific to
this board are also renamed, to match the new board name.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
The nRF52840 DK board target, so far known as nrf52840_pca10056,
is renamed to nrf52840dk_nrf52840.
Its documentation and all references to its name in the tree are
updated accordingly. Overlay and configuration files specific to
this board are also renamed, to match the new board name.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
This board is no longer a Preview DK but it is still described as such
in its documentation. Update its description and picture.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
Adding documentation to inform users that characters may be lost if
polling is used and a character arrives while the system is in standby
mode.
Signed-off-by: Vincent Wan <vincent.wan@linaro.org>
The shared irq support isn't needed in this driver. We just need to
deal with the fact that some SoCs have only a single interrupt line and
some have three interrupts. We can just ifdef that based on
DT_NUM_IRQS.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Zephyr shields are mostly defined using references to the arduino
headers. There are featherwing shields like the Adafruit SSD1306
128x32 display that could work on feather form-factor devices if the
arduino I2C label was available. Add that label.
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Enable a single instace of the TACH driver to demonstrate its
capabilities when the mec card is coupled to a motherboard.
Signed-off-by: Francisco Munoz <francisco.munoz.ruiz@intel.com>
Convert the driver to use DT_INST_ defines, update all dependent dts,
soc and board files.
Signed-off-by: Piotr Mienkowski <piotr.mienkowski@gmail.com>
This is joint work with Kumar Gala (see signed-off-by).
Document the changes to the generated node macros in macros.bnf,
moving the old file to legacy-macros.bnf and putting it in its own
section.
The actual generated macros are now a low-level detail, so rewrite the
foregoing sections as examples in terms of the new <devicetree.h> APIs.
Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Add a note in the board documentation with the nRF51 DK
board was named in earlier Zephyr releases (nrf51_pca10028).
Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
We rename the nRF51 Dev Kit board target (nrf51_pca10028)
to nrf51dk_nrf51422. We update all associated references
in the supportive documentation and all nRF51-related
cofigurations and overlay files in the samples and tests
in the tree.
Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
Added a configuration option for enabling the nRF53 Network MCU.
Some applications will just run on the Application MCU, then
Network MCU should stay off. By deafult Network MCU
will be enabled when BLE or IEEE 802.15.4 are used.
Signed-off-by: Michał Grochala <michal.grochala@nordicsemi.no>
Should not be set to a default platform, this is unnecessarily causing
builds of all tests on this platform for all PRs.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This commit reworks the Xilinx TTC timer driver to use the "match" mode
instead of the "interval" mode which counts up to the specified value
and resets to zero.
Using the "match" mode ensures that the timer keeps counting even after
an interrupt is triggered, and facilitates the tickless mode support
implementation.
This also allows `z_timer_cycle_get_32` to return the correct cycle
count when interrupt is locked; thereby, fixing the k_busy_wait hang
issue.
Note that the TTC "match" mode emulation (and tickless timer operation)
is only stable when the QEMU icount mode is enabled.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit enables the QEMU icount emulation mode for improved timing
stability.
In normal emulation mode (without icount), the emulation timing of the
TTC system timer is particularly unstable and this results in a high CI
failure rate.
For more details, refer to the issues #14173 and #22904.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit adds support for Silicon Labs BRD4104A (a.k.a. SLWRB4104A)
Blue Gecko and BRD4250B (a.k.a. SLWRB4250B) Flex Gecko Radio Boards.
Signed-off-by: Piotr Mienkowski <piotr.mienkowski@gmail.com>
Add a fixed clock to the qemu-virt-a53.dtsi to match how the musca dts
files work so we get the clock DT info in the same way in the driver.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
These boards have a SoC with 2 Ethernet controllers but the second
controller it is not wired.
Signed-off-by: Armand Ciejak <armandciejak@users.noreply.github.com>
IP ethernet switch board includes K66F MCU from NXP
and Micrel/Microchip KSZ8794CNX switch. Board support
includes basic GPIO LED and common functions.
Switch function needs support either based on DSA or
relative feature in Zephyr which is tracked with issue
22061.
Signed-off-by: Parthiban Nallathambi <pn@denx.de>
Add entropy driver based on GECKO TRNG module along with device
tree support for EFM32PG and EFR32MG SOCs.
Signed-off-by: Pooja Karanjekar <pooja.karanjekar@lemonbeat.com>
This reverts commit 8739517107.
Pull Request #23437 was merged by mistake with an invalid manifest.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Replace all occurences of BUILD_ASSERT_MSG() with BUILD_ASSERT()
as a result of merging BUILD_ASSERT() and BUILD_ASSERT_MSG().
Signed-off-by: Oleg Zhurakivskyy <oleg.zhurakivskyy@intel.com>
Convert usb_stm32 driver to use of DT_INST macros.
Since driver is compatible with 3 different dt compatibles and
compatible string is included in DT_INST macros, I've kept the
DT_USB_ compatible agnostic macros based on DT_INST ones, which
allowed to remove fixup definitions.
Use of DT_USB symbols is now limited to usb_dc_stm32.
Additionally, compatible "st,stm32-otgfs" is removed from list
of compatibles for usbotg_hs ips.
Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
Change to code to use the automatically generated DT_INST_*
defines and remove the now unneeded configs and fixups.
Signed-off-by: Timo Teräs <timo.teras@iki.fi>
tests/drivers/spi/spi_loopback provides configurations for boards
nrf51_pca10028 and nrf52840_pca10056, thus indicate spi as supported
on them, so that they are included in sanitycheck builds of this test.
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
LPC55S69 CPU1 definition added.
Dual Core is not enabled!
Definitions related to dual core split of SoC's CPUs.
Signed-off-by: Andrei Gansari <andrei.gansari@nxp.com>
Only basic support has been added as some drivers require some fixes.
I have successfully tested the following examples:
- samples/hello_world
- samples/basic/blinky
- samples/basic/button
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Add a pwm0 entry and PWM support for the RGB LED so that the
rgb_led and fade_led demos work on the nrf52840_pca10059.
Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
MEC1501modular doesn't expose same I2C instances than MEC15xxevb,
additionally this causes undesired reconfiguration of pins with
other function when card is mated with a platform that complies
with MECC specification.
Signed-off-by: Jose Alberto Meza <jose.a.meza.arellano@intel.com>
Newer XDS firmware fails to flash correctly with higher adapter clock
speed. Using a slower speed for now to prevent errors.
Fixes#21372
Signed-off-by: Vincent Wan <vincent.wan@linaro.org>
Newer XDS firmware fails to flash correctly with higher adapter clock
speed. Using a slower speed for now to prevent errors.
Fixes#21372
Signed-off-by: Vincent Wan <vincent.wan@linaro.org>
When using internal IEEE 802.15.4 transceiver AT86RF233 at SPI speeds
above 6MHz was detected that frame buffer read returns corrupted data.
This set spi-max-frequency to 6MHz at atsamr21_xpro.dts to ensure best
relation of performance vs reliability.
Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
On Atmel SAM family the watchdog peripheral is enabled by default. To
ease maintenance of tests and samples, which typically don't handle
watchdog, disable the watchdog during the boot.
Signed-off-by: Piotr Mienkowski <piotr.mienkowski@gmail.com>
Remove all "supported: -hwinfo" definitions from the boards
yaml files and documentation. hwinfo can generally be tested
on every board because it returns -ENOTSUP if not supported.
Signed-off-by: Alexander Wachter <alexander@wachter.cloud>
Set the size of the storage partition in flash used by the NVS example
to 3 times the erase-block-size for this SoC family. In this case a
total of 12KB (as 3 erase-block-sizes is the minimum).
Signed-off-by: Oane Kingma <o.kingma@interay.com>
The method used to link code partition, as defined by
zephyr,code-partition has been modified in Zephyr 1.14. Remove any
remaining, outdated documentation that was embedded in the board dts
files.
Signed-off-by: Piotr Mienkowski <piotr.mienkowski@gmail.com>
This change also addresses issue# 21756 tests/obj_tracin where the
expected thread count does not match because kscan module is enabled
in this board. The Microchip kscan driver is contributing to the total
thread count, therefore interfering with the expected test result.
Signed-off-by: Francisco Munoz <francisco.munoz.ruiz@intel.com>
This change addresses issue# 21756 where the expected thread
count does not match because kscan module is enabled in this board.
The Microchip kscan driver is contributing to the total thread count,
therefore interfering with the expected test result.
Signed-off-by: Francisco Munoz <francisco.munoz.ruiz@intel.com>
Update Atmel SAM-BA link address to MHCP SAM-BA web page. Now user will
navigate to right page instead be at MHCP home page.
Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
In the default configuration we want to enable the generic GPIO module
so that we avoid Kconfig warnings.
See #22474.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>