Add support for SCMI transport layer using ARM SMC (Secure Monitor
Call) as the doorbell mechanism with shared memory for data transfer.
Communication is performed synchronously so polling is the only
supported mode. The implementation follows the SCMI specification
for SMC/HVC based transport.
Signed-off-by: Soumya Tripathy <s-tripathy@ti.com>
PHY and controller function depends on VREGUSB. Add VREGUSB regulator
node to nRF54LM20A and use phandle to reference it in the wrapper node.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Add driver for internal voltage regulator for the USB signaling
interface.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Co-Authored-by: Carles Cufi <carles.cufi@nordicsemi.no>
We need to describe the wrapper separately as a parent node because it
is not part of the USB controller but is used to configure, control, and
enable/disable the USB PHY, and to enable/disable USB controller.
Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
When lptmr0 is reserved as the system timer, the MCXW IEEE 802.15.4
radio cannot rely on a separate counter device being instantiated for it.
The fallback to the kernel cycle counter is also not a valid replacement
for hardware timestamping in all timer configurations.
Add a counter phandle to the MCXW binding, wire the MCXW7x boards in scope
to use lptmr1 as a dedicated non-system-timer counter, and make the driver
consume that devicetree-provided counter directly.
This keeps the fix narrow to the boards enabled in this PR while removing
the fragile hard-coded lptmr0/lptmr1 selection logic.
Signed-off-by: Holt Sun <holt.sun@nxp.com>
Adds default partitioning bl_storage UICR areas which can be used
for bootloader storage purposes
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Add initialization of critical components for the RTL8752H
series.
Key initializations include:
- Realtek OS abstraction layer.
- Clock active mode settings.
- Power Management (PM).
- PHY modules.
- Bluetooth controller ROM initialization.
Note: A mechanism is introduced to synchronize the RAM Vector Table between
Realtek's ROM code (which writes raw ISRs) and Zephyr's interrupt
management subsystem (sw_isr_table).
Signed-off-by: Zhiyuan Tang <zhiyuan_tang@realsil.com.cn>
- Add NBU pinmux to configure HDI mode with external radio
- Define nbu_handler to the MU interrupt handler
- Enable TSTMR0 clock at init
- Enable connectivity framework, MCMGR, rpmsg-lite
- Enable MU driver when selecting NXP_RF_IMU
- Disable LPUART1 to avoid pin conflicts with radio interface
Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
When using an external radio, we need to configure pins for HDI mode.
Since it's specific to NBU, we can add this control in the nxp_nbu
driver.
Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
Move the "ranges" property to the main smu2 definition.
This makes sure the smu2 properties are centralized at the same
location.
Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
Define a shared memory section in STCM, this shared memory is used
to transmit data to the NBU core.
This shared STCM section must be used through non-secure address range
because the NBU core can only access non-secure memory regions, and
the main core must reference non-secure addresses in the data shared
with the NBU core.
Since the MCXW70 doesn't have an SMU2, reworked the sections.ld file
to use a macro-based approach to determine the node label.
This allows to differentiate devices that have SMU2 from those that
don't, while reusing the same sections.ld file.
Use "stcm_shared" as node label for MCXW70.
Use node status in sections.ld since all regions are not available
on all SoCs.
Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
Zephyr has currently no flash translation layer implemented. This commit
adds the basic possibility to use Dhara as FTL in Zephyr. It is
implemented as disk driver that can be placed between a filesystem and a
flash driver.
Signed-off-by: Pascal Linder <pascal.linder@zuehlke.com>
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
Added all device nodes for TPM to be used as PWM, as there are already
some device nodes for TPM which are used as counter, so using different
name for TPM which are used as PWM.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Add counter timer driver support for Realtek Bee series SoCs,
including RTL87x2G and RTL8752H.
This driver is based on the hardware timer and supports:
- Relative alarm configuration
- Top value configuration
Signed-off-by: Yuzhuo Liu <yuzhuo_liu@realsil.com.cn>
Add the microchip,rgmii-delay binding for KSZ9131 PHYs and use it
on the SAMA7G54-EK board DTS.
GMAC0 on SAMA7G54-EK is connected to a KSZ9131 PHY over RGMII and
requires internal delay configuration equivalent to rgmii-id for
reliable gigabit operation.
Add KSZ9131 RGMII DLL delay configuration using Clause-22 indirect
MMD access.
The KSZ9131 PHY uses MMD device 2, registers 76 and 77, to control
RXC and TXC DLL delay bypass. Configure these registers according
to the requested RGMII delay mode:
- none
- id
- rxid
- txid
Delay setting would be skipped for variants that do not support RGMII
like KSZ9131MNX
Signed-off-by: Balaji Vasudevan <balaji.vasudevan@microchip.com>
Add feature check to ensure these functions are only called when the
hardware supports input filter capture registers.
Update device tree binding documentation to clarify that the
input-filter-count and input-filter-period properties only take
effect when the capture input filter register is available.
Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
- Deletes virtual "nxp,cmc-reset-cause" compatible,
as it is covered by existing "nxp,cmc".
- Fixes the issue discovered during discussion in
https://github.com/zephyrproject-rtos/zephyr/issues/104464
#issuecomment-3957779329
Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
updated the devicetere for mspm0x515 and lx22x to mention the rtc-x
property which identifies it as the RTC_A or RTC_B variant.
Signed-off-by: Jackson Farley <j-farley@ti.com>
1.The color_coding in mipi_dbi_config shall not be extracting it from
the bus_type field and shall have dedicated color_coding field.
2.Update device tree binding to include pinctrl support and
declare mipi-dbi bus compatibility.
Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
Removed the driver knowing anything about what color each channel is.
When you output to an LED with a buffer it simply writes the
channels out with buffer.
Also removed the assumptions that the leds are either
a) RGB or b) 3 channels and instead use them the way they are defined.
That is for example if we have 4 channels, we could define an LED
with just one color in it and we could define another with three.
The user can define 4 leds each with color yellow.
For each LED it counts how many buffers were used by previous LEDs and
starts there and outputs N channels.
Decided it looked cleaner to use helper function write channels, so
implemented it and added it to the call table.
Updated sample:
It manually computes which channel maps to red, green and blue and then
uses those indexes to map the table of colors to the right channels.
Signed-off-by: Kurt Eckhardt <kurte@rockisland.com>
Add device tree binding for the NXP TSI (Touch Sensing Input)
peripheral. The binding supports configurable channel selection,
touch/release thresholds, scan periods, and input event code mapping.
Also add TSI0 device node to the MCXN94x common device tree include
file.
Signed-off-by: Qiang Zhang <qiang.zhang_6@nxp.com>
Add display driver for NXP i.MX LCDIFV2 controller.
The driver supports:
- RGB565, RGB888, and ARGB8888 pixel formats
- Configurable framebuffer allocation (0-2 buffers)
- Partial display updates when driver framebuffers are enabled
- Display blanking control
- Backlight GPIO control
- Pinctrl integration
- Cache coherency support via MCUX cache API
Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
Adds a generic 'channels' property to the base PWM controller
binding. This allows generic subsystems to dynamically query the
number of supported channels at compile time via devicetree macros,
removing the need for hardcoded channel limits.
This also removes redundant 'channels' type and description definitions
from specific device bindings, migrating them to inherit from the base.
Signed-off-by: Pavithra CP <cppavithra05@gmail.com>
This change is being reverted as devices should be updated to use
the new zephyr,mapped-partitions binding instead in which the
ranges property should be used
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Updates the dts nodes to move the flash devices to the top level
soc node and switches partitions to use the new
zephyr,mapped-partition compatible.
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Updates the dts nodes to move the flash0 device to the top level
soc node and switches partitions to use the new
zephyr,mapped-partition compatible. Also includes an MCUboot
update to update to the new binding:
west.yml: MCUboot synchronization from upstream
Update Zephyr fork of MCUboot to revision:
9eac8cb5f4fedb3500986c5877277ef80606c4b0
Brings following Zephyr relevant fixes:
- 2750a58c boot: zephyr: Remove invalid RISCV copying swap image
to RAM code
- 1d627c05 boot: bootutil: Include ih_protect_tlv_size in size
validation
- a4b43f26 boot: zephyr: cmake: handle devicetree compatible
properties as lists
- 15da362b boot: zephyr: Switch to partition macros without
FIXED_ prefix
- 302563c6 boot: zephyr: boards: Update nrf52840-board overlay
bindings
- ab12e5a0 boot: zephyr: use DT_REG_*() macros
- fd6b7c9d boot: zephyr: remove forced sector max
- f84b9d3f boot: zephyr: call LOG_PANIC before jumping to app
to flush in flight logs
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Adds a binding which is used to specify memory mapped NVM
partitions, this offers much simpler understanding than the
existing fixed-partitions compatible and vastly simplifies build
system/linker logic, and also allows for multiple nested layers of
partitions without needing macros updated to parse through each
layer to find the nodes to work out the offsets to add
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
Set zephyr,system-timer = &lptmr0 in the MCX-W7x and MCX-W70 DTSI
/chosen nodes. lptmr1 remains available for use by the counter driver.
Both drivers can be active simultaneously since they use separate
hardware instances.
Update SYS_CLOCK_HW_CYCLES_PER_SEC in the MCX-W7xx SoC defconfig to
resolve the clock frequency from the chosen node path instead of the
lptmr0 nodelabel.
Signed-off-by: Holt Sun <holt.sun@nxp.com>
Set zephyr,system-timer = &lptmr1 in the i.MX95 DTSI /chosen node.
lptmr2 remains available for use by the counter driver. Both drivers
can be active simultaneously since they use separate hardware instances.
Default MCUX_LPTMR_TIMER to y in the i.MX95 SoC defconfig and resolve
SYS_CLOCK_HW_CYCLES_PER_SEC from the chosen node path instead of a
hard-coded node address.
Signed-off-by: Holt Sun <holt.sun@nxp.com>
Adding a specific stm32wba power controller defining
an interface to manage the ram retention in s2ram power state.
Signed-off-by: Alessandro Manganaro <alessandro.manganaro@st.com>
Use the common touchscreen configuration and replace manual ABS
reporting with input_touchscreen_report_pos() to align with the
Zephyr input subsystem helpers.
Add the touchscreen-common devicetree properties screen-width and
screen-height to in-tree nodes using this controller.
Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
Add devicetree binding for the Sensirion STCC4, a miniature CO2 sensor
based on thermal conductivity. The sensor communicates via I2C and
provides CO2, temperature, and humidity readings.
The binding supports a required "mode" property (int enum) to select
between continuous and single-shot measurement modes, using constants
from dt-bindings/sensor/stcc4.h.
Signed-off-by: William Markezana <william.markezana@gmail.com>