Remove my email address from copyright notices across
board, fuel-gauge, networking, sample, and test files
Signed-off-by: Philipp Steiner <philipp.steiner1987@gmail.com>
On SoCs that power off the OS Timer in deep low-power states, the driver
can now delegate low-power timekeeping to the generic system-timer
low-power companion framework (CONFIG_SYSTEM_TIMER_LPM_COMPANION_*).
Select SYSTEM_TIMER_HAS_LPM_COMPANION_SUPPORT and add a new
"handoff-power-states" devicetree property: when entering one of the listed
states the driver arms the companion counter chosen via
/chosen/zephyr,system-timer-companion and recovers the elapsed time on
wakeup.
The legacy deep-sleep-counter path is unchanged; boards on it do not set
handoff-power-states and keep handing off in PM_STATE_STANDBY as before.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
Commit a36a77e9b8 ("drivers: reset: add ch32 reset controller")
added reset-controller nodes to the WCH dtsi files, but the include
added to ch32h417.dtsi names the binding header ch32_20x_30x-reset.h
while the header introduced by that commit is ch32v20x_30x-reset.h.
This breaks devicetree preprocessing for every ch32h417evt build.
Fix the include to use the correct header name.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
The adi,mbox-max32-sema binding requires the interrupts property,
but it was only defined for the m4 core in max32xxx-m4.dtsi.
Add the rv32 interrupt assigment in max78000-rv.dtsi.
Signed-off-by: Nenad Ilic <nenad.ilic@analog.com>
The static 'dlf' property is valid only for a specific PCLK/baud rate
combination. The current calculation accounts for this fixed value when
selecting the integer divisor, but cannot adapt to runtime baud rate
changes.
A low fixed PCLK may require a fractional divisor to reduce baud rate
error for the requested baudrate.
Add an opt-in 'dlf-auto' property to calculate the integer divisor and
DLF value together whenever the baud rate changes, using 1/64-resolution
fixed-point arithmetic. When enabled, 'dlf-auto' overrides 'dlf'.
Also enable DLF support when an instance uses either 'dlf' or
'dlf-auto'. Existing 'dlf' users are unaffected.
Signed-off-by: Bo Sun <bo.sun@kernel.li>
Add reset driver for the reset part of the ch32 rcc.
Use this new reset driven in `wch,usart` to reset the usart peripheral
before use.
Signed-off-by: Fiona Behrens <me@kloenk.dev>
Add a driver for the VIRTIO GPIO device (virtio spec 1.3, section 5.18),
letting a Zephyr guest drive GPIO lines exposed by a hypervisor or a
vhost-user backend.
The number of lines is read from the device configuration space at init,
and interrupts use the event virtqueue when the device offers
VIRTIO_GPIO_F_IRQ. Every operation is a round trip to the device, so the
GPIO API can only be used from a thread.
Assisted-by: Claude Code:opus-4.8
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Document that the second peripheral range maps the IAP flash window to
the non-secure flash alias without changing TrustZone attribution.
Signed-off-by: Manjae Cho <manjae.cho@samsung.com>
Keep IAP under the peripheral bus and use explicit ranges for the secure
and non-secure flash aliases.
Signed-off-by: Manjae Cho <manjae.cho@samsung.com>
Replace the fixed-partitions layout with zephyr,mapped-partition and add
the ranges properties required to translate partition addresses through
the IAP flash controller.
Keep the existing Kconfig overrides for CPU1 and TF-M layouts.
Signed-off-by: Manjae Cho <manjae.cho@samsung.com>
Zephyr's devicetree tooling parses and generates macros
for the ranges property but has no equivalent support for
dma-ranges, even though both are defined the same way by
the Devicetree Specification (§2.3.9) and edtlib.py already
has the machinery to parse address-translation triplets.
This adds the same pipeline that already exists for ranges.
edtlib.py now parses dma-ranges into Node. dma_ranges using
the same cell-based translation logic as Node via a new
_init_dma_ranges() method.
gen_defines.py emits DT_N_..._DMA_RANGES_* macros for each node
with a dma-ranges property through a new write_dma_ranges() function.
devicetree.h gains the DT_DMA_RANGES_* public API, including HAS_IDX,
CHILD_BUS_ADDRESS_BY_IDX, PARENT_BUS_ADDRESS_BY_IDX, LENGTH_BY_IDX,
NUM_DMA_RANGE, and FOREACH_DMA_RANGE. base.yaml documents the dma-ranges
property per DT spec §2.3.9.
Assisted-by: Claude:claude-sonnet-5
Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
Add a driver for the simple hardware RNG block on the BCM2835 /
BCM2836 / BCM2837 / BCM2710 SoCs (Raspberry Pi 1/2/3/Zero family).
The block is a small four-register FIFO, distinct from the iProc
RNG200 on the BCM2711 (Raspberry Pi 4).
Enable it on the Raspberry Pi Zero 2 W as the board entropy source.
Signed-off-by: Jonathan E. Peace <jep@alphabetiq.com>
Add missing pinctrl definitions for the RTC square wave output pins on
the MAX32690 and MAX32655 SoCs.
Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
Fold the NXP ENET QoS child node `nxp,enet-qos-mac` into the parent
`nxp,enet-qos` controller node to match standard `snps,dwmac` bindings
and flatten the devicetree representation.
Summary of changes:
- dts: bindings: Merge `nxp,enet-qos-mac` binding into `nxp,enet-qos`
and remove the obsolete binding file.
- dts/boards: Flatten devicetree structure across MCX A and MCX N
families (and EVK/FRDM board overlays) by moving interrupts, MAC
properties and PTP clock configuration up to the parent `enet` node.
- drivers: Update `nxp_enet_qos` ethernet and PTP clock drivers for the
single-node layout, remove the redundant `eth_nxp_enet_qos.c` module
driver and consolidate Kconfig under `ETH_NXP_ENET_QOS`.
- docs: Add a migration guide entry detailing the devicetree node changes.
Assisted-by: Claude:opus-4-8
Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
flash_size/erase-block-size/write-block-size now live on the
soc-nv-flash child instead of the controller node. Update
flash_renesas_rz_qspi.c/flash_renesas_rza2m_qspi.c and the
bindings to match.
Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
Add an ext_flash_ctrl flash-controller node under each board's
xspi/spibsc bus, move the flash chip under it as a soc-nv-flash
child with "ranges" for address translation, and convert its
partitions to zephyr,mapped-partition
Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
Added support for lp-mode for the autanalog-sar in PSE84.
Assisted-by: Claude:claude-opus-4.6
Signed-off-by: Richard Mc Sweeney <Richard.McSweeney@infineon.com>
The i.MX RT1150 family devicetrees (5c249d9a7f) merged in parallel
with the RT11xx dtsi reorganization (aa173e6fb8), so they were left
at the old flat dts/arm/nxp/imxrt/ location and still include the
family dtsi files by their pre-move paths, which no longer exist.
This breaks the devicetree preprocess step for frdm_imxrt1152 on
main.
Move nxp_rt1151.dtsi, nxp_rt1152.dtsi and nxp_rt115x.dtsi into the
imxrt11xx/ subdirectory alongside the other RT11xx part-level dtsi
files, update their internal includes to the new paths, and update
the frdm_imxrt1152 board dts accordingly.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Allow the Raspberry Pi BCM2711 framebuffer driver to configure the
initial pixel format through devicetree. Add support for ARGB8888
and ABGR8888 formats.
Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
The i.MX RT118x dtsi files already live in their own subdirectory
under dts/arm/nxp/imxrt/rt118x/ (added by prior work). Align the
directory name with soc/nxp/imxrt/imxrt118x/ so the dts and soc
layers use the same family folder name.
Renamed dts/arm/nxp/imxrt/rt118x/ -> dts/arm/nxp/imxrt/imxrt118x/.
Updated the 5 external board dts callers (frdm_imxrt1186 x3,
mimxrt1180_evk x2) plus the 22 internal cross-references among the
imxrt118x dtsi files themselves. No functional change; the resulting
devicetree is byte-identical before and after this rename.
Signed-off-by: Wei Feng <wei.feng_5@nxp.com>
Follow the family layout that already exists under soc/nxp/imxrt/
and move the i.MX RT7xx dtsi files (nxp_rt7xx_cm33_cpu0/cpu1 and
their _common) into a matching imxrt7xx/ subdirectory. This keeps
the dts layer aligned with the soc layer.
3 dtsi files moved. Updated 2 board dts callers under
boards/nxp/mimxrt700_evk/. Internal cross-references between RT7xx
dtsi files use relative includes and are unaffected by the move.
No functional change; the resulting devicetree is byte-identical
before and after this move.
Signed-off-by: Wei Feng <wei.feng_5@nxp.com>
Follow the family layout that already exists under soc/nxp/imxrt/
and move the i.MX RT6xx dtsi files (nxp_rt6xx.dtsi, its _common, its
_ns variant, and the _hifi4memsplit split for the HiFi4 DSP) into a
matching imxrt6xx/ subdirectory. This keeps the dts layer aligned
with the soc layer.
4 dtsi files moved. Updated 2 board dts callers
(mimxrt685_aud_evk, mimxrt685_evk). Internal cross-references
between RT6xx dtsi files use relative includes and are unaffected
by the move. No functional change; the resulting devicetree is
byte-identical before and after this move.
Signed-off-by: Wei Feng <wei.feng_5@nxp.com>
Follow the family layout that already exists under soc/nxp/imxrt/
and move the i.MX RT5xx dtsi files (nxp_rt5xx.dtsi, its _common,
its _ns variant) into a matching imxrt5xx/ subdirectory. This keeps
the dts layer aligned with the soc layer.
3 dtsi files moved. Updated 1 board dts caller
(mimxrt595_evk_mimxrt595s_cm33.dts). Internal cross-references
between RT5xx dtsi files use relative includes and are unaffected
by the move. No functional change; the resulting devicetree is
byte-identical before and after this move.
Signed-off-by: Wei Feng <wei.feng_5@nxp.com>
Follow the family layout that already exists under soc/nxp/imxrt/
and move the i.MX RT11xx dtsi files (family wildcard nxp_rt11xx.dtsi
and its cm4/cm7 variants, plus the RT1160 and RT1170 part-level dtsi
in the same three-file cm4/cm7 pattern) into a matching imxrt11xx/
subdirectory. This keeps the dts layer aligned with the soc layer.
9 dtsi files moved. Updated internal cross-references (part-level
1160/1170 dtsi include the family wildcard as
<nxp/imxrt/imxrt11xx/nxp_rt11xx*.dtsi>) plus board dts / dtsi
callers under boards/nxp/mimxrt1160_evk/, boards/nxp/mimxrt1170_evk/,
boards/nxp/vmu_rt1170/, and dts/arm/phytec/. No functional change;
the resulting devicetree is byte-identical before and after this move.
Signed-off-by: Wei Feng <wei.feng_5@nxp.com>
Follow the family layout that already exists under soc/nxp/imxrt/
and move the i.MX RT10xx dtsi files (family wildcard nxp_rt10xx.dtsi
plus the eight part-level dtsi for RT1010/1015/1020/1024/1040/1050/
1060/1064) into a matching imxrt10xx/ subdirectory. This keeps the
dts layer aligned with the soc layer.
Updated the 8 part-level dtsi files (each includes the family
wildcard as <nxp/imxrt/imxrt10xx/nxp_rt10xx.dtsi>) and 12 board dts
callers (nxp mimxrt10*_evk boards, teensy40, mm_feather, mm_swiftio,
mimxrt1062_fmurt6). No functional change; the resulting devicetree
is byte-identical before and after this move.
Signed-off-by: Wei Feng <wei.feng_5@nxp.com>
Follow the family layout that already exists under soc/nxp/mcx/ and
move the MCX W dtsi files into a matching mcxw/ subdirectory. This
keeps the dts layer aligned with the soc layer.
6 dtsi files moved:
dts/arm/nxp/mcx/nxp_mcxw236_ns.dtsi -> mcxw/
dts/arm/nxp/mcx/nxp_mcxw23x_common.dtsi -> mcxw/
dts/arm/nxp/mcx/nxp_mcxw70.dtsi -> mcxw/
dts/arm/nxp/mcx/nxp_mcxw71.dtsi -> mcxw/
dts/arm/nxp/mcx/nxp_mcxw72.dtsi -> mcxw/
dts/arm/nxp/mcx/nxp_mcxw7x_common.dtsi -> mcxw/
Updated 7 board dts callers (frdm_mcxw23, frdm_mcxw70/71/72,
mcxw23_evk, mcxw72_evk, and the u-blox ubx_evkninab5). Internal
cross-references between MCX W dtsi files use relative includes and
are unaffected by the move. No functional change; the resulting
devicetree is byte-identical before and after this move.
Signed-off-by: Wei Feng <wei.feng_5@nxp.com>
Follow the family layout that already exists under soc/nxp/mcx/ and
move the MCX N dtsi files into a matching mcxn/ subdirectory. This
keeps the dts layer aligned with the soc layer.
9 dtsi files moved (nxp_mcxn23x*, nxp_mcxn54x*, nxp_mcxn94x*, and
nxp_mcxnx4x_common.dtsi which is shared between the N54x and N94x
sub-families).
Updated 7 board dts / dtsi callers under boards/nxp/frdm_mcxn236/,
boards/nxp/frdm_mcxn947/, and boards/nxp/mcx_nx4x_evk/. Internal
cross-references between MCX N dtsi files use relative includes and
are unaffected by the move. No functional change; the resulting
devicetree is byte-identical before and after this move.
Signed-off-by: Wei Feng <wei.feng_5@nxp.com>
Follow the family layout that already exists under soc/nxp/mcx/ and
move the MCX L dtsi files into a matching mcxl/ subdirectory. This
keeps the dts layer aligned with the soc layer.
11 dtsi files moved (nxp_mcxl.dtsi, nxp_mcxl_aon.dtsi, and the
mcxl253/254/255 cm0/cm33/cm33_ns variants).
Updated 2 board dts callers under boards/nxp/frdm_mcxl255/. Internal
cross-references between MCX L dtsi files use relative includes
and are unaffected by the move. No functional change; the resulting
devicetree is byte-identical before and after this move.
Signed-off-by: Wei Feng <wei.feng_5@nxp.com>
Follow the family layout that already exists under soc/nxp/mcx/ and
move the MCX E dtsi files into a matching mcxe/ subdirectory. This
keeps the dts layer aligned with the soc layer.
Files moved:
dts/arm/nxp/mcx/nxp_mcxe245.dtsi -> mcxe/
dts/arm/nxp/mcx/nxp_mcxe246.dtsi -> mcxe/
dts/arm/nxp/mcx/nxp_mcxe247.dtsi -> mcxe/
dts/arm/nxp/mcx/nxp_mcxe24x_common.dtsi -> mcxe/
dts/arm/nxp/mcx/nxp_mcxe315.dtsi -> mcxe/
dts/arm/nxp/mcx/nxp_mcxe316.dtsi -> mcxe/
dts/arm/nxp/mcx/nxp_mcxe317.dtsi -> mcxe/
dts/arm/nxp/mcx/nxp_mcxe31b.dtsi -> mcxe/
dts/arm/nxp/mcx/nxp_mcxe31x_common.dtsi -> mcxe/
Updated 2 board dts callers and 7 internal cross-references (each
part-level dtsi includes its 24x or 31x family common as
<nxp/mcx/mcxe/nxp_mcxeNNx_common.dtsi>). No functional change; the
resulting devicetree is byte-identical before and after this move.
Signed-off-by: Wei Feng <wei.feng_5@nxp.com>
Follow the family layout that already exists under soc/nxp/mcx/ and
move the MCX C dtsi files into a matching mcxc/ subdirectory. This
keeps the dts layer aligned with the soc layer.
Files moved:
dts/arm/nxp/mcx/nxp_mcxc141.dtsi -> mcxc/
dts/arm/nxp/mcx/nxp_mcxc142.dtsi -> mcxc/
dts/arm/nxp/mcx/nxp_mcxc242.dtsi -> mcxc/
dts/arm/nxp/mcx/nxp_mcxc444.dtsi -> mcxc/
dts/arm/nxp/mcx/nxp_mcxc_common.dtsi -> mcxc/
Updated 2 board dts callers and 4 internal cross-references (each
part-level dtsi includes <nxp/mcx/mcxc/nxp_mcxc_common.dtsi>).
No functional change; the resulting devicetree is byte-identical
before and after this move.
Signed-off-by: Wei Feng <wei.feng_5@nxp.com>
The dts/arm/nxp/mcx/ vendor directory currently holds ~50 dtsi files
flat, spanning six MCX families (mcxa/mcxc/mcxe/mcxl/mcxn/mcxw).
Follow the family layout that already exists under soc/nxp/mcx/ and
move the MCX A dtsi files into a matching mcxa/ subdirectory. This
keeps the dts layer aligned with the soc layer as more derivative
parts are added, and shortens the flat directory.
Files moved:
dts/arm/nxp/mcx/nxp_mcxa153.dtsi -> mcxa/
dts/arm/nxp/mcx/nxp_mcxa156.dtsi -> mcxa/
dts/arm/nxp/mcx/nxp_mcxa266.dtsi -> mcxa/
dts/arm/nxp/mcx/nxp_mcxa344.dtsi -> mcxa/
dts/arm/nxp/mcx/nxp_mcxa346.dtsi -> mcxa/
dts/arm/nxp/mcx/nxp_mcxa366.dtsi -> mcxa/
dts/arm/nxp/mcx/nxp_mcxa5x.dtsi -> mcxa/
dts/arm/nxp/mcx/nxp_mcxa5x_common.dtsi -> mcxa/
dts/arm/nxp/mcx/nxp_mcxa5x_ns.dtsi -> mcxa/
dts/arm/nxp/mcx/nxp_mcxaxx6_common.dtsi -> mcxa/
Updated 9 board dts callers and 3 internal cross-references
(nxp_mcxaxx6_common.dtsi is now included as
<nxp/mcx/mcxa/nxp_mcxaxx6_common.dtsi>). No functional change; the
resulting devicetree is byte-identical before and after this move.
Signed-off-by: Wei Feng <wei.feng_5@nxp.com>
Follow the family layout that already exists under soc/nxp/kinetis/
and move the Kinetis KWX family dtsi files (3 files) into a
matching kwx/ subdirectory. This keeps the dts layer aligned
with the soc layer.
Updated the board dts callers (hexiwear/mkw40z4 + frdm_kw41z +
usb_kw24d512) and any
internal cross-references. No functional change; the resulting
devicetree is byte-identical before and after this move.
Signed-off-by: Wei Feng <wei.feng_5@nxp.com>
Follow the family layout that already exists under soc/nxp/kinetis/
and move the Kinetis KV5X family dtsi files (7 files) into a
matching kv5x/ subdirectory. This keeps the dts layer aligned
with the soc layer.
Updated the board dts callers (twr_kv58f220m) and any
internal cross-references. No functional change; the resulting
devicetree is byte-identical before and after this move.
Updated MAINTAINERS.yml to add boards/nxp/twr_kv*/ to the
NXP Kinetis file-group so twr_kv58f220m is covered.
Signed-off-by: Wei Feng <wei.feng_5@nxp.com>
Follow the family layout that already exists under soc/nxp/kinetis/
and move the Kinetis KL2X family dtsi files (1 file) into a
matching kl2x/ subdirectory. This keeps the dts layer aligned
with the soc layer.
Updated the board dts callers (frdm_kl25z) and any
internal cross-references. No functional change; the resulting
devicetree is byte-identical before and after this move.
Signed-off-by: Wei Feng <wei.feng_5@nxp.com>
Follow the family layout that already exists under soc/nxp/kinetis/
and move the Kinetis KE1XZ family dtsi files (4 files) into a
matching ke1xz/ subdirectory. This keeps the dts layer aligned
with the soc layer.
Updated the board dts callers (frdm_ke15z + frdm_ke16z +
frdm_ke17z + frdm_ke17z512) and any
internal cross-references. No functional change; the resulting
devicetree is byte-identical before and after this move.
Signed-off-by: Wei Feng <wei.feng_5@nxp.com>
Follow the family layout that already exists under soc/nxp/kinetis/
and move the Kinetis KE1XF family dtsi files (9 files) into a
matching ke1xf/ subdirectory. This keeps the dts layer aligned
with the soc layer.
Updated the board dts callers (twr_ke18f) and any
internal cross-references. No functional change; the resulting
devicetree is byte-identical before and after this move.
Updated MAINTAINERS.yml to add ke1xf dts subdirectory
to the ke1xf file-group.
Signed-off-by: Wei Feng <wei.feng_5@nxp.com>
Follow the family layout that already exists under soc/nxp/kinetis/
and move the Kinetis K8X family dtsi files (4 files) into a
matching k8x/ subdirectory. This keeps the dts layer aligned
with the soc layer.
Updated the board dts callers (frdm_k82f) and any
internal cross-references. No functional change; the resulting
devicetree is byte-identical before and after this move.
Signed-off-by: Wei Feng <wei.feng_5@nxp.com>
Follow the family layout that already exists under soc/nxp/kinetis/
and move the Kinetis K6X family dtsi files (2 files) into a
matching k6x/ subdirectory. This keeps the dts layer aligned
with the soc layer.
Updated the board dts callers (frdm_k64f + hexiwear/mk64f12 +
rddrone_fmuk66 + ip_k66f) and any
internal cross-references. No functional change; the resulting
devicetree is byte-identical before and after this move.
Signed-off-by: Wei Feng <wei.feng_5@nxp.com>
Follow the family layout that already exists under soc/nxp/kinetis/
and move the Kinetis K32LX family dtsi files (1 file) into a
matching k32lx/ subdirectory. This keeps the dts layer aligned
with the soc layer.
Updated the board dts callers (frdm_k32l2b3) and any
internal cross-references. No functional change; the resulting
devicetree is byte-identical before and after this move.
Updated MAINTAINERS.yml k32lx dts path to point at the
new k32lx/ subdirectory.
Signed-off-by: Wei Feng <wei.feng_5@nxp.com>
Follow the family layout that already exists under soc/nxp/kinetis/
and move the Kinetis K2X family dtsi files (3 files) into a
matching k2x/ subdirectory. This keeps the dts layer aligned
with the soc layer.
Updated the board dts callers (frdm_k22f) and any
internal cross-references. No functional change; the resulting
devicetree is byte-identical before and after this move.
Updated MAINTAINERS.yml to broaden the NXP Kinetis dts
file-group glob from nxp_k* to kinetis/ now that all
dtsi files live under a subdirectory.
Signed-off-by: Wei Feng <wei.feng_5@nxp.com>