Commit graph

6449 commits

Author SHA1 Message Date
Maureen Helm 64de633b2e boards: Set magnetometer devicetree alias for fxos8700 nodes
Sets a magnetometer devicetree alias for all boards that contain the
FXOS8700 sensor to enable the magn_polling sample application.

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-07-02 06:03:33 -04:00
Maureen Helm b789c11775 drivers: sensor: Change fxos8700 default mode from accel-only to hybrid
The fxos8700 device supports 3 modes: accelerometer-only,
magnetometer-only, or hybrid (accelerometer and magnetometer) modes. The
accelerometer-only mode is register compatible with mma8451q, mma8652fc,
and mma8653fc, which allows the fxos8700 driver to be used with these
devices as well.

Most in-tree boards can use hybrid mode because they have the fxos8700
device, therefore we change the driver default to match the common case.
For the handful of boards that have an mma86xx or mma84xx device, we
override the driver default to accelerometer-only mode. As a result, we
can enable the magn_polling sample application for the fxos8700 driver
without having to add a bunch of board-specific configuration overlays
for hybrid mode.

Signed-off-by: Maureen Helm <maureen.helm@intel.com>
2022-07-02 06:03:33 -04:00
Kumar Gala 287acdbb9d i2c: sam0: Set driver Kconfig default based on devicetree
Change Kconfig default to be based on if the devicetree has the
atmel,i2c-sam0 driver enabled.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-07-01 15:05:55 -05:00
Glauber Maroto Ferreira 5686368eec boards: riscv: esp32c3_devkitm: dts: use pin grouping
Updates device tree pin states definitions and node
descriptions to group pins sharing common properties.

Accordingly, updates in-tree overlays as well.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-07-01 16:22:18 +00:00
Glauber Maroto Ferreira f82d3d444d boards: xtensa: esp32s2_saola: dts: use pin grouping
Updates device tree pin states definitions and node
descriptions to group pins sharing common properties.

Accordingly, updates in-tree overlays as well.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-07-01 16:22:18 +00:00
Glauber Maroto Ferreira bebfaa04aa boards: xtensa: olimex_esp32_evb: dts: use pin grouping
update device tree pin states definitions and node
descriptions to group pins sharing common properties.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-07-01 16:22:18 +00:00
Glauber Maroto Ferreira 46aa698001 boards: xtensa: odroid_go: dts: use pin grouping
update device tree pin states definitions and node
descriptions to group pins sharing common properties.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-07-01 16:22:18 +00:00
Glauber Maroto Ferreira ef76f1ae42 boards: xtensa: heltec_wifi_lora32_v2: dts: use pin grouping
update device tree pin states definitions and node
descriptions to group pins sharing common properties.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-07-01 16:22:18 +00:00
Glauber Maroto Ferreira dfad263fc2 boards: xtensa: esp_wrover_kit: dts: use pin grouping
- update device tree pin states definitions and node
descriptions to group pins sharing common properties.
- update fat_fs sample code overlay.
- remove unused ledc pin states

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-07-01 16:22:18 +00:00
Glauber Maroto Ferreira f79029a074 boards: xtensa: esp32: dts: use pin grouping
- update device tree pin states definitions and node
descriptions to group pins sharing common properties.
- update ESP32's in-tree overlays.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-07-01 16:22:18 +00:00
Francois Ramu a3b42b55dc boards: arm: stm32g071 nucleo defines its vref for ADC
The Vref is defined by the nucleo board hardware.
This property is common to ADC channels
and required in the DTS.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-07-01 11:34:17 +02:00
Kumar Gala 74afc2df06 boards: particle_argon: Use GPIO_DT_SPEC for gpio handling
Convert gpio handling to use GPIO_DT_SPEC as this removes the use
of DT_LABEL.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-06-30 14:12:58 -05:00
Andrzej Głąbek fa48dbd1db boards: nrf: Fix sw_pwm channel definitions
This is a follow-up to commit f301dc2382.

Add missing GPIO_ACTIVE_LOW flag to sw_pwm channel definitions for
nRF51 DK and nRF51 Dongle so that the initial state of their PWM
outputs is properly set up.
Add missing sw_pwm channel definition in the nrf52833dk_nrf52820 target
that was modified in 793362ae5a instead
of in f301dc2382. Add also the pwm-led0
alias for its PWM LED so that it can be used with standard samples.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2022-06-30 18:22:38 +02:00
Andrzej Głąbek 21c1e9306a shields: x_nucleo_eeprma2: Make sure arduino_spi is enabled
Add `status = "okay";` in `arduino_spi` to make sure the node is
enabled (it may not be by default in certain board definitions).

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2022-06-30 18:13:46 +02:00
Andrzej Głąbek 8541299020 boards: nrf9160dk_nrf9160: Add arduino_spi definition
Assign proper pins and add the arduino_spi node label to one SPI node
so that shields that require SPI can be used with the nRF9160 DK.
Due to the limited resources of the nRF9160 SoC, the arduino_spi (spi1)
and arduino_serial (uart1) interfaces cannot be used together on this
board, so remove the default "okay" status from the arduino_serial node
(this status is supposed to be set in a shield overlay that uses this
interface).
The spi1 node was selected as arduino_spi because:
- spi0 could not be used together with uart0 that is used by the Zephyr
  console
- spi2 could not be used together with i2c2, which is arduino_i2c and
  in newer nRF9160 DK revisions (0.14.0+) also provides communication
  with the onboard GPIO expander
- spi3 is used in newer nRF9160 DK revisions for communication with the
  onboard flash chip

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2022-06-30 18:13:46 +02:00
Alexandre Duchesne 9a575e83de boards: arm: Add stm32f7508_dk board
add initial support for the STM32F7508-DK Discovery kit

Signed-off-by: Alexandre Duchesne <alexandre.duchesne@rtone.fr>
2022-06-30 13:41:06 +00:00
Lucas Tamborrino 534efaed31 doc: boards: add pwm to espressif's boards
Add PWM support to espressif's boards documentation

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2022-06-29 14:48:25 +00:00
Lucas Tamborrino 02675bbc80 dts: esp32: full ledc configuration in binding
This commit moves the hardware configuration for ledc
peripheral to the device-tree instead of Kconfig.

Signed-off-by: Lucas Tamborrino <lucas.tamborrino@espressif.com>
2022-06-29 14:48:25 +00:00
Dmytro Firsov a57dee94d6 xenvm: doc: update documentation for Xen grant tables
This commit changes information, related to Xen grants support
for xenvm board.

Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
2022-06-28 22:34:26 -04:00
Dmytro Firsov f4cea5da70 xenvm: drivers: xen: add Xen grant table driver
This commit introduces driver for granting access for own grant
table and for mapping/unmapping foreign gref. Grant tables are used
for data exchange between Xen domains via shared memory page(s) (e.g.
for sharing ring buffer with driver data) This functionality is
widely used and needed for implementing PV backend/frontend drivers.

Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
2022-06-28 22:34:26 -04:00
Daniel DeGrasse 69d153cd3d soc: nxp_imx: rt: enable SWO output for iMX RT 10xx series
enable swo output for iMX RT 10xx series. SWO pinmux settings are
currently only present for the RT1060 and RT1064

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-06-28 16:02:09 -05:00
Henrik Brix Andersen c8a4440d0c boards: arm: zybo: add board definition for the Digilent Zybo
Add board definition for the Xilinx Zynq-7000-based Digilent Zybo.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2022-06-28 20:46:11 +02:00
Andrei Emeltchenko d85db8b254 boards: ehl_crb: Add llvm to supported toolchains
Adding llvm allows to use twister testing.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2022-06-28 13:50:19 -04:00
Gerard Marull-Paretas ccca2aa81b boards: arm: bl5340_dvk: enable SPI if CONFIG_DISPLAY=y
ILI9341 display requires SPI bus, enable it if CONFIG_DISPLAY=y

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-06-28 15:53:10 +02:00
Gerard Marull-Paretas 69fc9a3d0a boards: esp_wrover_kit: enable SPI if CONFIG_DISPLAY=y
If we enable DISPLAY=y, ILI9341 will be selected automatically if all of
its dependencies are met as well (SPI), let's add this to the board
defconfig.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-06-28 15:53:10 +02:00
Steffen Jahnke 396a751549 boards: Add PAN1780 evaluation board
The PAN1780 evaluation board is a development tool for the nRF52840
from Nordic Semiconductor.

Signed-off-by: Steffen Jahnke <steffen.jahnke@eu.panasonic.com>
2022-06-28 15:51:55 +02:00
Steffen Jahnke a572b386d8 boards: Add PAN1781 evaluation board
The PAN1781 evaluation board is a development tool for the nRF52820
from Nordic Semiconductor.

Signed-off-by: Steffen Jahnke <steffen.jahnke@eu.panasonic.com>
2022-06-28 15:51:55 +02:00
Steffen Jahnke 04cc9cb6c9 boards: Add PAN1782 evaluation board
The PAN1782 evaluation board is a development tool for the nRF52833
from Nordic Semiconductor.

Signed-off-by: Steffen Jahnke <steffen.jahnke@eu.panasonic.com>
2022-06-28 15:51:55 +02:00
Steffen Jahnke 6ade2a169c boards: Add PAN1770 evaluation board
The PAN1770 evaluation board is a development tool for the nRF52840
from Nordic Semiconductor.

Signed-off-by: Steffen Jahnke <steffen.jahnke@eu.panasonic.com>
2022-06-28 15:51:55 +02:00
Jeremy Bettis 6ede43b078 npcx: Set hex_file automatically w/ npcx hex image
When using CONFIG_NPCX_IMAGE_OUTPUT_HEX, set the hex_file
runners_yaml_props_target property, so that west flash will flash the
correct file.

Change the cmake flash rules to populate the hex_file value in the
runners.yaml file if either CONFIG_BUILD_OUTPUT_HEX is enabled or some
cmake file set the runners_yaml_props_target hex_file property.

Update the npcx9m6f_evb instructions now that the filename is implicit.

Signed-off-by: Jeremy Bettis <jbettis@google.com>
2022-06-28 11:09:35 +02:00
Aurelien Jarno 3f656778e6 boards: arm: nucleo_h7a3zi_q: enable ITCM
Add a zephyr,itcm entry to the chosen node similarly to the zephyr,dtcm
one.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2022-06-28 11:08:16 +02:00
Gerard Marull-Paretas fa0dc683fd boards: arm: nrf9160_innblue22: use regulators
The board enabled power switches at init time, hardcoding switch
information in a board C file. This patch makes use of the regulator
infrastructure to describe such power switches in DT, making the board
specific C code obsolete. CONFIG_REGULATOR is only enabled if
CONFIG_SENSOR=y, as switches power sensors.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-06-27 12:23:00 -05:00
Gerard Marull-Paretas bfe2c4eef9 boards: arm: nrf9160_innblue21: use regulators
The board enabled power switches at init time, hardcoding switch
information in a board C file. This patch makes use of the regulator
infrastructure to describe such power switches in DT, making the board
specific C code obsolete. CONFIG_REGULATOR is only enabled if
CONFIG_SENSOR=y, as switches power sensors.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-06-27 12:23:00 -05:00
Kumar Gala 01640b9cda boards: remove usage of DT_LABEL
A number of boards utilize device_get_binding(DT_LABEL(...)) to
get a gpio for some purpose.  Switch over to using DEVICE_DT_GET
and device_is_ready() instead.  This is part of the ongoing
cleanup towards phasing out usage of the "label" property in DTS.

Signed-off-by: Kumar Gala <galak@kernel.org>
2022-06-27 12:45:19 +02:00
Aurelien Jarno 46618e4b86 boards: arm: nucleo_h7a3zi_q: add USB support
The Nucleo H7A3ZI-Q board has a micro USB connector connected to the USB
OTG HS controller. Enable it and update the documentation.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2022-06-24 20:25:52 +02:00
Alexandr Kolosov fc88a2a1fe boards: riscv: tlsr9518adk80d: add IMG_BLOCK_BUF_SIZE to board defconfig
Add IMG_BLOCK_BUF_SZE config into tlsr9518adk80d_defconfig due to
limitations for buffer image writter. The buffer shall be less (multiple
of access alignment) or equal to flash page. tlsr9518adk80d boards use
external P25Q16 IC as flesh memory. Flash page size of the IC is 256
bytes. So that, it is maximum image writer buffer size for such kind of
boards.

Signed-off-by: Alexandr Kolosov <rikorsev@gmail.com>
2022-06-24 20:25:33 +02:00
Alex Kolosov 1ddabc22f7 boards: riscv: tlsr9518adk80d: add new flash partition to the board dts
- Remove flash_mspi node that contains old one flash partition
- Add new partition in flash node
- Add the partition into choosen
- Add led2, led3 into aliases

Signed-off-by: Alex Kolosov <rikorsev@gmail.com>
2022-06-24 20:25:33 +02:00
Alex Kolosov 4a52bc22b6 soc: riscv: telink_b91: add dfu related configurations for b91 platform
Modify Telink b91 config files and linker script with necessary config
settings required for DFU.

Signed-off-by: Alex Kolosov <rikorsev@gmail.com>
2022-06-24 20:25:33 +02:00
Benjamin Björnsson 4db3b0c0d4 boards: arduino_nano_33_ble: Pull user LED low during board init
Pull user LED low during board init since the Arduino bootloader
leaves it high.

Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
2022-06-23 15:47:32 -05:00
Rubin Gerritsen 8619e0300a boards: nrf52_bsim: Replace irq name table with function call
The interrupt names are now defined in the HW models.
As a result, all source files in the nrf52_bsim folder are now
free of nrf52832 specific references. Therefore these can in
theory be used for other models as well.

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
2022-06-23 14:35:26 +02:00
Erwan Gouriou c107ec44b6 boards: stm32: Add zephyr_udc0 when it is missing.
Some STM32 based boards where missing the alternate node label zephyr_udc0,
leading to build issues when compiling usb samples.

Fixes #46626

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-06-23 09:10:20 +02:00
Dmytro Firsov 9891f16d67 xenvm: doc: Update docs for Xen VM according to new evtchn functionality
Signed-off-by: Dmytro Firsov <dmytro_firsov@epam.com>
2022-06-22 17:53:45 +02:00
Benjamin Björnsson 48e905c731 boards: arm: arduino_nicla_sense_me: Add user button
This commit adds a user button to the board DTS.

The button is not connected to nRESET as suggested
by the board schematics, but rather connected to
P0.21. The source code found in the Arduino IDE
connects an interrupt to this GPIO and calls
NVIC_System_Reset from there to cause the reset.

The button was therefore added as a regular button
to cover the most general case.

This has been verified on an Arduino Nicla Sense ME.

Signed-off-by: Benjamin Björnsson <benjamin.bjornsson@gmail.com>
2022-06-22 14:37:35 +02:00
Keith Packard d0c75f3b96 lib/libc: Add picolibc support (aarch32, aarch64 and RISC-V) [v21]
Picolibc is a fork of newlib designed and tested on embedded systems. It
offers a smaller memory footprint (both ROM and RAM), and native TLS
support, which uses the Zephyr TLS support.

By default, the full printf version is included in the executable, which
includes exact floating point and long long input and output. A
configuration option has been added to switch to the integer-only
version (which also omits long long support).

Here are some size comparisons using qemu-cortex-m3 and this application
(parameters passed to printf to avoid GCC optimizing it into puts):

void main(void)
{
    printf("Hello World! %s %d\n", CONFIG_BOARD, 12);
}

                       FLASH    SRAM
    minimal             8696    3952
    picolibc int        7600    3960
    picolibc float     12304    3960
    newlib-nano int    11696    4128
    newlib-nano float  30516    4496
    newlib             34800    6112

---

v2:
	Include picolibc-tls.ld

v3:
	Document usage in guides/c_library.rst and
	getting_started/toolchain_other_x_compilers.rst

v4:
	Lost the lib/libc/picolibc directory somehow!

v5:
	Add PICOLIBC_ALIGNED_HEAP_SIZE configuration option.
	Delete PICOLIBC_SEMIHOST option support code

v6:
	Don't allocate static RAM for TLS values; TLS
	values only need to be allocated for each thread.

v7:
	Use arm coprocessor for TLS pointer storage where supported for
	compatibility with the -mtp=cp15 compiler option (or when the
	target cpu type selects this option)

	Add a bunch of tests

	Round TLS segment up to stack alignment so that overall stack
	remains correctly aligned

	Add aarch64 support

	Rebase to upstream head

v8:
	Share NEWLIB, NEWLIB_NANO and PICOLIBC library configuration
	variables in a single LIBC_PARTITIONS variable instead of
	having separate PICOLIBC_PART and NEWLIB_PART variables.

v9:
	Update docs to reference pending sdk-ng support for picolibc

v10:
	Support memory protection by creating a partition for
	picolibc shared data and any pre-defined picolibc heap.

v11:
	Fix formatting in arch/arm/core/aarch64/switch.S

v12:
	Remove TLS support from this patch now that TLS is upstream
	Require THREAD_LOCAL_STORAGE when using PICOLIBC for architectures
	that support it.

v13:
	Merge errno changes as they're only needed for picolibc.
	Adapt cmake changes suggested by Torsten Tejlmand Rasmussen

v14:
	Update to picolibc 1.7 and newer (new stdin/stdout/stderr ABI)

v15:
	Respond to comments from dcpleung:
	* switch kernel/errno to use CONFIG_LIBC_ERRNO instead of
          CONFIG_PICOLIBC
	* Add comment to test/lib/sprintf as to why the %n test
	  was disabled for picolibc.

v16:
	Switch picolibc to a module built with Zephyr. This eliminates
	toolchain dependencies and allows compiler settings for Zephyr
	to also be applied to picolibc.

v17:
	Provide Zephyr-specific 'abort' implementation.
	Support systems with MMU

v18:
	Allow use of toolchain picolibc version.

v19:
	Use zephyr/ for zephyr headers

v20:
	Add locking
	Use explicit commit for picolibc module

v21:
	Create PICOLIBC_SUPPORTED config param. Set on arc, arm, arm64,
	mips and riscv architectures.

Signed-off-by: Keith Packard <keithp@keithp.com>
2022-06-22 13:15:55 +02:00
Vinayak Kariappa Chettimada 87fec9d98d boards: nrf5340dk_nrf5340_cpunet: Remove explicit BT_HCI_VS enable
Remove explicit BT_HCI_VS enable, this will be enabled when
the used Controller selects BT_HAS_HCI_VS.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2022-06-22 12:28:05 +02:00
Vinayak Kariappa Chettimada 048619639d boards: nrf5340dk_nrf5340_cpunet: Disable BT_ECC support
Disable BT_ECC support in network core to reduce RAM usage.
ECC implementation can instead be supported in the Host
running in the application core.

This is also to keep hci_uart (nRF52 Series) and hci_rpmsg
(nRF53 Series) have the same support features. ECC is not
enabled in hci_uart sample.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
2022-06-22 12:28:05 +02:00
Sylvio Alves b8dbe08425 soc: esp32s2: fix invalid storage address
Fix duplicated storage address.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2022-06-22 12:27:32 +02:00
Martin Jäger ac47200150 boards: arm: nucleo_f446re: use can2 instance for testing
Choose can2 as the zephyr,canbus instance and add necessary settings
for testing of the STM32 dual CAN driver implementation.

Signed-off-by: Martin Jäger <martin@libre.solar>
2022-06-22 12:25:26 +02:00
Henrik Brix Andersen b39960a5df boards: arm: twr_ke18f: enable I2C bus recovery
Enable I2C bus recovery for LPI2C0 and LPI2C1 on the NXP TWR-KE18F
development board.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2022-06-22 12:24:08 +02:00
Henrik Brix Andersen 83206a425f boards: arm: mimxrt1024_evk: enable I2C bus recovery
Enable I2C bus recovery for LPI2C4 on the NXP i.MX RT1024 Evaluation Kit
board.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2022-06-22 12:24:08 +02:00