Commit graph

821 commits

Author SHA1 Message Date
Stephan Linz
8f2a3fc529 boards: shields: add support for MikroElektronika Flash 6 Click
Add shield definition for the MikroElektronika Flash 6 Click shield,
an mikroBUS compatible evaluation module for the Winbond W25Q128JV
(128M-bit) SPI Serial NOR Flash chip.

Tested with the command mentioned on the index.rst page.

Signed-off-by: Stephan Linz <linz@li-pro.net>
2026-03-12 11:34:18 +01:00
Duy Nguyen
a990a25b65 boards: shields: adjust GLCDC panel timing parameters
Adjust GLCDC panel timing parameters for
rtklcdpar1s00001be display shield and add missing config for lvgl when
used with DAVE2D

Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
2026-03-12 11:30:25 +01:00
Zafer SEN
d78304f027 drivers: modem: hl78xx: add low-power states, events, and APIs
Introduce a low-power framework for HL78xx: new states, events, Kconfig
options, URC handlers, GPIO control, and an optional power-down timer.
Includes DTS pins for WAKE/GPIO6/VGPIO and a public wake API.

Board/DTS:
- swir_hl78xx_ev_kit.overlay:
  - Add mdm-vgpio, mdm-gpio6, and mdm-wake GPIOs.

Kconfig:
- Add MODEM_HL78XX_POWER_DOWN when eDRX/PSM are both disabled.
- Add choice for power-down policy:
  - MODEM_HL78XX_USE_DELAY_BASED_POWER_DOWN (+ delay seconds).
  - MODEM_HL78XX_USE_ACTIVE_TIME_BASED_POWER_DOWN (+ active time).
- Tune eDRX defaults and add PTW value knob.
- Adjust PSM defaults (e.g., TAU default 15 minutes).
- Gate legacy sleep-delay settings when power-down is disabled.

Driver core (hl78xx.c/.h):
- New states:
  - RUN_PMC_CONFIG_SCRIPT (apply PSM/eDRX/power-down).
  - SLEEP (bus closed, UART suspended, wake via RESUME).
- New events (when low-power enabled):
  - DEVICE_ASLEEP, DEVICE_AWAKE, LTE_PSMEV_UPDATE.
- +CEREG handler:
  - Feed power timers, handle GNSS interplay, release socket comms
    after register when low-power is active.
- +PSMEV handler:
  - Track ENTER/EXIT, toggle WAKE pin, dispatch sleep/awake events.
- +KCELLMEAS handler:
  - Update RSRP, mark registered on valid signal, release comms.
- Carrier-on / await-registered:
  - Distinguish PSM entry vs coverage loss, route to SLEEP or retry.
  - Avoid iface status run during initial PSM edge cases.
- Sleep state handlers:
  - On enter: WAKE=0, release chat, close pipe, suspend UART, give sem.
  - On bus closed: decide GNSS pre/post-PSM behavior.
  - On resume: WAKE=1, resume UART, reopen pipe, proceed to GNSS or LTE.
- State-table safety:
  - Use MODEM_HL78XX_STATE_COUNT for bounds checks.
- Log improvements and explicit state transition trace.

APIs (hl78xx_apis.c / include):
- Add hl78xx_wakeup_modem() to resume from SLEEP (PSM).

Chat/URC (hl78xx_chat.c/.h):
- Enable +KPSMEV URC and +KCELLMEAS URC when low-power is on.
- Provide disable-PMC script when low-power is off.

Config helpers (hl78xx_cfg.c/.h):
- Add PMC enabling and settings application:
  - hl78xx_enable_pmc(), hl78xx_psm_settings(), hl78xx_edrx_settings().
- Power-down timer (when enabled):
  - Init/cancel/query and feed functions via k_work_delayable.
  - Feed timer on dynamic TX path to extend on activity.
- Add hl78xx_is_rsrp_valid() helper.
- Respect CONFIG_MODEM_LOG_LEVEL in cfg TU logging.

Misc:
- Expose hl78xx_release_socket_comms() for post-register gating.
- Guard init-fail path to require WAKE pin when low-power is on.
- Add RUN_PMC_CONFIG_SCRIPT transitions after RAT config.

Why:
- Reduce energy by using PSM/eDRX and a clean SLEEP state with bus and
  UART suspended. Optionally power down the modem when DRX features are
  disabled. Provide explicit wake and robust PSM detection.

Impact / migration:
- DTS must define WAKE/GPIO6/VGPIO if low-power is enabled.
- New state/event enums added; state table now uses *_STATE_COUNT.
- +KCELLMEAS URC is enabled unless GNSS blocks it (see comments).
- External users can call hl78xx_wakeup_modem() to resume from PSM.
- Power-down policy and delays are configurable via Kconfig.

Testing notes:
- Verified PSMENTER drives WAKE low and transitions to SLEEP.
- Verified RESUME re-opens UART, waits settle time, then proceeds.
- Confirmed GNSS pre/post-PSM flows per config.
- Checked power-down timer feeds on data activity and triggers OFF.

Signed-off-by: Zafer SEN <zafersn93@gmail.com>
2026-03-11 20:53:19 -04:00
Bobo Bäck Engström
4a3b0e1366 boards: shields: add MikroE LTE IoT 7 Click
Add a mikroBUS shield definition for the MikroElektronika LTE IoT 7
Click board.

The shield instantiates a u-blox SARA-R4 modem on the mikroBUS UART
and maps required modem control signals through mikroBUS header pins
for Zephyr modem use.

Signed-off-by: Bobo Bäck Engström <bobo@id8-engineering.io>
2026-03-10 17:25:24 +01:00
Alain Volmat
f5d0e87ea3 shields: raspberry_pi_camera_module_2: add stm32n6 configs files
Add board specific .conf files for the stm32n6 based boards.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2026-03-10 15:04:02 +01:00
Josuah Demangeon
9bdafcd39c boards: shields: introduce the Raspberry Pi Camera Module 2
Add a shield for the Raspberry Pi Camera Module 2, featuring the IMX219
sensor. This module is suitable for bot the "normal" and "No IR" (no
infra-red) variants and uses the rasapberry pi connector.

Signed-off-by: Josuah Demangeon <me@josuah.net>
Co-authored-by: Alain Volmat <alain.volmat@foss.st.com>
2026-03-10 15:04:02 +01:00
Alain Volmat
46b9c2537a boards: st: use csi_capture_port as alias instead of pipe_main
Introduce a node alias called csi_capture_port in order to allow
having non ST shield using the chosen csi_capture_port to indicate
the camera interface.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2026-03-10 15:04:02 +01:00
Yves Wang
8ff4b9733b boards: nxp: frdm_mcxe31b: support lcd_par_s035 8080
Add shield lcd_par_s035 16 bit 8080 support for frdm_mcxe31b

Signed-off-by: Yves Wang <zhengjia.wang@nxp.com>
2026-03-09 15:07:49 -05:00
Stephan Linz
5a5c84b688 boards: shields: add support for MikroElektronika EEPROM 13 Click
Add shield definition for the MikroElektronika EEPROM 13 Click shield,
an mikroBUS compatible evaluation module for the STMicroelectronics
M24M01E (1M-bit) I2C Serial EEPROM chip.

Tested with the command mentioned on the index.rst page.

Signed-off-by: Stephan Linz <linz@li-pro.net>
2026-03-09 11:12:35 -05:00
Jerome LAMY
3c0cdf8457 shields: add MikroE ACCEL 4 Click shield
Adds support for the MikroE ACCEL 4 Click shield

Signed-off-by: Jerome LAMY <jerome.lamy@savoirfairelinux.com>
2026-03-09 14:12:52 +01:00
Tamas Jozsi
7ec3d18e29 boards: shields: add shield/driver for the Arduino Modulino Latch Relay
Adds support for the Modulino Latch Relay I2C/QWIIC board.
Adds an example which turns a connected relay on/off periodically.

Signed-off-by: Tamas Jozsi <tamas.jozsi@silabs.com>
2026-03-09 14:12:03 +01:00
Chaitanya Tata
3bb97ca73a samples: net: wifi: shell: Add nRF7002Eb2 combos to twister
Add nRF7002EB2 with 54LM20 Series platforms to twister, 54L15 is not
added due to its low RAM.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2026-03-06 15:12:30 +01:00
Chaitanya Tata
02b90eee89 boards: shields: Add nRF7002 EB-II shield
This is primarily intended for providing Wi-Fi capabilities for the
nRF54L Series hosts using SPI.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
Signed-off-by: Bansidhar Mangalwedhekar <bansidhar.mangalwedhekar@nordicsemi.no>
2026-03-06 15:12:30 +01:00
Bobo Bäck Engström
352ebc5849 boards: shields: add MikroE RS485 Isolator 5 Click
Add a mikroBUS shield definition for the MikroElektronika RS485
Isolator 5 Click board.

The shield instantiates the RS485 transceiver on the mikroBUS UART
with the required DE/RE control pins exposed for Zephyr RS485 use.

Signed-off-by: Bobo Bäck Engström <bobo@id8-engineering.io>
2026-03-05 16:07:28 +01:00
Pete Johanson
10966a6bec shields: Add Adafruit 128x64 OLED Featherwing shield
Add a shield definition for the newer SH1106 based OLED featherwing.

Signed-off-by: Pete Johanson <pete.johanson@analog.com>
2026-03-05 04:42:38 +01:00
Vixay Phimmasane
e02e04098b boards: shields: add support for ZHAW Luma Matrix Shield
add support for ZHAW Luma Matrix Shield

Signed-off-by: Vixay Phimmasane <me@visuphi.ch>
2026-03-05 04:38:21 +01:00
James Liu
7a03e6e36b boards: shields: Add mchp_rnbd451_bt
Add board support for the Microchip RNBD451 shield.
This shield is compatible with a development board that includes a
mikroBUS socket.

Signed-off-by: James Liu <James.Liu2@microchip.com>
2026-03-03 11:10:15 +01:00
Stephan Linz
34bbc32697 boards: shields: mikroe_mcp25625_click: add missing STBY on CAN transceiver
Without the special CAN transceiver node to the MCP25625 Click, the STBY
pin will be pulled high from the internal pull-up resistor in the MCP2562
CAN transceiver, causing the CAN transceiver to stay in stand-by mode,
preventing any CAN bus traffic from taking place.

Signed-off-by: Stephan Linz <linz@li-pro.net>
2026-02-28 21:13:19 +01:00
Stephan Linz
045eaf472d boards: shields: mikroe_mcp251x_click: rearrange dts and use macros
Rearrange the devicetree overlays for the MikroElektronika MCP251x
shields to better align with node and property order used in the
rest of the tree.

Use "can" as devicetree node name as recommended in the Devicetree
specification.

Signed-off-by: Stephan Linz <linz@li-pro.net>
2026-02-28 21:13:19 +01:00
Stephan Linz
34c30fbf14 boards: shields: tcan4550evm: removes redundant properties and use macros
One status = "okay" entry was too much. Frequencies are now also specified
with the corresponding macros, as in other nodes.

Signed-off-by: Stephan Linz <linz@li-pro.net>
2026-02-27 13:55:50 +01:00
Stephan Linz
e37b4c64d9 boards: shields: mcp2515: rearrange dts and use macros
Rearrange the devicetree overlays for the MCP2515 shields to better align
with node and property order used in the rest of the tree.

Signed-off-by: Stephan Linz <linz@li-pro.net>
2026-02-27 13:55:31 +01:00
Stephan Linz
42140ecb9e boards: shields: mikroe_can_fd_6_click: rearrange dts and use macros
Rearrange the devicetree overlays for the MikroElektronika CAN FD 6
shield to better align with node and property order used in the rest
of the tree.

Use "can" as devicetree node name as recommended in the Devicetree
specification.

Signed-off-by: Stephan Linz <linz@li-pro.net>
2026-02-27 13:55:19 +01:00
Henrik Brix Andersen
7c55574d6b boards: shields: mikroe_mcp251xfd_click: add missing CAN transceivers
Add missing CAN transceivers to the MikroElektronika MCP251xFD shield
overlays.

Without the CAN transceiver added to the MCP251863 Click, the STBY pin will
be pulled high from the internal pull-up resistor in the AT6563 CAN
transceiver, causing the CAN transciever to stay in stand-by mode,
preventing any CAN bus traffic from taking place.

On the two other shields, the default solder jumpers tie the STBY_I signal
to GND, causing the CAN transceivers to always be enabled.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2026-02-27 07:59:32 +01:00
Henrik Brix Andersen
c09ab2f5fa boards: shields: mikroe_mcp251xfd_click: rearrange dts and use macros
Rearrange the devicetree overlays for the MikroElektronika MCP251xFD
shields to better align with node and property order used in the rest of
the tree.

Use "can" as devicetree node name as recommended in the Devicetree
specification.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2026-02-27 07:59:32 +01:00
Tim Pambor
e2dfb612eb shields: add MikroE Flash 5 Click shield
Adds support for the MikroE Flash 5 Click shield

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-02-26 10:32:12 +01:00
Bobo Bäck Engström
132372d324 boards: shields: add MikroE Temp & Hum Click
Add a mikroBUS shield definition for the MikroElektronika Temp & Hum
Click board.

The shield instantiates an ST HTS221 temperature and humidity sensor
on the mikroBUS I2C bus using the existing Zephyr sensor driver.

Signed-off-by: Bobo Bäck Engström <bobo@id8-engineering.io>
2026-02-25 18:45:39 +01:00
Alain Volmat
a06c118c4f st: lvgl: move all STM32 common LVGL settings in soc Kconfig.defconfig
LVGL BITS_PER_PIXEL and COLOR_DEPTH are closely linked to how the LTDC
is configured on the platform. Move all all STM32 common LVGL
configuration into the common stm32 Kconfig.defconfig.

CONFIG_LV_DPI_DEF and CONFIG_INPUT are application related.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2026-02-25 12:58:23 +01:00
Alain Volmat
dd332d2a05 boards: remove useless LV_Z_BITS_PER_PIXEL default setting
LVGL Kconfig already set the LV_Z_BITS_PER_PIXEL config based
on the LV_COLOR_DEPTH so avoid setting LV_Z_BITS_PER_PIXEL
for boards / shields when the LV_COLOR_DEPTH is also set.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2026-02-25 12:58:23 +01:00
Alain Volmat
91f7de236e shields: stm32: avoid LTDC format and HEAP size settings in shields conf
The LTDC pixel format and HEAP size is a matter of the application
rather than the configuration of the shield.
The LTDC has already a default RGB565 configuration hence such conf
is not more necessary, moreover sample display heap rework make the
CONFIG_HEAP_MEM_POOL_SIZE setting no more necessary.

cf "samples: display: define HEAP_MEM_POOL_ADD_SIZE_ for display buffer"

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2026-02-25 12:58:23 +01:00
Alain Volmat
ef91f5451e shields: st_lcd_dsi_mb1835: use RGB565 as default format
The RGB565 format should be suffisant as default format of LTDC
when using this shield and allows to keep the default framebuffer
memory usage low.
Application requiring RGB888 or ARGB8888 input format can later
on update the LTDC input format when really necessary.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2026-02-25 12:58:23 +01:00
Alain Volmat
27ddd3866d shields: st_b_lcd40_dsi1_mb1166: use RGB565 as default format
The RGB565 format should be suffisant as default format of LTDC
when using this shield and allows to keep the default framebuffer
memory usage low.
Application requiring RGB888 or ARGB8888 input format can later
on update the LTDC input format when really necessary.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2026-02-25 12:58:23 +01:00
Jilay Pandya
6ccef4d773 drivers: stepper: rename dt-bindings
stepper-ctrl is used as suffix for motion control drivers
stepper-driver is used as suffix for stepper drivers in mfd devices

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2026-02-24 10:32:31 +01:00
Henrik Brix Andersen
47ff3dd135 boards: shields: tcan4550evm: configure nWKRQ pin for VIO
Configure the nWKRQ pin for open-drain with an internal pull-up resistor,
already enabled on the device-state-gpios GPIO, to the VIO rail.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2026-02-22 22:05:14 +01:00
Henrik Brix Andersen
6c9e5d4678 boards: shields: mikroe_can_fd_6_click: configure nWKRQ pin for VIO
Configure the nWKRQ pin for open-drain with an external pull-up resistor,
present on the board, to the VIO rail.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2026-02-22 22:05:14 +01:00
Henrik Brix Andersen
209ca85c54 boards: shields: tcan4550evm: enable internal pull-up on nWKRQ
When the TCAN4550 nWKRQ pin is configured for VIO, the pin is an open drain
output and requires an external pull-up resistor to the VIO rail.

Since the TCAN4550 EVM does not have such a pull-up, enable it on the GPIO
to which the nWKRQ pin is connected.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2026-02-22 22:05:14 +01:00
Mathieu Choplain
b6e35422a7 boards: shields: update dead references to boards
As some boards were updated to use `zephyr:board` instead of a mere marker,
old `:ref:` references have become invalid in some shields' documentation.
Fix it by using `:zephyr:board:` in these shields' docs.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-02-11 15:01:22 -06:00
Derek Snell
c789a12aec shields: g1120b0mipi: change vendor to NXP
BOE manufactures the display panel.  But G1120B0MIPI is an NXP part
number, designed specifically for NXP evaluation boards, and sold by
NXP.  And the Zephyr shield is supported and maintained by NXP.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2026-02-09 11:58:00 -06:00
Stephan Linz
3b0bd275a6 boards: shields: mcp2515: add support for Seeed Studio XIAO CAN shield
Adds support for the Seeed Studio XIAO CAN Bus shield. This shield is
similar to the other shields but designed for the Seeed Studio XIAO
hardware interface. The shield conflicts with the XIAO serial interface
on D6 and D7 that must be used for SPI CS and the MCP2515 INT. The shield
resolves this conflict by disabling the XIAO serial function (see
documentation and DTS overlays).

Successfully evaluated with the following compatible boards:

- Seeeduino XIAO (a.k.a. Seeed Studio XIAO SAMD21)
- Seeed Studio XIAO BLE (Sense), a.k.a. XIAO nRF52840 (Sense)
- Seeed Studio XIAO RP2040

Potentially usable with the following compatible boards:

- Seeed Studio XIAO ESP32-S3 (Sense)
- Seeed Studio XIAO ESP32-C3
- Seeed Studio XIAO ESP32-C6
- Seeed Studio XIAO MG24
- Seeed Studio XIAO nRF54L15
- Seeed Studio XIAO RA4M1

Signed-off-by: Stephan Linz <linz@li-pro.net>
2026-02-06 13:58:10 +01:00
Kyle Bonnici
f55358bcbf dts: use lowercase hex values in DTS files.
Apply chnages from dts-linter 0.3.9.

Improve compliance with DTS Coding Style which says that:

4) Hex values in properties, e.g. “reg”, shall use lowercase hex.
   The address part can be padded with leading zeros.

Signed-off-by: Kyle Bonnici <kylebonnici@hotmail.com>
2026-02-04 13:49:43 +01:00
Derek Snell
df8767cb30 shields: rk055hdmipi4m: not recommended
Documents this shield is not recommended for new designs, and replaced
by rk055hdmipi4ma0

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2026-02-03 14:31:58 -06:00
Derek Snell
5f55aab9ca shields: rk043fn02h_ct: discontinued
Documents this shield is no longer manufactured, and replaced by
rk043fn66hs_ctg

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2026-02-03 14:31:58 -06:00
Derek Snell
238085eb14 shields: frdm_stbc_agm01: discontinued
Documents this shield is no longer manufactured.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2026-02-03 14:31:58 -06:00
Benjamin Cabé
18e5a700a0 doc: treewide: drop reST substitutions for non-ASCII characters
Copyright sign, trademark sign, registered trademark sign, ... and other
non-ASCII characters are OK to use in the documentation source files.
Replace them with the corresponding Unicode characters.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-02-03 14:26:41 -06:00
Alain Volmat
0b4cf34390 boards: st: keep frame-buffer memory cached
Now that the LTDC driver is taking care of flushing the cache
on display_write call, there is no need to have the framebuffer
memory cache disabled.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2026-02-03 08:21:00 -06:00
Fabrice DJIATSA
799ab6e4fd boards: shields: x_nucleo_iks02a1: boards: remove plli2s Q output
According to  STM32F411xC/E refman(RM0383) and the clock tree, there
is no PLLI2SQ output.

Remove the div-q property to fix build error.

Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
2026-02-02 12:57:50 +01:00
Fin Maaß
856aa240ee Kconfig: remove unneeded hack in shields
remove unneeded hack in shields

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-02-02 09:58:42 +01:00
Fin Maaß
b13819b7e3 Kconfig: net: remove useless default
NET_CONFIG_NEED_IPV6 is by default
already not enabled, so we don't need
to add that default again in a shield.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-02-02 09:58:42 +01:00
Stephan Linz
ba576a929d boards: shields: add MikroE CAN SPI and MCP25625 click shield
Adds MikroElektronica click shields for the Microchip MCP2515 and
MCP25625 CAN controller.

Signed-off-by: Stephan Linz <linz@li-pro.net>
2026-01-30 18:02:43 +01:00
Stephan Linz
7f5e668153 boards: shields: mikroe_mcp251xfd_click: fix image file names
In the central search mask of the board and shield catalog, panels
with the corresponding images are only rendered correctly if the
file name of the corresponding image also follows the entry in the
shield.yml file. This has now been corrected.

Signed-off-by: Stephan Linz <linz@li-pro.net>
2026-01-30 11:06:54 +01:00
Stephan Linz
1c263311e0 boards: shields: mikroe_can_fd_6_click: fix image file name
In the central search mask of the board and shield catalog, panels
with the corresponding images are only rendered correctly if the
file name of the corresponding image also follows the entry in the
shield.yml file. This has now been corrected.

Signed-off-by: Stephan Linz <linz@li-pro.net>
2026-01-30 11:06:54 +01:00