Commit Graph

78 Commits

Author SHA1 Message Date
Emilio Benavente
0bdb9595b1 drivers: misc: mcux_flexio: Set the DOZEN bit
Setting the DOZEN bit in the flexio so the soc
does not force the peripheral to go into
low power mode when the soc is in idle.

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
2025-07-09 00:24:14 -05:00
Erwan Gouriou
84619fe8f7 drivers: misc: stm32n6: ramcfg driver
Add a driver to handle AXISRAM3/4/5/6 configurations.
Provide the required changes to add RAM sections into the build system.

Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2025-06-27 09:01:52 -10:00
Thao Luong
780aa50179 drivers: misc: Update renesas ra external interrupt to support RA8P1
This is temporary update because in HWM only mention IRQCR but
FSP is defining for IRQCRa and IRQCRb with same values.
Haven't understood why need both  IRQCRa and IRQCRb.
Current update is using IRACRa.

Signed-off-by: Thao Luong <thao.luong.uw@renesas.com>
2025-06-25 15:56:20 -10:00
Khoa Nguyen
edb1840f64 drivers: misc: ethos_u: Create the ethos_u_common for every vendor
Seperate the ``ethos_u_common`` for every vendor and
``ethos_u_arm`` for sepcific Arm's boards. Enable vendors
to self-configure the init flow and IRQ handler.

Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
2025-06-25 10:52:48 +02:00
Phi Tran
da38a779ea drivers: external interrupt: add external interrupt support for RX130
Add support for external interrupt on RX130.

Signed-off-by: Phi Tran <phi.tran.jg@bp.renesas.com>
2025-06-24 14:18:41 +02:00
Raymond Lei
7a582c5586 drivers: nxp: flexio: mask invalid ISR calling
Flexio ISR handle all flags even they are not interrupt enabled.
This will cause invalid calling of ISR callback functions.

Signed-off-by: Raymond Lei <raymond.lei@nxp.com>
2025-06-24 09:16:51 +02:00
Benjamin Cabé
1787e5cdab drivers: misc: fix condition in gpio_ra_interrupt_unset function
Updated the condition in the gpio_ra_interrupt_unset function to use a
logical OR instead of AND, since it should return if either port_num or
pin is not the same as the current callback.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-06-17 07:23:04 +02:00
Khanh Nguyen
ed757ca290 drivers: misc: add Renesas RA ELC driver
Add support for the Renesas RA Event Link Controller, including
driver sources, Kconfig, and Devicetree bindings.

Signed-off-by: Khanh Nguyen <khanh.nguyen.wz@bp.renesas.com>
Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
2025-06-13 10:09:35 +02:00
Marcin Szymczyk
b9d97aba21 drivers: misc: nordic_vpr_launcher: move SoC-specific config to DT
Targets that require setting secure attribute to VPR should specify
it in devicetree.

Signed-off-by: Marcin Szymczyk <marcin.szymczyk@nordicsemi.no>
2025-05-29 15:16:52 +01:00
Vit Stanicek
37ec78f3dc drivers: misc: Add nxp,rtxxx-dsp-ctrl
Add the nxp,rtxxx-dsp-ctrl driver.

Responsibility of this driver is to load code executed by Xtensa-family
cores on NXP i.MX RTxxx microcontrollers and to control their run.

Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
2025-05-21 12:34:32 +02:00
Declan Snyder
e358713ea4 drivers: Move flexram to misc driver
Flexram is really not a memory controller, and does not belong in memc
namespace or directory. Move it to it's own misc directory and remove
memc_ from the namespace.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-04-26 10:55:09 +02:00
Andrzej Głąbek
54d8c80ade dts: bindings: nrf-vpr: Allow specifying pins and not using launcher
Add possibility to use pinctrl to configure pins that should be assigned
to nRF VPR coprocessors and also provide a way of preventing activation
of the nordic_vpr_launcher driver for an enabled VPR so that it can be
supplied with the code to execute and launched in a custom way.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2025-04-08 16:11:51 +02:00
Andrew Featherstone
a2aa0a3e2b docs: raspberrrypi: Correct names of products
Replace occurrences of "RaspberryPi" with "Raspberry Pi" in
documentation, comment blocks etc. Correct the name of "PicoW" to
"Pico W", matching Raspberry Pi's documentation at
https://www.raspberrypi.com/documentation/microcontrollers/pico-series.html .

Signed-off-by: Andrew Featherstone <andrew.featherstone@gmail.com>
2025-04-03 15:27:50 -07:00
Hubert Miś
502982bf03 drv: ft8xx: extend single-letter function argument names
Replace single-letter function argument names in the FT8xx coprocessor
API with full names of the arguments for better code clarity.

The arguments in the ft8xx_reference_api.h are left as single-ltters to
keep the same function declarations as described in the FT8xx
programming guides.

Signed-off-by: Hubert Miś <hubert.mis@gmail.com>
2025-04-02 05:29:46 +02:00
Krzysztof Chruściński
c8d7d577a6 logging: frontend_stmesp: Fix string addresses from remote core
When decoding logs from a remote core with memory that APP can
access, wrong address of an array with string addresses was used.
Log message contains index of a string and APP strings array was
used instead of remote core. Extend STMESP logging so that address
of string array of a remote core is send during startup to the APP
and APP is using this array to decode strings from remote cores.
Bug applies only to PPR and FLPR as APP has no access to RAD memory.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-04-01 16:26:50 +02:00
Gerard Marull-Paretas
1494cdb0bf drivers: misc: devmux: fix init signature
It is no longer possible to use other signatures other than
`int fn(const struct device *)`. Just cast the device pointer,
safe in this context because CONFIG_DEVICE_MUTABLE=y.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2025-03-10 21:32:40 +01:00
Khoa Nguyen
c768144002 drivers: Correct value of event macro for all Renesas SoC
Since the RA2L1 uses the macro "ICU_EVENT" instead of
"ELC_EVENT" (which is currently used) to input into
the IELSR register, the ek_ra2l1 board cannot assign
any interrupts for any driver.

This commit aim to correct the Event macro to input correct
value for IELSR register on all the Renesas SoC by using
"BSP_PRV_IELS_ENUM" macro.

Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
2025-02-28 18:29:17 +01:00
Fabio Baltieri
3a66b3853e drivers,test: use the new DT_FOREACH_PROP_ELEM_SEP
Use the new DT_FOREACH_PROP_ELEM_SEP macro instead of
DEVICE_DT_GET(DT_PHANDLE_BY_IDX(...)).

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-02-04 09:18:55 +01:00
Hubert Miś
1ee6990fc4 drv: ft8xx: user data in the callback function
The user of the ft8xx driver can register a callback function called
on a touch detection interrupt event. This function is extended to
include a user-defined pointer. The user-defined pointer helps to share
a callback with multiple driver instances.

Signed-off-by: Hubert Miś <hubert.mis@gmail.com>
2025-01-30 02:01:34 +01:00
Hubert Miś
51e732c3ac drv: ft8xx: support multiple instances
Improve the FT8xx display driver to support multiple driver instances.

The ft8xx_reference_api.h still follows the FT8xx programming guides,
limiting the usage of the driver to one instance.

Signed-off-by: Hubert Miś <hubert.mis@gmail.com>
2025-01-30 02:01:34 +01:00
Hubert Miś
1ef2df5c32 drv: nordic_vpr_launcher: manage data cache
Write-back cache after copying VPR's code and data to the destination
memory. It allows VPRs to run from RAM regions cacheable by its host.

It allows to use FLPR in nRF54H20.

Signed-off-by: Hubert Miś <hubert.mis@nordicsemi.no>
2025-01-20 20:57:07 +01:00
Dat Nguyen Duy
e72af321d5 drivers: emios_pwm: do not configure period, duty and polarity at boot
Removing period, duty and polarity configuration from
channel devicetree. At boot time, only minimal setup like
pinctrl, prescaler, etc should be initialized. PWM signal
is produced by using pwm_set* API

Also after this change, PWM period, duty are changed at the
next counter period boundary

Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
2025-01-18 02:32:50 +01:00
The Nguyen
69735397bd drivers: gpio: add support for gpio interrupt on Renesas RA family
First commit to add support for gpio interrupt on Renesas RA
- Add support for external interrupt driver
- Add support for gpio interrupt config

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2024-12-19 08:39:10 +01:00
Krzysztof Chruściński
ce6f5294fc drivers: misc: coresight: nrf_etr: Add support for turbo logs
Add support for optimized short log messages (aka turbo logs). They are
supported on cpuapp and co-processors owned by cpuapp (FLPR and PPR).
In general, it can be supported if cpuapp has access to logging strings
used for the log message. Currently mode is supported only in standalone
logging. When it is extended for dictionary logging then it will also
be supported on other cores (e.g. cpurad).

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-12-10 11:09:55 +01:00
Pieter De Gendt
ec205e77e5 drivers: timeaware_gpio: Place API into iterable section
Add wrapper DEVICE_API macro to all tgpio_driver_api instances.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2024-12-02 22:08:07 +00:00
TOKITA Hiroshi
88149afff7 soc: raspberrypi: Drop PINCTRL from Kconfig.defconfig
The `Kconfig.defconfig` is not good place for put `select PINCTRL`.
Drop `select PINCTL` from `Kconfig.defconfig` and add it at each
driver's Kconfig.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2024-11-25 14:42:01 +01:00
Carles Cufi
e78832034f soc: nordic: Introduce the nRF54L05 and nRF54L10
These two new ICs are variants of the nRF54L15 with different memory
sizes:

- nRF54L05: 500KB RRAM, 96KB RAM
- nRF54L10: 1022KB RRAM, 192KB RAM
- nRF54L15: 1524KB RRAM, 256KB RAM

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2024-11-21 09:26:38 +01:00
Krzysztof Chruściński
d231b459df drivers: misc: coresight: Enable log colors for STMESP logging
Allow coloring of error and warning messages decoded by the ETR
decoder.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-11-19 10:12:05 -05:00
Chris Friedt
d22a49536f drivers: devmux: use int instead of ssize_t for select_get()
Use int instead of ssize_t for select_get().

This eliminates the unnecessary need for POSIX types.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2024-10-21 18:48:18 -05:00
Carles Cufi
51c1e45301 soc: nordic: Remove the nRF54L15 EngA
The production version of the nRF54L15 SoC is now available, so remove
the initial Engineering A (EngA) preview version.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2024-10-21 01:46:39 +01:00
Krzysztof Chruściński
7ea87f4de9 drivers: misc: coresight: nrf_etr: Add support for shell
Extend ETR handler to be able to work as shell backend and multiplex
Coresight STM logging with shell content on the UART used by the
ETR handler. Shell backend works only in the standalone mode.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-10-17 10:48:25 -04:00
Krzysztof Chruściński
fe6c288b1b drivers: misc: coresight: nrf_etr: Use dmm API for the buffer declaration
Use DMM_MEMORY_SECTION instead of a custom macro. When file was created
dmm was not present yet.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-10-17 10:48:25 -04:00
Krzysztof Chruściński
242331291d drivers: misc: coresight: nrf_etr: Imply UART asynchronous API
Asynchronous API is recommended to be used by ETR buffer handler but
polling is also supported. Imply UART_ASYNC_API so that it is possible
to disable it in project config and fall back to polling if needed. For
example to reduce memory footprint.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-10-04 10:46:54 +01:00
Krzysztof Chruściński
09ab0ba20b drivers: misc: coresight: nrf_etr: Add standalone mode
Extend ETR buffer handler to support standalone mode where data from
ETR buffer is decoded and printed in human readable format on UART.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-09-06 11:31:27 -04:00
Krzysztof Chruściński
4b20c3d4d6 drivers: misc: coresight: Add nrf_etr module
Add module which is dumping data from Coresight ETR buffer. Coresight
ETR is a sink for STMESP data. This module is specific to Nordic SoC
because it does not access ETR registers. Instead it is using Nordic
specific module (Trace Buffer Monitor TBM) to monitor amount of data
in the ETR buffer (which is a circular buffer).

Data from that buffer is sent over UART (in future it may be extended
to other transports). In future, module will be extended with option
to process STM data on chip.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2024-09-06 11:31:27 -04:00
Karol Lasończyk
99d8549a5c drivers: misc: Add support for nRF54L15 SoC
Expand vpr_launcher to support production version of the SoC.

Signed-off-by: Karol Lasończyk <karol.lasonczyk@nordicsemi.no>
2024-08-29 12:02:35 +02:00
Yong Cong Sin
bbe5e1e6eb build: namespace the generated headers with zephyr/
Namespaced the generated headers with `zephyr` to prevent
potential conflict with other headers.

Introduce a temporary Kconfig `LEGACY_GENERATED_INCLUDE_PATH`
that is enabled by default. This allows the developers to
continue the use of the old include paths for the time being
until it is deprecated and eventually removed. The Kconfig will
generate a build-time warning message, similar to the
`CONFIG_TIMER_RANDOM_GENERATOR`.

Updated the includes path of in-tree sources accordingly.

Most of the changes here are scripted, check the PR for more
info.

Signed-off-by: Yong Cong Sin <ycsin@meta.com>
2024-05-28 22:03:55 +02:00
Benjamin Cabé
b7bef3f8ff drivers: grove_lcd: lcd fix Kconfig leakage
Kconfig for Seeed Grove LCD RGB Backlight was looking.
Make it depend on DT_HAS_SEEED_GROVE_LCD_RGB_ENABLED.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-04-26 19:48:11 +01:00
Jakub Zymelka
65f743619d drivers: nordic: Align VPR launcher for nRF54L15 FLPR core
Add nRF54L15 FLPR support for nordic_vpr_launcher.

Signed-off-by: Jakub Zymelka <jakub.zymelka@nordicsemi.no>
2024-04-16 18:36:58 +01:00
Ledion Daja
4c25482ef6 modules: hal_ethos_u: update module revision
Updated revision for hal_ethos_u module, and adapted
ethosu_semaphore_take function prototype accordingly in order to align
with changes in the NPU driver

Signed-off-by: Ledion Daja <ledion.daja@arm.com>
2024-03-21 09:07:35 +01:00
Grzegorz Swiderski
a55f67d284 drivers: misc: nordic_vpr_launcher: Update src/exec memory size check
Firstly, build-asserting the execution/source memory sizes to be equal
wasn't working, due to the wrong (non-inst) DT API being used.

Secondly, this assert can be relaxed so that the source memory region
only needs to have greater than or equal size to the execution region,
as VPR firmware needs to fit into execution memory first and foremost.
This will come in handy, since MRAM partitions (typical source memory)
have stricter alignment requirements than RAM regions.

Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-03-18 10:13:11 +01:00
Mikhail Siomin
877b10bef1 drivers: mcux: flexio: Added generic MCUX FlexIO driver
Added FlexIO driver that distributes hardware resources
between interfaces using them.

Signed-off-by: Mikhail Siomin <victorovich.01@mail.ru>
2024-03-12 14:00:45 +01:00
Gerard Marull-Paretas
d23ea62be9 drivers: misc: nordic_vpr_launcher: initialize earlier
Set driver to initialize at early POST_KERNEL, so that we make sure
other future dependencies priorities (eg VEVIF) do not conflict.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-03-05 16:50:36 +00:00
Gerard Marull-Paretas
f0b975032a drivers: misc: nordic_vpr_launcher: fix address handling
When CONFIG_XIP=y, execution address may come from a partition, so its
absolute address is needed. Fix code by using VPR_ADDR() macro in all
cases: execution and source addresses.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-26 21:39:30 +01:00
Gerard Marull-Paretas
d1468b8484 drivers: misc: nordic_vpr_launcher: initial version
Add a custom driver that takes care of loading and launching RISC-V VPR
cores found on the new nRF54 SoCs.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2024-02-02 16:40:11 +01:00
TOKITA Hiroshi
4e36854148 drivers: misc: pio_rpi_pico: Turn on clock and reset device on init
Turning on clock via clock controller and
resetting PIO device via reset controller on initializing.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2023-12-20 11:14:24 +01:00
Christopher Friedt
37e19451ec drivers: misc: devmux: a device multiplexer pseudo-device
The Device Multiplexer (devmux) is a pseudo-device that can
be used to select between multiple included sub-devices.

It is experimental, but its current use is in system
remediation. Take for example, the scenario where the
system console and log subsystem both have the uart backend
enabled. The case may arise, where the chosen backing uart
could be an abstraction of another very high-bandwidth bus
- such as a PCIe BAR, a UDP socket, or even even just memory.

If the "service" (for lack of a better term) that backs this
abstract "uart" experiences an error, it is of critical
importance to be able to switch the system console, uart log
backend, or whatever to another uart (semi-transparently) in
order to bring up a shell, continue to view system logs, or
even just support user console I/O.

Signed-off-by: Christopher Friedt <cfriedt@meta.com>
2023-11-28 15:35:39 +01:00
Andrei Emeltchenko
d817a8ebff drivers: timeaware_gpio: Fix include path
Fixes CI after syscall_handler changes path.

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2023-11-10 14:40:55 +02:00
Anas Nashif
a08bfeb49c syscall: rename Z_OOPS -> K_OOPS
Rename internal API to not use z_/Z_.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-03 11:46:52 +01:00
Anisetti Avinash Krishna
c45b719442 drivers: misc: timeaware_gpio: Added intel PCH driver
Added intel PCH driver for timeaware GPIO.

Signed-off-by: Anisetti Avinash Krishna <anisetti.avinash.krishna@intel.com>
2023-09-29 16:28:09 +02:00