Commit graph

136,983 commits

Author SHA1 Message Date
Yassine El Aissaoui
9e89f75deb soc: mcxw: Fix SWD debug/flash issue on MCXW72 target
Resolved an issue where repeated flash/debug cycles
would fail, requiring the board to be placed in ISP
mode before it could be programmed again.

Signed-off-by: Yassine El Aissaoui <yassine.elaissaoui@nxp.com>
2026-03-12 14:02:50 -05:00
Jiafei Pan
ac44e23700 boards: frdm_imx91: enable watchdog
Enable watchdog on the frdm_imx91 board.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2026-03-12 14:02:14 -05:00
Jiafei Pan
97e6d3d9a0 dts: mimx9131: add watchdog device nodes
Add device nodes for watchdog device.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2026-03-12 14:02:14 -05:00
Fin Maaß
60185e40c3 drivers: flash: spi_nor: remove redundant runtime check
The check for the layout size, when CONFIG_SPI_NOR_SFDP_DEVICETREE
is enabled, is already done with build asserts during build
(inside PAGE_LAYOUT_GEN). We don't need to check a second
time.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-03-12 14:01:56 -05:00
Qiang Zhang
33600ee9d6 tests: dma: add frdm_mcxa153 board support
Add overlay and config files for frdm_mcxa153 (MCXA153, EDMA V4,
no DMAMUX) to chan_blen_transfer, chan_link_transfer and
loop_transfer test suites.

Signed-off-by: Qiang Zhang <qiang.zhang_6@nxp.com>
2026-03-12 14:01:27 -05:00
Qiang Zhang
efe48ea674 drivers: dma: mcux_edma: add EDMA V4 no-DMAMUX m2m support
Add a loop to triggerchannel start for each remaining major loop iteration
to ensure complete data transfer.

Signed-off-by: Qiang Zhang <qiang.zhang_6@nxp.com>
2026-03-12 14:01:27 -05:00
Gaetan Perrot
858cbc1525 tests: posix: single_process: env: fix snprintf format specifier
The loop counter is a signed int but was formatted using %u, which
expects an unsigned int.

Use %d instead to match the variable type.

No functional changes.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-03-12 14:01:02 -05:00
Gaetan Perrot
13ef2d076a tests: drivers: flash: negative_tests: check for unaligned erase size
Extend test_negative_flash_erase_unaligned to also verify that
flash_erase() returns an error when the erase size is not aligned to
the page size.

Previously, the test only validated unaligned offsets.

This change adds coverage for unaligned erase lengths to ensure
drivers properly reject misaligned erase requests.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-03-12 14:00:35 -05:00
Gaetan Perrot
060c3f3f02 tests: drivers: flash: negative_tests: split tests into smaller test
Split grouped negative flash API tests into smaller, independent
test cases.

This improves failure diagnostics and aligns with the
one-behavior-per-test practice used across Zephyr tests.

No functional changes intended.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-03-12 14:00:35 -05:00
Gaetan Perrot
a7a0af2372 tests: drivers: flash: negative_tests: check for unaligned write size
Add missing negative test cases to verify that flash_write()
correctly return an error when called with an unaligned size.

This improves coverage of invalid parameter handling in flash
drivers.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-03-12 14:00:35 -05:00
Jiafei Pan
61973b2882 drivers: intc_gicv3_its: use busy wait to support SMP
For SMP kernel, the secondary Core is booted up in post kernel stage,
the secondary core need to initialize its, for example map collection
table to target redistributor, we could not use sleep delay functions
at this time because the scheduler is not ready for secondary Core,
so this patch is to always use busy wait in post its command process.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2026-03-12 14:00:15 -05:00
Jiafei Pan
4faffdc76c drivers: intc_gicv3_its: add lock to protect posting its command
In case of SMP kernel, multiple CPU Core could post its command by
using the same command port, so add lock to make sure its command
is posted one by another.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2026-03-12 14:00:15 -05:00
Jisheng Zhang
f0df349808 arch: arm: implement EHABI walk_stackframe
Implement walk_stackframe() according to EHABI(Exception Handling ABI) [1]
Then implement arch_stack_walk() and z_arm_unwind_stack() based on
walk_stackframe. After that, hook the z_arm_unwind_stack() to
z_arm_fatal_error() so that we can unwind the stack during fatal error.

Tested with tests/arch/common/stack_unwind and enabling SYMTAB and
EXTRA_EXCEPTION_INFO:

*** Booting Zephyr OS build v4.3.0-3078-g23892b038f6a ***
Hello World! xxx
1: func1
2: func2
3: func1
4: func2
5: func1
6: func2
E: r0/a1:  0x00000003  r1/a2:  0x300000e8  r2/a3:  0x300000e8
E: r3/a4:  0x00000003 r12/ip:  0x00000000 r14/lr:  0x100011eb
E:  xpsr:  0x21000000
E: r4/v1:  0x00000006  r5/v2:  0x10009250  r6/v3:  0x00000000
E: r7/v4:  0x00000000  r8/v5:  0x00000000  r9/v6:  0x00000000
E: r10/v7: 0x00000000  r11/v8: 0x00000000    psp:  0x30000f58
E: EXC_RETURN: 0x0
E: Faulting instruction address (r15/pc): 0x100011fe
E: call trace:
E:      0: lr: 0x100011fe [func2+0x21]
E:      1: lr: 0x10001233 [func1+0x16]
E:      2: lr: 0x10001205 [func2+0x28]
E:      3: lr: 0x10001233 [func1+0x16]
E:      4: lr: 0x10001205 [func2+0x28]
E:      5: lr: 0x10001233 [func1+0x16]
E:      6: lr: 0x1000125d [main+0x10]
E:      7: lr: 0x10002cb5 [bg_thread_main+0x20]
E:
E: >>> ZEPHYR FATAL ERROR 3: Kernel oops on CPU 0
E: Current thread: 0x300000e8 (main)
E: Halting system

NOTE: cortex_a_r's walk_stackframe() works too, but extra_info.callee
is NULL during oops because the z_arm_svc doesn't save it, see below
comment in swap_helper.S or switch.S:

/* Zero callee_regs and exc_return (only used on Cortex-M) */
    mov r1, #0
    mov r2, #0
    bl z_do_kernel_oops

So the cortex_a_r's k_oops() can't unwind the stack now. For safe
reason, let's enable ARCH_HAS_STACKWALK for only CPU_CORTEX_M now.

Link: https://github.com/ARM-software/abi-aa/blob/main/ehabi32/ehabi32.rst [1]
Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
2026-03-12 13:59:45 -05:00
Jisheng Zhang
fc5a1f3542 arch: arm: setup exc_return
We will make use of the .exc_return member during walk_stackframe() to
know whether we have extended stack or standard stack.

Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
2026-03-12 13:59:45 -05:00
Jisheng Zhang
13b3dfdfcd arch: arm: guard arch_syscall_oops() with CONFIG_USERSPACE
The arch_syscall_oops() is only used when CONFIG_USERSPACE=y.

Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
2026-03-12 13:59:45 -05:00
Marcelo Roberto Jimenez
8ca19b12d6 docs: migration-guide: Mention flash erase and write change
Mentions that `flash erase` and `flash write` now require explicit
device arguments.

Signed-off-by: Marcelo Roberto Jimenez <marcelo.jimenez@gmail.com>
2026-03-12 13:58:44 -05:00
Marcelo Roberto Jimenez
5dbdf9b44c drivers: flash: flash_shell.c: Use the SHELL_HELP macro
This patch uses the new SHELL_HELP() macro in this file.

Signed-off-by: Marcelo Roberto Jimenez <marcelo.jimenez@gmail.com>
2026-03-12 13:58:44 -05:00
Marcelo Roberto Jimenez
04108d8870 drivers: flash: flash_shell.c: Fix parsing of "flash read"
The parsing of the number of bytes to read in the read command was being
done in hexadecimal, causing unexpected behavior.

Now the number can be interpreted in decimal or hexadecimal if prefixed
with 0x.

Signed-off-by: Marcelo Roberto Jimenez <marcelo.jimenez@gmail.com>
2026-03-12 13:58:44 -05:00
Marcelo Roberto Jimenez
cb2382d25b drivers: flash: flash_shell.c: Requires device on destructive ops
This patch avoids the use of the default device on destructive
operations like erase and write. Allowing it might have catastrophic
results like erasing parts or the whole of the application itself.

Signed-off-by: Marcelo Roberto Jimenez <marcelo.jimenez@gmail.com>
2026-03-12 13:58:44 -05:00
Serhiy Katsyuba
d0b28572a2 drivers: mm: Fix vm range check for page map
This fixes the range check condition. Without it, the last page cannot
be mapped.

This is a follow-up to 70961e2; the same fix is applied to the neighboring
function. Both functions with the problem were introduced by 01d3575.

Signed-off-by: Serhiy Katsyuba <serhiy.katsyuba@intel.com>
2026-03-12 17:21:13 +01:00
Phuc Hoang
55ddd34ce3 driver: crc: Fix crc macro in header file
Fix crc macros in header file:
include/zephyr/drivers/crc.h
include/zephyr/sys/crc.h

Signed-off-by: Phuc Hoang <donp172748@gmail.com>
2026-03-12 12:20:27 -04:00
Yonatan tordjman
1e081885d0 samples: doc: Added README for shell devmem_load sample
readme is adapted from previous .md file.

Signed-off-by: Yonatan tordjman <yonatan.turdjman@gmail.com>
2026-03-12 12:09:14 -04:00
Lyle Zhu
96f8077b95 bluetooth: Classic: l2cap: refactor R-bit handling for RET mode
Refactor the Retransmission Disable (R) bit handling in L2CAP BR/EDR
to reuse the existing L2CAP_FLAG_REMOTE_BUSY flag instead of
maintaining separate R-bit tracking flags.

The previous implementation used dedicated flags (
`L2CAP_FLAG_RECV_FRAME_R` and `L2CAP_FLAG_RECV_FRAME_R_CHANGED`) to
track the R-bit state, which duplicated the functionality of
L2CAP_FLAG_REMOTE_BUSY and added unnecessary complexity.

Key changes:
- Remove `L2CAP_FLAG_RECV_FRAME_R` and
  `L2CAP_FLAG_RECV_FRAME_R_CHANGED` flags
- Update `bt_l2cap_br_update_r()` to directly use
  `L2CAP_FLAG_REMOTE_BUSY` for tracking remote busy state
- Trigger I-frame retransmission when R-bit transitions from 1 to 0
- Update I-frame and S-frame header packing to set R-bit based on
  local busy state in retransmission mode
- Simplify I-frame sending logic by consolidating remote busy checks
- Remove redundant R-bit checks in data pull path
- Add RET mode specific handling in S-frame reception for RR and REJ
  frames
- Enhance `bt_l2cap_br_chan_recv_complete()` to support both RET and
  ERET modes with proper local busy state management
- Set S-frame type to REJ when local busy and in RET mode

These changes eliminate code duplication and make the remote busy
state management more consistent across the L2CAP implementation.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2026-03-12 12:09:04 -04:00
Lyle Zhu
4b56a573b5 bluetooth: Classic: l2cap: fix retransmit timer start condition
Fix the retransmit timer start logic to account for remote busy state
in L2CAP BR/EDR flow control.

The previous implementation would start the retransmit timer when there
are outstanding unacknowledged I-frames, but it didn't check if the
remote side is in a busy state (RNR received). Starting the timer while
the remote is busy is incorrect since the remote cannot process I-frames
until it sends an RR to clear the busy condition.

Add a check for L2CAP_FLAG_REMOTE_BUSY before starting the retransmit
timer to ensure the timer is only started when the remote side is ready
to receive I-frames.

This prevents unnecessary timer expirations and retransmissions when the
remote peer has signaled it cannot accept additional I-frames.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2026-03-12 12:09:04 -04:00
Lyle Zhu
7e1757e4e1 bluetooth: Classic: l2cap: refactor I-frame retransmission logic
Refactor the I-frame retransmission mechanism to improve clarity and
correctness in L2CAP BR/EDR flow control.

The previous implementation used multiple flags (L2CAP_FLAG_PDU_RETRANS
and L2CAP_FLAG_REQ_SEQ_UPDATED) to track retransmission state, which
made the logic complex and error-prone. This change introduces a
per-window retransmit flag and dedicated helper functions to manage
retransmission of all unacknowledged I-frames.

Key changes:
- Replace L2CAP_FLAG_PDU_RETRANS with L2CAP_FLAG_RET_I_FRAME for
  timeout-triggered retransmission of the first unacked I-frame
- Replace L2CAP_FLAG_REQ_SEQ_UPDATED with L2CAP_FLAG_RET_I_FRAMES for
  retransmission of all unacked I-frames
- Add `retransmit` flag to `bt_l2cap_br_window` structure to track
  which I-frames need retransmission
- Add `l2cap_br_retransmit_i_frames()` to mark all outstanding I-frames
  for retransmission
- Add `l2cap_br_stop_retransmit_i_frames()` to clear retransmission
  state
- Add `l2cap_br_get_ret_win()` to retrieve the next I-frame marked
  for retransmission
- Update `l2cap_br_ret_fc_data_pull()` to handle both single I-frame
  timeout retransmission and bulk retransmission separately
- Fix window memory management to only free newly allocated windows on
  error, not retransmitted ones
- Update S-frame handlers (RR, REJ, RNR) to use new retransmission
  helpers instead of setting flags directly
- Update comment for L2CAP_FLAG_RET_I_FRAME to clarify it handles
  timeout retransmission

These changes make the retransmission logic more explicit and easier
to maintain while ensuring proper flow control behavior.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2026-03-12 12:09:04 -04:00
Lyle Zhu
2ea6bfab67 bluetooth: Classic: l2cap: fix S-frame sending logic
There is a corner case that the S-frame (RR) needs to be sent. And
there is an I-frame (and only one I-frame) is in pending. But the
I-frame is pending for waiting for ack instead of sending. In this
case, the S-frame (RR) will not be preformed.

The previous implementation incorrectly checked for pending data
before sending S-frames, which could prevent timely acknowledgments.

Fix the S-frame sending logic to ensure proper flow control in L2CAP
BR/EDR channels.

Simplify the S-frame sending mechanism by removing the dedicated
S-frame buffer allocation and transmission path. Instead, rely on
the existing data ready mechanism to trigger S-frame transmission
when needed.

Key changes:
- Remove S-frame specific macros and flags for identifying S-frames
- Change `l2cap_br_send_s_frame()` to only set the pending flag
  instead of allocating and sending buffers directly
- Remove error handling paths that would disconnect on S-frame send
  failures since S-frames are now queued through the normal path
- Simplify `l2cap_br_get_next_sdu()` and `l2cap_br_ret_fc_data_pull()`
  by removing S-frame specific handling
- Update `bt_l2cap_br_chan_recv_complete()` to always return 0

These changes ensure S-frames are sent promptly for flow control
regardless of pending I-frames in the transmission queue.

Signed-off-by: Lyle Zhu <lyle.zhu@nxp.com>
2026-03-12 12:09:04 -04:00
Alain Volmat
e8b48d89a9 video: stm32-dcmipp: dcmipp requires 16bytes aligned buffers
Add the buf_align entry in caps to indicate buffer alignment
constraints.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2026-03-12 12:08:51 -04:00
Phi Bang Nguyen
d4aecd3b65 include: drivers: video: Add buffer alignment to caps
Add a field to video_caps to expose buffer alignment requirement.

Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2026-03-12 12:08:51 -04:00
Phi Bang Nguyen
6f8bfed789 include: drivers: video: Introduce transform_caps API
For m2m video device, the get_caps() API give the supported caps of
either input or output side. However, there is currently no guaranteed
way to know the relationship between input and output caps.

Introduce a new video_transform_caps() API that help to transform a video
format cap from one end to the other end of a m2m device.

Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2026-03-12 12:08:51 -04:00
Phi Bang Nguyen
304629ccb0 include: drivers: video: Returning errno instead of _ASSERT
Return an errno instead of _ASSERT because in some cases, the propram
needs to be continued even if a function failed. For example,
video_get_caps() could be failed if it is called in an init function
where the HW is not yet assigned.

Furthermore, _ASSERT will be dissappeared in production build.

Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2026-03-12 12:08:51 -04:00
Fin Maaß
2b929b5431 spi: spi_context: use sys_timepoint* api
use sys_timepoint* api inside
`spi_context_wait_for_completion()`.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-03-12 12:08:35 -04:00
Amneesh Singh
fcd47869f7 dts: ti: am62x_{a53/m4}.dtsi: wrap pinctrl with ti,control-module
Allow providing an unlock configuration for unlocking the padcfg region as
part of the ti,control-module node.

Map the child pinctrl node using the `ranges` property to the base address
space.

Signed-off-by: Amneesh Singh <amneesh@ti.com>
2026-03-12 12:08:25 -04:00
Amneesh Singh
197b68a8d2 dts: ti: am64x_{main/mcu}.dtsi: wrap pinctrl with ti,control-module
Allow providing an unlock configuration for unlocking the padcfg region as
part of the ti,control-module node.

Map the child pinctrl node using the `ranges` property to the base address
space.

Signed-off-by: Amneesh Singh <amneesh@ti.com>
2026-03-12 12:08:25 -04:00
Amneesh Singh
e82959fba1 soc: ti/k3: am6x: add early init hook for a53 cores
Allow unlocking partitions as part of early_init_hook if the device tree
contains an unlock configuration as part of ti,control-module.

Signed-off-by: Amneesh Singh <amneesh@ti.com>
2026-03-12 12:08:25 -04:00
Amneesh Singh
e67ecb40b8 soc: ti/k3: am6x: use ti,control-module for partition unlocking
Currently we maintain addresses and values as static configurations using
static configurations and macros in ctrl_partitions.c. Instead use the
new ti,control-module binding to get these values from the device tree and
unlock the partitions during early init.

Only compile and call `k3_unlock_all_ctrl_partitions` if at least one node
with status okay and compatible "ti,control-module" is present.

Also make sure to map and unmap the regions in case MMU is present.

Signed-off-by: Amneesh Singh <amneesh@ti.com>
2026-03-12 12:08:25 -04:00
Amneesh Singh
7af410d897 dts: bindings: syscon: introduce ti,control-module
This binding is for TI devices that use control modules for configuring
registers and information related to control MMRs, power, reset and
clocking.

These control modules consist of regions that require writing specific
values to specific kick registers to unlock that region. This is provided
as ti,unlock-offsets property.

Signed-off-by: Amneesh Singh <amneesh@ti.com>
2026-03-12 12:08:25 -04:00
Sebastian Głąb
1849d39216 samples: drivers: adc: Enable adc_sequence sample on nrf54lm20b
Add overlay required to run the adc_sequence sample on nrf54lm20b.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2026-03-12 12:08:08 -04:00
Sebastian Głąb
676c1291d3 samples: drivers: adc: Enable adc_dt sample on nrf54lm20b
Add overlay required to run the adc_dt sample on nrf54lm20b.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2026-03-12 12:08:08 -04:00
Sebastian Głąb
925a648386 tests: drivers: adc: Enable adc_error_cases test on nrf54lm20b
Define alias to adc and set status to okay on adc node
at the nrf54lm20 board defition level.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2026-03-12 12:08:08 -04:00
Sebastian Głąb
6101d641f2 tests: drivers: adc: Enable adc_api test on nrf54lm20b
Add overlay required to run the adc_api test on nrf54lm20b.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2026-03-12 12:08:08 -04:00
Sebastian Głąb
f1a4e1fdbd tests: drivers: adc: Enable adc_accuracy_test on nrf54lm20b
Add overlay required to run the adc_accuracy_test on nrf54lm20b.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2026-03-12 12:08:08 -04:00
Sebastian Głąb
01d6259184 tests: boards: nrf: Enable qdec test on nrf54lm20b
Add overlay required to run the qdec test on nrf54lm20b.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2026-03-12 12:08:08 -04:00
Sebastian Głąb
b0bae54f46 samples: sensor: Enable qdec sample on nrf54lm20b
Add overlay required to run the qdec sample on nrf54lm20b.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2026-03-12 12:08:08 -04:00
Sebastian Głąb
066d7ca090 tests: drivers: sensor: Enable temp_sensor test on nrf54lm20b
Add `temp_sensor` label to nrf54lm20 board definitions.

Signed-off-by: Sebastian Głąb <sebastian.glab@nordicsemi.no>
2026-03-12 12:08:08 -04:00
Martí Bolívar
b7ad704311 scripts: check_compliance: verify DT binding file names
Add a compliance check to make sure that the rules in
doc/build/dts/bindings-upstream.rst (section "File names") are
followed from now on.

Signed-off-by: Martí Bolívar <marti.bolivar@oss.qualcomm.com>
2026-03-12 12:07:57 -04:00
Martí Bolívar
c4b9507680 scripts: check_compliance: cosmetic DT bindings prep work
No functional changes expected; just prep work for extending these
checks.

Signed-off-by: Martí Bolívar <marti.bolivar@oss.qualcomm.com>
2026-03-12 12:07:57 -04:00
Martí Bolívar
1baacb5ce0 dts: bindings: adc: clean up a file
This 'base' file is just an include file, it doesn't actually refer to
a concrete binding. There's a specific binding for the 4050 in another
file that has the right name.

Signed-off-by: Martí Bolívar <marti.bolivar@oss.qualcomm.com>
2026-03-12 12:07:57 -04:00
Martí Bolívar
066164ac3a dts: bindings: cpu: factor out riscv-common.yaml
We have:

- sifive-common.yaml that wants to be a generic include
  file for CPUs by that vendor

- riscv.yaml that is *both* a generic include file for CPUs of that
  architecture *and* a specific binding with compatible "riscv"

This is a problem for multiple reasons:

1. It means that both sifive-common.yaml and riscv.yaml are different
   YAML files with the same "compatible", i.e. "riscv".

   This should be a hard error. The only reason this isn't causing build
   errors seems to be because of an edtlib optimization (see the
   "dt_compats_search" in edtlib.py for details)

2. It means that sifive-common.yaml is a valid binding whose file
   name doesn't match its compatible, which is a violation of the
   rules for upstream bindings.

Fix both of these problems by factoring out the common properties into
a new "riscv-common.yaml" that doesn't have any "compatible: " set.
That lets sifive-common.yaml just include riscv-common.yaml, allowing
it to be "just" an include file, without breaking any of the common
property definitions expected by CPU bindings for that vendor.

Note that there does appear to be one file
in-tree (dts/riscv/raspberrypi/hazard3.dtsi) that actually uses
"riscv" as a bare compatible. I'm going to take that as a hint that
out-of-tree users are probably doing the same, making it important to
continue to allow riscv.yaml to be a "real" binding and not "just" an
include file.

Signed-off-by: Martí Bolívar <marti.bolivar@oss.qualcomm.com>
2026-03-12 12:07:57 -04:00
Martí Bolívar
baafa51041 drivers: display: clean up ILI9806E DT compatible
The main problem I want to fix here is that the DT binding's file name
doesn't match its compatible, which is a violation of our upstream
bindings rules.

The "dsi" suffix here is not a good practice, DT-wise. The compatible
string represents the programming model for the device in vnd,device
format. We don't put the "-spi" at the end of compatibles for SPI
devices, and we don't put "-pcie" on the compatibles for PCIe devices.
The bus has no place in the DT compatible. So in this case, the
file name seems fine, but the compatible itself is off.

(The other option would have been to change the suffix to "mipi-dsi"
(or "mipi_dsi") as necessary to match the relevant "on-bus:" value in
the binding -- but let's simplify and better align with DT best
practices here.)

Signed-off-by: Martí Bolívar <marti.bolivar@oss.qualcomm.com>
2026-03-12 12:07:57 -04:00
Martí Bolívar
b4e8af1028 dts: bindings: delete stray compatibles
A YAML file with a "compatible:" set is able to be interpreted by the
bindings system as a "real" binding and should have enough information
to feed a driver. YAML files without "compatible:" are meant to be
used with the "include:" feature.

Delete some stray "compatible:" lines that are in YAML files seemingly
meant only to be used as include files.

Signed-off-by: Martí Bolívar <marti.bolivar@oss.qualcomm.com>
2026-03-12 12:07:57 -04:00