1. This commit converts the 'XIP_BOOT_HEADER_DCD_ENABLE' preprocessor
define to Kconfig options across NXP i.MX RTxxxx evaluation boards.
The changes enable flexible boot header configuration through the
Kconfig build system instead of compile-time defines, improving
configurability and maintainability.
2. Now 'XIP_BOOT_HEADER_DCD_ENABLE' flag is only used in
hal_nxp/rtxxxx/fsl_flexspi_nor_boot.h which is included by soc.c,
therefore, this flag should be passed in the rtxxxx/SoC layer CMake
using zephyr_library_compile_definitions(). and can be removed from
each board CMakeLists.txt.
Note: if out-of-tree files still need to use this flag, please add
it in your own CMakeLists.txt.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
1. This commit converts the 'BOOT_HEADER_ENABLE' preprocessor
define to Kconfig options across NXP i.MX RTxxx evaluation boards.
The changes enable flexible boot header configuration through the
Kconfig build system instead of compile-time defines, improving
configurability and maintainability.
2. Now this flag is not used in Zephyr tree, so removed
'zephyr_compile_definitions(BOOT_HEADER_ENABLE=1)' from the
CMakeLists.txt files of the following boards:
- mimxrt595_evk
- mimxrt685_evk
- mimxrt700_evk
Note: for out-of-tree projects that still require this flag,
users can define it in their own CMakeLists.txt or prj.conf files.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
1. This commit converts the 'XIP_BOOT_HEADER_ENABLE' preprocessor
define to Kconfig options across NXP i.MX RTxxxx evaluation boards.
The changes enable flexible boot header configuration through the
Kconfig build system instead of compile-time defines, improving
configurability and maintainability.
2. Now 'XIP_BOOT_HEADER_ENABLE' flag is only used in
hal_nxp/rt11xx/fsl_flexspi_nor_boot.h which is included by soc.c,
therefore, this flag should be passed in the rt11xx/SoC layer CMake
using zephyr_library_compile_definitions(). and can be removed from
each board CMakeLists.txt.
Note: if out-of-tree files still need to use this flag, please add
it in your own CMakeLists.txt.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
For RT10xx and RT11xx, flag 'BOARD_FLASH_SIZE' is only used
in hal_nxp fsl_flexspi_nor_boot.h which is included by soc.c,
therefore, this flag should be passed in the SoC layer CMake
using zephyr_library_compile_definitions() to limit its scope.
Normally, 'BOARD_FLASH_SIZE' should not be used elsewhere.
If an out-of-tree user uses this flag elsewhere, please define
the flag yourself.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
Flag 'BOARD_FLASH_SIZE' is not used for RTxxx, so remove it
from mimxrt595_evk, mimxrt685_evk, and mimxrt700_evk board
CMakeLists.txt files.
Normally, 'BOARD_FLASH_SIZE' should not be used elsewhere.
If an out-of-tree user uses this flag elsewhere, please define
the flag yourself.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
Create a dedicated Zephyr library for the imxrt11xx and
imxrt10xx SoC in CMakeLists.txt and move soc.c into it
(zephyr_library() + zephyr_library_sources(soc.c)).
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
nxp_ewm_install_timeout() accesses cfg fields before checking for
NULL, making the later NULL check ineffective.
Remove the redundant check.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
Create a section for the OTP subsystem. NVMEM is referenced in the test
category as the OTP subsystem is tested using the NVMEM API.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Add an OTP memory emulator node to the board native_sim board device
tree file.
Additions of a node to the native sim device tree shifts the device
index, hence making the check_init_priorities test fail. Update the
index in the reference data of the test.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
In order to make some basic tests on the OTP API, add an OTP memory
emulator driver. It implements the .program() and .read() APIs.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
OTP drivers are the interface to One Time Programmable memory, which
is NVMEM. Add the interface with the OTP API to the NVMEM one.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Introduce a new OTP subsystem to be able to interact with One Time
Programmable(OTP) memory. For now, add basic read()/program() APIs.
Program() API is default disabled due to its sensitivity.
File drivers/otp.h is inspired by drivers/eeprom.h as the basic
features are similar.
Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
Add stub implementations for all remaining smtc_modem_hal functions
required by LoRa Basics Modem. These functions are not yet implemented
but provide the necessary symbols for linking.
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
Add the initial smtc_modem_hal implementation for Zephyr that provides the
hardware abstraction layer required by LoRa Basics Modem.
To fully port the LoRa Basic Modem library to Zephyr we need to port and
adapt three parts (see [0]):
1. Radio Driver HAL
2. RAL BSP
3. LoRa Basics Modem HAL
Right now the Radio Driver HAL and the RAL BSP are correctly implemented by
the lbm_sx126x drivers, this patchset is taking care of the initial work of
porting and adapting also the LoRa Basics Modem HAL.
The LBM library provides a porting tool [1] that (quoting from [2]) "[...]
provides a automatic suite of tests that will help user ensures that lora
basics modem mcu and radio HAL functions are implemented in a good way
(SPI, radio_irq, time, timer, random, radio config, sleep and low power)"
This patchset is taking care of making the porting tool a first class test
suite for Zephyr implementing the needed HAL functions.
[0] https://github.com/Lora-net/SWL2001/blob/master/lbm_lib/PORTING_GUIDE.md
[1] https://github.com/Lora-net/SWL2001/blob/master/lbm_examples/main_examples/main_porting_tests.c
[2] https://github.com/Lora-net/SWL2001/blob/master/lbm_examples/README.md
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
A set of preliminary (but harmless) changes to prepare for adding the HAL
implementation.
- Rename CMake variables for clarity and consistency, adding an 'LBM_LIB_'
prefix when the path is a library / module path.
- Change zephyr_library_include_directories to zephyr_include_directories
for the RAL/RALF includes, since these headers may be needed outside the
library itself.
- Make lbm_common.h available to code outside the driver directory.
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
To add support for LTR553, we will migrate device-tree
properties to new ones and mark the old ones as deprecated.
We will also refactor variable names accordingly.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
The LTR329 is a functional subset of the LTR55X series,
lacking the proximity sensor functionality.
To maintain symbol consistency, we will use LTR55X as the base name.
Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
Enable WDOG4 for A55 on imx943_evk board. It could be verified by
building application by:
west build -p always -b imx943_evk/mimx94398/a55 samples/drivers/watchdog
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
This is a workaround to fix a bug that failed
to access registers of display irqsteer when
display mix is in power off state.
- Display irqsteer is in display mix, need to
power on display mix firstly.
Signed-off-by: Biwen Li <biwen.li@nxp.com>
Some NXP SAR ADC variants don't implement the MCR[ADCLKSEL] field.
Add conditional compilation guards to define compatibility macros
that evaluate to 0 when ADCLKSEL is not available, allowing the
driver to compile across different NXP SoCs.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
Move and rename the region Kconfig symbols from LORAMAC_REGION_* to
LORAWAN_REGION_* to make them backend-agnostic.
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
Move the LoRaWAN emulator from the loramac-node backend directory to its
own directory because the emulator currently still depends on loramac-node
for some types and functions.
Once these dependencies are removed in a follow-up, the emulator can become
a fully standalone backend.
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
Remove loramac-node specific references (LORAMAC_NVM_NOTIFY_FLAG_*)
from the NVM interface documentation, making it suitable for any
LoRaWAN backend implementation.
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
Refactor the LoRaWAN subsystem to support multiple backends by moving
the loramac-node specific implementation into a dedicated subdirectory.
This change prepares the subsystem for adding lora-basics-modem support
as an alternative backend.
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
Move west sdk documentation to the Zephyr-specific west commands page
and clarify listing, interactive install behavior, and toolchain
selection.
Signed-off-by: Ritesh Kudkelwar <ritesh.kumar0793@gmail.com>
Modify Microchip mec_assy6941 boards to use the new, common
UART driver. We also added chose "zephyr,shell-uart" to all
MEC boards allowing building of the "echo_bot" sample application.
Signed-off-by: Scott Worley <scott.worley@microchip.com>
We updates all the UART hardware nodes for all MEC parts with
properties used by the new, common UART driver.
Signed-off-by: Scott Worley <scott.worley@microchip.com>
We modified the Microchip MEC UART driver to be HAL
independent and be usuable on all MEC SoCs. The only
hardware difference is an extra register in the MEC174x/5x
family providing TX FIFO full and current byte count.
Signed-off-by: Scott Worley <scott.worley@microchip.com>
Mention that the NXP FlexCAN devicetree property "clk-source" now
automatically selects between named input clocks.
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
Add proper support for the 1-bit CAN protocol engine clock multiplexer
present in some NXP FlexCAN instances.
Both possible input clocks are now represented as named clocks in the
devicetree nodes ("clksrc0" and "clksrc1") and the existing devicetree
property "clk-source" now selects the correct clock in addition to setting
the multiplexer bit (CLKSRC) in the FlexCAN CTRL1 register.
Fixes: #94517
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
Make the clk-source property of the NXP FlexCAN devicetree nodes optional
as not all FlexCAN instances have an internal clock multiplexer.
Remove the clk-source property from the SoCs where the internal clock
multiplexer is not present, limit the values this property can be assigned,
and default the clock selection bit to 0 in the driver.
Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
add stm32h573i_dk to the list of excluded platforms for
test_upgrade_ble scenario since it's not supported.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
vq_teardown() never reports errors and always returns 0.
The error check at the call site is therefore dead code.
Make the function void and drop the unused error handling.
Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
The has_arg_concat check checks for ## and UTIL_CAT, but is missing
the CONCAT macro. This is causing spurious occurances of
MACRO_WITH_FLOW_CONTROL warnings for functions defined with macros
if they use the CONCAT() macro (its like UTIL_CAT but supports up
to 10 concatenations).
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
The explicit, and internal, _CONCAT_\d macros are used in a few
files instead of the public CONCAT() macro which automatically
expands to the correct _CONCAT_\d macro based on number of args
passed to it. Update files to use CONCAT().
Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
The AM62L evaluation module (TMDS62LEVM) is designed for low-cost and
performance optimized AM62L family of application processors. More
information here:
https://www.ti.com/tool/TMDS62LEVM
Add base board support here.
Signed-off-by: Andrew Davis <afd@ti.com>