Commit graph

7239 commits

Author SHA1 Message Date
Siyuan Cheng
a147a26a2b arc: add nsim_em11d target
add nsim_em11d target specific for DSP feature

Signed-off-by: Siyuan Cheng <siyuanc@synopsys.com>
2022-12-19 11:56:55 +01:00
Tomasz Moń
85b7e1bc38 boards: bl654_usb: disable CDC ACM logging
Disable logging module in CDC ACM to prevent recursive logging loop when
CDC ACM is used as serial backend.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2022-12-19 10:10:18 +00:00
Ettore Chimenti
e7b3756c04 boards: arm: stm32f3_seco_d23: Add SECO JUNO SBC-D23 board
Add support for SECO JUNO board embedded microcontroller STM32F302VC,
designed to extend capabilities of the main processor Rockchip PX30.
The microcontroller provides several interfaces, such as 2 and 4-Wire
UARTs, USB, CAN, Modbus, 8-channels Timer, SPI, I2C and GPI/Os.
The communication between the two processors is realized with an
internal SPI line.

Signed-off-by: Ettore Chimenti <ettore.chimenti@seco.com>
2022-12-19 10:09:01 +00:00
Johann Fischer
10165b7d79 boards: degu_evk: disable CDC ACM logging
Board degu_evk uses CDC ACM UART as default backend for logging.
Disable logging module in CDC ACM to prevent recursive logging loop.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2022-12-16 21:00:57 +01:00
Johann Fischer
bb7ab1e0f2 shields: add Sparkfun MAX3421E shield support
Add Sparkfun MAX3421E shield support.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2022-12-16 13:21:12 +01:00
Gerard Marull-Paretas
5f8d59d69f boards: npm6001_ek: add regulator entries
Add entries for the BUCK0/1/2/3 and LDO0/1 regulators. Note that voltage
min/max limits have been set to the hardware limits. They can be
adjusted using overlays in applications, depending on the consumer
circuit constraints.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-12-16 11:26:47 +01:00
Daniel DeGrasse
ad10d1c832 boards: arm: update documentation for imxrt to reflect use of systick
Update documentation for imxrt boards to reflect the default clock
source being systick, and clarify that the GPT timer will only be
used in low power modes. Add a build time warning when the GPT
timer is enabled, so that the user will be aware of the resolution
tradeoff when using the GPT timer.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-12-16 09:31:48 +01:00
Daniel DeGrasse
4be1fb81ce soc: arm: nxp: switch imxrt boards to use systick timer unless CONFIG_PM=y
Switch all imxrt boards to use the systick timer by default, and only
enable the GPT timer when using low power modes. This is desirable
because the systick has a higher resolution, but the GPT can run
while the core clock is gated, making it useful for low power modes.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-12-16 09:31:48 +01:00
Ryan McClelland
76bf533fca boards: stm32h747: add usb otg hs and ulpi phy definition
Add usb otg hs definition for the stm32h747 disco board

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2022-12-15 14:28:00 +00:00
Tomasz Moń
21975231e2 usb: device: cdc_acm: Prevent recursive logging loop
Allow enabling CDC ACM logging only if CDC ACM is not used as logging
backend. This prevents endless recursive logging loop, especially
visible when minimal footprint logging is enabled.

Fixes: #52981

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2022-12-15 14:54:24 +01:00
Gerard Marull-Paretas
305ce33b77 drivers: regulator: add parent DVS API
PCA9420 PMIC offers of multiple operation states, or DVS (Dynamic
Voltage Scaling). Such states may be automatically changed by hardware
using MODESEL0/1 pins. Certain MCUs allow to automatically configure
certain output pins when entering low power modes so that PMIC state is
changed without software intervention.  This means that application just
needs to configure the voltages for each state using
`nxp,modeN-microvolt`, set `nxp,enable-modesel-pins` in devicetree and
forget about configuring regulators.

This patch introduces a new _parent_ API to expose such functionality in
a vendor agnostic way. Consider this API as experimental for now, until
we have other usecases.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-12-14 17:01:44 +01:00
Gerard Marull-Paretas
10ce9684c3 drivers: regulator: fix/improve usage of devicetree properties
Most of devicetree properties for regulator, such as:

- regulator-min/max-microvolt
- regulator-min/max-microamp
- regulator-allowed-modes
- etc.

Are meant to specify limits on what consumers may set. They are **NOT**
meant to describe the hardware capabilities. For example, I could have a
BUCK converter that supports 0-5V output voltage, but my circuit may
only allow working on the 2.7-3.3V range.

This patch reworks the API so that the API class layer manages this
information. This is done by drivers collecting all such fields in a
common configuration structure that is later accessed by the class
layer. This simplifies drivers implementation. For example, if A
consumer calls regulator_set_voltage() with a voltage that is supported
but not allowed, driver code won't be called. Similarly, if a regulator
is configured to be `always-on`, enable/disable driver code will never
be called.

Drivers have been adjusted. PCA9420 mode settings have been removed from
devicetree in this commit as they are not actual modes but PMIC states.
This will be refactored in a follow-up commit.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-12-14 17:01:44 +01:00
Alberto Escolar Piedras
9fc1ca7997 nrf52_bsim: Expand some bs_tests hooks descriptions
Expand the descriptions of some bs_tests hooks

Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
2022-12-14 16:34:55 +01:00
Alberto Escolar Piedras
fb95defce3 nrf52_bsim: Add option to delay CPU and test initialization
In some simulated test cases, it can be usefull
to delay the boot of the CPU and the test initialization
for a while. Namely by the offset of the device
relative to other simulated devices.

We add the option to select so from command line.
By default the option is disabled so this change is
backwards compatible.

Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
2022-12-14 16:34:55 +01:00
Jay Vasanth
739b8e6f36 mec172xmodular_assy6930: add board support
Add board files and documentation for mec172xmodular_assy6930.
This is for MEC172x Modular Card support.

Signed-off-by: Jay Vasanth <jay.vasanth@microchip.com>
2022-12-14 09:51:17 +01:00
Patryk Duda
17d3f3a5a0 boards: arm: Introduce Google Dragonclaw Development Board
Dragonclaw is a board created by Google for fingerprint-related
functionality development. Board schematics, layout and BOM is
available at:
https://chromium.googlesource.com/chromiumos/platform/ec/+/HEAD/docs/schematics/dragonclaw

Signed-off-by: Patryk Duda <pdk@semihalf.com>
2022-12-13 20:08:10 +00:00
Marek Matej
f86a7d2c25 drivers: dac: esp32: Add support for DAC controller
Initial DAC driver for the ESP32/ESP32-S2 SOCs

Signed-off-by: Marek Matej <marek.matej@espressif.com>
2022-12-13 16:29:38 +00:00
Erwan Gouriou
33d14f49a6 boards: nucleo_g0b1re: enables HSI48 clock for USB
Enables the HSI48 clock on the nucleo_g0b1re platform.
Fix warning when building USB related samples.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2022-12-13 08:23:57 -05:00
Siyuan Cheng
9a7ed58b25 arc: add XY mem support
The XY Memory is a feature commonly found in DSP processors to increase
the DSP performance. The XY component allows a ARC processor to
implicitly load source operands and store results into a closely coupled
memory using a single instruction.

Add XY memory for ARC EM9D/EM11D processors including em_starterkit,
em_starterkit_em11d. emsdp_em9d, nsim_em, iotdk.

Signed-off-by: Siyuan Cheng <siyuanc@synopsys.com>
2022-12-12 14:38:13 +00:00
Fabio Baltieri
d75607f234 boards: riscv: add Seeed Studio xiao_esp32c3
Add Seeed Studio xiao_esp32c3, an ESP32-C3 based board using the XIAO
form factor.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2022-12-12 14:55:59 +01:00
Andriy Gelman
727e589448 drivers: interrupt_controller: Add XMC4XXX ERU driver
In Infineon XMC4XXX SoCs, gpio interrupts are triggered via an
Event Request Unit (ERU) module. A subset of the gpios are
connected to the ERU. The ERU monitors edge triggers and creates
a SR.

This driver configures the ERU for a target port/pin combination
for rising/falling edge events. Note that the ERU module does
not generate SR based on the gpio level. Internally the ERU
tracks the *status* of an event. The status is set on a positive
edge and unset on a negative edge (or vice-versa depending on
the configuration). The value of the status is used to implement
a level triggered interrupt; The ISR checks the status flag and
calls the callback function if the status is set.

The ERU configurations for supported port/pin combinations are
stored in a devicetree file dts/arm/infineon/xmc4xxx_x_x-intc.dtsi.
The configurations are stored in the opaque array
uint16 port_line_mapping[].

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2022-12-12 10:51:29 +01:00
TOKITA Hiroshi
7e9ffdf461 boards: arm: gd32: Add support for counter device
Add line to yaml for supporting counter

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2022-12-12 10:08:12 +01:00
Rodrigo Cataldo
705be4ce0f dts: qemu: a53: kvm: add DTS support for PCIe controller
Add DTS information for qemu-virt-a53 and qemu-kvm-arm64 for PCIe
controller support. Three new bindings are required for the PCIe
controller in ECAM mode.

The DTS information was extracted from QEMU (dumpdtb) with a PCIe device
attached to the virtual machine (ivshmem)

Signed-off-by: Rodrigo Cataldo <rodrigo.cataldo@huawei.com>
Co-authored-by: Henri Xavier <datacomos@huawei.com>
2022-12-10 09:47:26 +01:00
Filip Brozovic
239c69ee49 boards: arm: nuvoton_pfm_m487: use gpio and pinctrl apis by default
Now that we have support for the GPIO and pinctrl APIs on this platform,
enable them by default and add definitions for the on-board LEDs and
switches. Additionally, use the pinctrl API to configure the UART pins.

Signed-off-by: Filip Brozovic <fbrozovic@gmail.com>
2022-12-08 18:46:33 +01:00
Filip Brozovic
0df2e8c888 boards: arm: nuvoton_pfm_m487: fix incorrect shell uart alias
The shell UART in the chosen node was incorrectly specified as
"zephyr,shell" instead of "zephyr,shell-uart". Fix it.

Signed-off-by: Filip Brozovic <fbrozovic@gmail.com>
2022-12-08 18:46:33 +01:00
Konstantinos Papadopoulos
9d3251e37a shields: add Semtech SX1262MB2DAS
Adding support for SX1262MB2DAS board which comes with SX1262.

Signed-off-by: Konstantinos Papadopoulos <kostas.papadopulos@gmail.com>
2022-12-08 10:33:38 +00:00
Georgij Cernysiov
6d9ba737e6 boards: arm: nucleo_h723zg enable USB
Enables USB OTG HS with internal FS PHY.

Signed-off-by: Georgij Cernysiov <geo.cgv@gmail.com>
2022-12-08 09:58:58 +00:00
Francois Ramu
7fc48ff2c6 boards: arm: nucleo l4r5zi enables HSI48 clock for USB
Enables the HSI48 clock on the nucleo_l4r5zi platform.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-12-08 16:48:25 +09:00
Patryk Duda
82d26da680 boards: arm: Enable RTC backup RAM on some boards
This patch enables STM32 RTC BBRAM in DTS on some STM32 boards for
testing purposes.

Signed-off-by: Patryk Duda <pdk@semihalf.com>
2022-12-08 16:47:09 +09:00
TOKITA Hiroshi
a0535439b4 boards: riscv: longan_nano: add configuration for LCD
Add configuration for built-in display.
LCD has a Sitronix ST7735S controller that is connected to the SPI bus.
Using it with the ST7735R driver.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2022-12-07 14:25:55 +00:00
Embla Flatlandsmo
fb51823228 boards: arm: Add adafruit_itsybitsy_nrf52840 board
Adds support for the Adafruit ItsyBitsy nRF52840 Express.

This board ships with the UF2 bootloader, so the device has
been set up so that Zephyr applications are flashed the
same way that other (Adafruit) firmware is flashed with the
UF2 bootloader.

This has been tested locally, and the button, blinky and
led_apa102 samples run without problems.

Signed-off-by: Embla Flatlandsmo <embla.flatlandsmo@gmail.com>
2022-12-07 10:06:11 +00:00
Francois Ramu
7c6fa7c370 boards: arm: enabling hsi48 for SDMMC peripheral on stm32 platforms
The different boards with stm32 which have node enabled in their DTS
also requires the HSI48 clock to be enabled.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-12-07 10:03:11 +00:00
Francois Ramu
d5e304621d boards: arm: enabling hsi48 for USB peripheral on stm32 platforms
The different boards with stm32 which have node enabled in their DTS
also requires the HSI48 clock to be enabled.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-12-07 10:03:11 +00:00
Francois Ramu
4f42512d8e boards: arm: enabling hsi48 for RNG peripheral on stm32 platforms
The different boards with stm32 which have node enabled in their DTS
also requires the HSI48 clock to be enabled.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-12-07 10:03:11 +00:00
Francois Ramu
b3ccd3abc6 boards: arm: nucleo_wb55rg enables hsi48 for Bluetooth
The nucleo_wb55rg platform has Bluetooth feature that
requires the HSI48.
The board DTS enables the HSI48MHz clock for that purpose.
And also selects it as the source (default) of the CLK48.
Note that the clk48 node must be enabled for any another source.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2022-12-07 10:03:11 +00:00
Daniel DeGrasse
34b88e78f8 boards: mimxrt1160_evk: Update RT1160 documentation for dual core support
Update rt1160 documentation for dual core support

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-12-05 19:54:37 +01:00
Daniel DeGrasse
b09f2b8990 boards: mimxrt1160_evk: enable messaging unit
Enable messaging unit support for RT1160 EVK

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-12-05 19:54:37 +01:00
Daniel DeGrasse
6688fa2a39 boards: mimxrt1160_evk: add support for loading M4 image from OCRAM
Add support for loading M4 image from OCRAM when running with dual core
operation. The M7 core will copy the M4 image from flash into OCRAM, and
the M4 core will execute it there.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-12-05 19:54:37 +01:00
Daniel DeGrasse
970d125b05 boards: mimxrt1160_evk: Refactor flexspi partition definition
Flexspi partition definition is shared between both cm4 and cm7 core.
Refactor it to be in shared dtsi file. This will ensure that both cores
share the same partition information, for dual core operation.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-12-05 19:54:37 +01:00
Daniel DeGrasse
318751a4db boards: mimxrt1170_evk: Update RT1170 documentation for dual core support
Update RT1170 documentation for dual core support

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-12-05 19:54:37 +01:00
Daniel DeGrasse
10714466c3 samples: ipc: openamp: Enable openamp sample for iMX.RT1170 EVK
Enable the openamp sample for RT1170EVK. CM4 core has a custom DTS
overlay to use LPUART2 for console information, and use a secondary GPT
timer for the system tick.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-12-05 19:54:37 +01:00
Daniel DeGrasse
0f6b7258e3 boards: mimxrt1170_evk: Enable LED1 node
LED1 node is enabled, to provide a secondary led for the CM4 core.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-12-05 19:54:37 +01:00
Daniel DeGrasse
b80b35f196 boards: mimxrt1170_evk: enable messaging unit
Enable messaging unit support for RT1170 EVK

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-12-05 19:54:37 +01:00
Daniel DeGrasse
be5296e307 boards: mimxrt1170_evk: add support for loading M4 image from OCRAM
Add support for loading M4 image from OCRAM when running with dual core
operation. The M7 core will copy the M4 image from flash into OCRAM, and
the M4 core will execute it there.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-12-05 19:54:37 +01:00
Daniel DeGrasse
63266e473a boards: mimxrt1170_evk: Refactor flexspi partition definition
Flexspi partition definition is shared between both cm4 and cm7 core.
Refactor it to be in shared dtsi file. This will ensure that both cores
share the same partition information, for dual core operation.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-12-05 19:54:37 +01:00
Daniel DeGrasse
398d90ff48 dts: nxp_rt11xx: Refactored RT11xx CM7 and CM4 DTS
RT1170 and RT1160 CM7 and CM4 cores have the same set of differences.
Merge the DTS files for both CM4 and CM7 cores, to create generic
rt11xx_cm4 and rt11xx_cm7 files.

Signed-off-by: Daniel DeGrasse <daniel.degrasse@nxp.com>
2022-12-05 19:54:37 +01:00
Gerard Marull-Paretas
649a8195b3 drivers: regulator: pca9420: refactor mode handling
- Similar to what was done for other parts of the driver, remove any
  register specification from Devicetree (modesel-reg/mask)
- Keep all the information in the driver, and define modes as "numbers",
  e.g. PCA9420_MODE0: 0, PCA9420_MODE1: 1, etc.
- Bindings provide IC defaults now (all modes allowed 0/1/2/3 and
  initial mode set to 0).
- When mode is controlled via the MODESEL0/1 pins (ie directly by an iMX
  MCU using the dedicated PMIC_MODE0/1 pins), the driver will not allow
  to select a mode (it is not possible). This mode is now enabled by
  setting `nxp,enable-modesel-pins` in Devicetree. When enabled, all the
  allowed modes are configured to be selectable via pins. When disabled,
  mode can be set via I2C (using TOP_CNTL3 MODE0/1_I2C fields)

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-12-05 19:10:55 +01:00
Glauber Maroto Ferreira
9336a267f1 boards: riscv: esp32c3_devkitm: dts: add power states
Add power states to ESP32-C3 Devkit-M board dts.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-12-05 15:09:53 +01:00
Glauber Maroto Ferreira
d449b32b02 boards: xtensa: esp32s2_saola: dts: add power states
Add power states to ESP32-S2 Saola board dts.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-12-05 15:09:53 +01:00
Glauber Maroto Ferreira
7dbb1ff276 boards: xtensa: esp32: dts: add power states
Add power states to ESP32 board dts.

Signed-off-by: Glauber Maroto Ferreira <glauber.ferreira@espressif.com>
2022-12-05 15:09:53 +01:00