Commit graph

4609 commits

Author SHA1 Message Date
Daniel Leung
7a1766d3b6 boards: x86: add qemu_x86_virt to test running in virtual space
This adds a new qemu_x86_virt board where code and data are
mapped in virtual address space and is actually executing within
virtual address space.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2021-03-03 20:10:22 -05:00
Ioannis Glaropoulos
d39aa58f10 boards: arduino due: add reset after load for Jlink flashing
Force the Arduino Due device to preform a reset after loading
the program using JLink, effectively allowing the program to
run after west flash.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2021-03-03 14:14:43 -06:00
Martí Bolívar
2a4ac9ac02 boards: nrf: fix deprecated I2C properties
Commit 821c03a14a ("i2c: nordic: switch
to phandle arrays for pinmux") deprecated some Nordic devicetree
properties.

When boards get merged with stale CI results (i.e. if CI results are
from a mainline commit earlier than 821c03a1), we will get deprecation
warnings, which twister treats as errors.

Play whack-a-mole with the ones that are in tree.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-03-03 12:04:15 -06:00
Glauber Maroto Ferreira
c344d0d74d esp32: drivers: counter: add support for general-purpose counters
Adds support for ESP32 general-purpose Counters

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2021-03-03 13:02:02 +01:00
Ioannis Glaropoulos
1b22f6b8c8 arm: cortex_m: enable null-pointer exception detection in the tests
Enable the null-pointer dereferencing detection by default
throughout the test-suite. Explicitly disable this for the
gen_isr_table test which needs to perform vector table reads.
Disable null-pointer exception detection on qemu_cortex_m3
board, as DWT it is not emulated by QEMU on this platform.
Additionally, disable null-pointer exception detection on
mps2_an521 (QEMU target), as DWT is not present and the MPU
based solution won't work, since the target does not have
the area 0x0 - 0x400 mapped, but the QEMU still permits
read access.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2021-03-03 10:38:29 +01:00
Mikkel Jakobsen
9f45cb65f2 boards: frdm_k22f: enable DAC0
Enable DAC0 on the NXP FRDM-K22F development board.

Signed-off-by: Mikkel Jakobsen <mikkel.aunsbjerg@prevas.dk>
2021-03-02 16:27:47 -06:00
Kumar Gala
fa6a9f7ae8 boards: intel_s1000_crb: Add dma channels to dmic device
Add dma channel info to devicetree

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-03-02 14:59:17 -05:00
Raveendra Padasalagi
eefec6ff05 boards: arm: bcm958402m2_m7: Enable PCIE Ep driver
Enable PCIE EP driver.

Signed-off-by: Raveendra Padasalagi <raveendra.padasalagi@broadcom.com>
2021-03-02 10:03:34 -06:00
Kumar Gala
263ac3e9e5 drivers: pinmux: mcux_lpc: Convert to using devicetree
Convert driver and users of pinmux on mcux lpc platforms to getting
basic port info from devicetree (register address, label)

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-03-01 12:04:53 -06:00
Martí Bolívar
17a66304c4 boards: nrf: switch to sda-gpios, scl-gpios
Move the BOARD.dts files for Nordic-based boards to use the new I2C
devicetree properties for specifying the SDA and SCL pins.

This was done with a script.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-03-01 16:59:56 +01:00
Bob Recny
56541268f4 board: arm: add ubx_bmd380eval_nrf52840
Changed document images to smaller versions

Signed-off-by: Bob Recny <bob.recny@u-blox.com>
2021-03-01 14:35:03 +03:00
Armando Visconti
79c709bf02 drivers/sensor: ism330dhcx: Move INT_PIN Kconfig attr into DT
Convert ism330dhcx INT_PIN attribute from Kconfigs to Device
Tree binding properties. Here int-pin has been defined as
enum with two possible values: 1 and 2.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2021-02-28 16:47:15 -05:00
Kumar Gala
ff5b040f78 boards: Add i2s to supported list for testing
Add i2s as a supported feature on at least one board for each driver
that we have in tree to get CI coverage.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-02-26 14:21:59 -06:00
Kumar Gala
a61744d952 boards: mec15xxevb_assy6853/mec15xxevb_assy6853: Fix compile warning
If CONFIG_I2C=n is set we get a build warning:

pinmux.c:35:13: error: 'i2c_pinmux' defined but not used

Fix this by adding ifdef protection around i2c_pinmux.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-02-26 11:39:54 -06:00
Kumar Gala
b0fd0474cf boards: em_starterkit: Fix duplicate labels
LEDs 5..8 re-used labels from LED1..4.  Fix the labels to be unique.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-02-25 13:39:51 -06:00
Kumar Gala
b5a3fe1471 boards: mec15xxevb_assy6853: remove unused Kconfig settings
CONFIG_SPI_0 and CONFIG_SPI_0_OP_MODES aren't relevant for the
XEC QMSPI driver so remove setting them.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-02-25 10:37:51 -05:00
Helge Juul
30dbc40909 drivers/flash: stm32: Extend qspi-nor support to F7 series
Add quadspi node in stm32f7.dtsi and quadspi support to boards
stm32f746g_disco and stm32f769i_disco.
Note! Does not support DMA.

Signed-off-by: Helge Juul <helge@fastmail.com>
2021-02-24 18:12:40 -06:00
Kumar Gala
a6ffcdbac3 boards: bbc_microbit: Add pwm as supported peripherals
Add pwm to board yaml as supported peripherals on the bbc_microbit.
This is needed as the servo_motor sample requires it.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-02-24 15:46:18 -06:00
Pavlo Hamov
6e1380cd3f doc: boards: cc32xx add watchdog info
Update yaml with supported watchdog driver

Signed-off-by: Pavlo Hamov <pasha.gamov@gmail.com>
2021-02-24 08:35:27 -06:00
Martí Bolívar
d2280197ac boards: bbc_microbit_v2: add missing i2c0 compatible
The board's main I2C bus controller doesn't have a compatible set, so
it's not detected as an I2C bus at all.

This breaks the build when trying to build the samples/sensor/lis2dh
application with the lis2dh sensor on that bus.

Fixes: #32420
Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-02-24 08:30:33 -06:00
NavinSankar Velliangiri
a4ce7e3dea boards: arm: bmd_345_eval: Add BMD 345 EVAL Board Support.
Add support for BMD 345 EVAL BSP with PA/LNA support
Fixes: #31585

Signed-off-by: NavinSankar Velliangiri <navin@linumiz.com>
2021-02-23 16:31:41 -06:00
Pete Johanson
32a28f9876 boards: seeeduino_xiao: Output UF2 by default.
Default BOSSA bootloader supports UF2 OOTB, so enabling
UF2 output by default.

Signed-off-by: Pete Johanson <peter@peterjohanson.com>
2021-02-23 21:11:04 +01:00
Henrik Brix Andersen
9003cc8a89 shields: waveshare_epaper: move common dtsi file to dts folder
Move the common devicetree include file for the waveshare_epaper shields
to the dts subfolder.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2021-02-23 12:37:54 +01:00
Mahesh Mahadevan
d8283b63ec boards: lpc: Update pinmux setting to remove the const keyword
This would save some space by using a local variable

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2021-02-22 18:21:31 -06:00
Mulin Chao
7c9d3f44f0 driver: sensor: npcx: add tachometer sensor support.
In NPCX7 series, it contains two tachometer (TACH) modules that contains
two Independent timers (counter 1 and 2). They are used to capture a
counter value when an event is detected via the external pads (TA or
TB).

The CL also includes:
— Add npcx tachometer device tree declarations.
— Zephyr sensor api implementation for tachometer.
— Enable "tach1" device in npcx7m6fb.dts for testing.

Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
2021-02-22 17:56:19 -05:00
Daniel Leung
d340afd456 x86: use CONFIG_SRAM_OFFSET instead of CONFIG_X86_KERNEL_OFFSET
This changes x86 to use CONFIG_SRAM_OFFSET instead of
arch-specific CONFIG_X86_KERNEL_OFFSET. This allows the common
MMU macro Z_BOOT_VIRT_TO_PHYS() and Z_BOOT_PHYS_TO_VIRT() to
function properly if we ever need to map the kernel into
virtual address space that does not have the same starting
physical address.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2021-02-22 14:55:28 -05:00
Glauber Maroto Ferreira
74922049ba drivers: spi: esp32: add basic SPI master support
Include SPI master support for blocking and asynchronous calls.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2021-02-22 08:17:04 -05:00
Øyvind Rønningstad
5137135ead boards: Consolidate all TFM signing code
Place the new signing code in the TFM module CMakeLists.txt.
Make some small tweaks and add a sentence to the docs.

In the process, make a few changes to the signing code:
- Change some names of files created.
- Minimize the number of files created.
- Use hex files instead of bin files. This is so we don't need to know
  the offset when creating hex files from bin files.

Also add signing for MCUBOOT_IMAGE_NUMBER=1 based on the code from the
v2m_musca_b1 board, though, this board does not build with =1 now
because of (I assume) some flash aliasing which places the S and NS
images 0x10000000 apart, where the manual algorithm places them next to
each other. It builds with =2, though.

Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
2021-02-21 18:44:18 +03:00
Mulin Chao
1f731c6c02 driver: soc: power: npcx: Add power managerment support.
This CL introduces power management driver that improves the efficiency
of ec operation by adjusting the chip’s power consumption to the level
of activity required by the application in npcx series.

The following list summarizes the main properties of the various chip
power states. Please refer the power.c file for more detail.

Main power states in npcx series include:
- Active: Core, RAM and modules operate at the clocks generated by PLL.
- Idle: Enter this state when the Core executes WFI or WFE instruction.
- Sleep: clock is stopped for most of modules but PLL is enabled.
- Deep Sleep: As Sleep mode but PLL is disabled.
- Standby: All power rails are turned off besides standby and battery
  power rails.

And this CL implements one power state, PM_STATE_SUSPEND_TO_IDLE, with
two sub-states for Zephyr power management system.
Sub-state 0 - "Deep Sleep" mode with “Instant” wake-up if residency
              time is greater or equal to 1 ms
Sub-state 1 - "Deep Sleep" mode with "Standard" wake-up if residency
              time is greater or equal to 201 ms

Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
2021-02-19 22:39:53 -05:00
Mulin Chao
e5caae8e0a driver: timer: npcx: add system kernel timer support.
This CL introduces a kernel device driver implemented by the internal
64/32-bit timers in Nuvoton NPCX series. Via these two kinds of timer,
the driver provides an standard "system clock driver" interface.

It includes:
 - A system timer based on an ITIM64 (Internal 64-bit timer) instance,
   clocked by APB2 which freq is CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC.
 - Its prescaler is set to 1 and provide the kernel cycles reading
   without handling overflow mechanism.
 - A event timer based on an ITIM32 (Internal 32-bit timer) instance,
   clocked by LCLK which frequency is 32KHz and still activated when ec
   entered "idle/deep idle" power state for better power consumption.
 - Its prescaler is set to 1 and provide timeout event mechansim.
 - Compensate system timer which clock is gating for better power
   consumption after ec left"idle/deep idle" power state.

This CL passed starve, timer_api, and timer_monotonic test suites.

Signed-off-by: Mulin Chao <mlchao@nuvoton.com>
2021-02-19 22:39:53 -05:00
Alexandre Bourdiol
68f5626b64 boards/dts: add SPI support to nucleo_wl55jc board
Add SPI support to nucleo_wl55jc board

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2021-02-19 22:39:24 -05:00
Alexandre Bourdiol
d98ce0b9d4 boards/dts: add i2c support to nucleo_wl55jc
Add I2C support to nucleo_wl55jc

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2021-02-19 22:39:24 -05:00
Alexandre Bourdiol
6663982fde boards: arm: add nucleo_wl55jc board support
Add support of nucleo_wl55jc board

Signed-off-by: Alexandre Bourdiol <alexandre.bourdiol@st.com>
2021-02-19 22:39:24 -05:00
Daniel Leung
d2602de329 board: x86: add new board qemu_x86_lakemont
This adds a new board qemu_x86_lakemont for testing
the Lakemont SoC configuration.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2021-02-19 18:51:04 -05:00
Daniel Leung
cd703ae9cf boards: x86/qemu: enable CPU flags for MMX/SSE
Tells QEMU to enable CPU flags corresponding to MMX/SSE
kconfigs.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2021-02-19 18:51:04 -05:00
Seppo Takalo
91869f3ba5 runners: jlink: Use specific target device for nrf9160DK
When proper target device is specified, instead of generic
Cortex-M33, JLinkGDBServer is able to flash the device on "load"
command.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2021-02-19 14:26:25 -06:00
Anas Nashif
ff24090527 tests: filter default platforms
Do not attempt to build/run all tests. Emulation platforms should
primarily build kernel and architecture related tests.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-02-19 14:41:01 -05:00
Pavlo Hamov
8bc2ef4538 boards: cc32xx: add ADC support
Enable ADC for cc32xxsf_launchxl boards

Signed-off-by: Pavlo Hamov <pasha.gamov@gmail.com>
2021-02-19 10:43:58 -06:00
Carlo Caione
1be06335fa qemu_cortex_a53: Unset QEMU icount to enable MTTCG
Quoting from the QEMU manual "MTTCG is not compatible with -icount and
enabling icount will force a single threaded run.". Given that for
Cortex-A53 we haven't seen any particular problem when disabling icount
try to disable it.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2021-02-19 16:26:38 +03:00
Laczen JMS
232272cff8 drivers: eeprom: EEPROM emulation in flash memory
This driver emulates a EEPROM device in flash.

Reworked implementation with modified flash layout.

The emulation represents the EEPROM in flash as a region that is a
direct map of the eeprom data followed by a region where changes to
the eeprom data is stored. Changes are written as address-data
combinations. The size of such a combination is determined by the
flash write block size and the size of the eeprom (required address
space), with a minimum of 4 byte.
The eeprom page needs to be a multiple of the flash page. Multiple
eeprom pages is also so supported and increases the number of writes
that can be performed.

The eeprom size, pagesize and the flash partition used for the eeprom
are defined in the dts. The flash partition should allow at least two
eeprom pages. For fast read access a rambuffer can be enabled for the
eeprom (by setting the option rambuf in the dts).

Signed-off-by: Laczen JMS <laczenjms@gmail.com>
2021-02-19 14:06:15 +01:00
Erwan Gouriou
d31ae99025 boards: stm32f1: Remove useless CONFIG_CLOCK_STM32_PLL_XTPRE=n
CLOCK_STM32_PLL_XTPRE Kconfig symbol default value is n.
Then there is no need to explicitly set it to 'n' in stm32f1 boards



Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-02-19 05:22:36 -06:00
Erwan Gouriou
832a0ec049 drivers/clock_control: stm32f1: Reinstanciate CLOCK_STM32_PLL_XTPRE
This reverts commit "drivers/clock_control: Remove useless
CLOCK_STM32_PLL_XTPRE config" 9be1f7e22f3b3c42009eeba15061cad3c0988b22.

Fixes #32382

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-02-19 05:22:36 -06:00
Thomas LE ROUX
3fe33fe388 boards: arm:Added Arduino's nexus node on the board's devicetree.
Also added various joystick aliases.

Signed-off-by: Thomas LE ROUX <thomas.leroux@smile.fr>
2021-02-18 13:35:22 -06:00
Kumar Gala
c1e1273df2 drivers: serial: native_posix: Convert 2nd UART to be devicetree based
The first uart instance was already devicetree based.  To be consistent
convert the second instance to also be devicetree based.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-02-18 09:06:21 +01:00
Harry Jiang
e287fd7ab2 boards: nucleo_h743zi: Add the IWDG support
This patch enable the independent watchdog support for the
NUCLEO-H743ZI board.

Signed-off-by: Harry Jiang <explora26@gmail.com>
2021-02-17 16:19:21 -06:00
Øyvind Rønningstad
edfaa3998b tfm: Change TFM_BL2 config from a choice to a bool
The choice allowed for using TFM's own default. We now need full
knowledge over whether BL2 is enabled or not (e.g. to do signing),
so remove this option and simplify to a bool.

Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
2021-02-17 19:42:44 +03:00
Carlo Caione
a8b97075bf boards: qemu_cortex_a53_xip: Add Cortex-A53 XIP board
This is the copy of the QEMU Cortex-A53 board but with XIP support.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2021-02-17 14:13:10 +03:00
Carlo Caione
fadbe9d2f2 arch: aarch64: Add XIP support
Add the missing pieces to enable XIP for AArch64. Try to simulate the
XIP using QEMU using the '-bios' parameter.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2021-02-17 14:13:10 +03:00
Daniel Leung
9bd5860440 boards: qemu_x86: use correct memory size
All x86 QEMU boards have a hard-coded memory size of 9MB which
does not corresponding with what is defined in device tree.
So make use of CONFIG_SRAM_SIZE to provide correct memory size.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2021-02-16 19:08:55 -05:00
Daniel Leung
8ed9fecbba boards: x86: enable MULTIBOOT_MEMMAP
QEMU provides multiboot information by default so we can
use the provided memory map to mark reserved physical
memory. Note that 64-bit requires Multiboot2 which
currently both Zephyr and QEMU do not support, hence
it's not enabled for qemu_x86_64.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2021-02-16 19:08:55 -05:00