20260211/q1.1.1a - initial d4xx-max96724 implementation for Intel IPU6 and IPU7#5
Draft
Pirouf wants to merge 79 commits intointel:mainfrom
Draft
20260211/q1.1.1a - initial d4xx-max96724 implementation for Intel IPU6 and IPU7#5Pirouf wants to merge 79 commits intointel:mainfrom
Pirouf wants to merge 79 commits intointel:mainfrom
Conversation
Pirouf
commented
Mar 5, 2026
- d4xx-max96724 : intial implementation for intel IPU6 and IPU7
- v4l2-core : Intel IPU6 /IPU7 CSI2 v4l2 stream & route API usage model
* ipu-acpi: Copy ipu-acpi over from ipu6-drivers Baseline commit c8029a6769b4a1c0f6e051cc226c48ac08e41949 Signed-off-by: hepengpx <pengpengx.he@intel.com> Signed-off-by: Khai Wen Ng <khai.wen.ng@intel.com>
* media, i2c: build dkms modules * media: i2c: Copy over max9x from ipu6-drivers Baseline on c8029a6769b4a1c0f6e051cc226c48ac08e41949 Signed-off-by: Khai Wen Ng <khai.wen.ng@intel.com> Signed-off-by: florent pirou <florent.pirou@intel.com>
Signed-off-by: Khai Wen, Ng <khai.wen.ng@intel.com>
Signed-off-by: Khai Wen, Ng <khai.wen.ng@intel.com>
Signed-off-by: Khai Wen, Ng <khai.wen.ng@intel.com>
This change is to extract correct kernel version from BKC naming. Signed-off-by: Khai Wen, Ng <khai.wen.ng@intel.com>
DRIVER_VERSION_SUFFIX dkms version suffix will be passed to kernel module version. Signed-off-by: Khai Wen, Ng <khai.wen.ng@intel.com>
Baseline on c8029a6769b4a1c0f6e051cc226c48ac08e41949 Signed-off-by: Khai Wen Ng <khai.wen.ng@intel.com>
Signed-off-by: Khai Wen, Ng <khai.wen.ng@intel.com>
Signed-off-by: Khai Wen, Ng <khai.wen.ng@intel.com>
Signed-off-by: Khai Wen, Ng <khai.wen.ng@intel.com>
Signed-off-by: Khai Wen, Ng <khai.wen.ng@intel.com>
Signed-off-by: Khai Wen, Ng <khai.wen.ng@intel.com>
IPU6 on K6.12, IPU7 on K6.17 Signed-off-by: Khai Wen, Ng <khai.wen.ng@intel.com>
…pi v6.12, v6.17 and v6.18 support Debian dkms build all dependencies from `ipu6-drivers` and `ipu7-drivers` github repositories based of baseline PTL release for iot on 2025-12-30. The upstream linux v6.12, v6.17 and v6.18 `v4l2-core` layers exact copies are maintained here to allow `v4l2_subdev_enable_streams_api=true` support (`=false` by default in kernel.org and Canonical Ubuntu) * dkms: use ipu6-drivers and ipu7-drivers git-submodule to build ISYS and PSYS depends * dkms : allow both with intel-lts and canonical linux headers * v4l2-core : add v6.17 v4l2_subdev_enable_streams_api support * v4l2-core : add v6.12 v4l2_subdev_enable_streams_api support * ipu6-isys : add intel-lts out-of-tree patches * v4l2-core : workaround ar0234 v4l2-cci deps missing on linux-lts 6.12 images Signed-off-by: florent pirou <florent.pirou@intel.com>
* ipu6-isys, ipu7-isys: add d4xx video VIDIOC_S_EXT_CTRLS by streamid, add d4xx frame fmt
* dkms: avoid dh_source issues
* isys-video: ignore default raw colorspace that can not be overritten by v4l2src gst plugin
```
gst-launch-1.0 -e -v v4l2src device=/dev/video-rs-color-0 ! 'video/x-raw, width=640, height=480, format=YUY2, pixel-aspect-ratio=1/1' ! videoconvert ! fakesink
```
* ipu6-isys, ipu7-isys: fix librealsense2 v4l2 backend pipeline config `rs2_pipeline_start_with_config` call returns an error in rs-depth Z16 pixel-format
```
There are 1 connected RealSense devices.
Using device 0, an Intel RealSense D457
Serial number: 242422303456
Firmware version: 5.13.1.53
The connected device doesn't support depth streaming!
```
Signed-off-by: florent pirou <florent.pirou@intel.com>
* maintain intel-ipu6-dkms (20250703+iotgipu6-0eci1) backward compat Signed-off-by: florent pirou <florent.pirou@intel.com>
RealSense PRQ d4xx version is 1.0.1.20. - support for sensor vc. - support for sensor state. - sensor own v4l2 controls. - max9295/6 serdes drivers and control for multiple pipe. - aggregation support Signed-off-by: Dmitry Perchanov <dmitry.perchanov@intel.com> Signed-off-by: florent pirou <florent.pirou@intel.com>
* d4xx: kernel6 intel#3 dmipx/ipu6-drivers@15ddce4 * d4xx: kernel6 intel#2 dmipx/ipu6-drivers@e113eca * d4xx: kernel6 dmipx/ipu6-drivers@7726252 Signed-off-by: Dmitry Perchanov <dmitry.perchanov@intel.com>
* Kernel 6.6.15 release for Ubuntu (#216) Signed-off-by: zouxiaoh <xiaohong.zou@intel.com> Signed-off-by: florent pirou <florent.pirou@intel.com>
Signed-off-by: florent pirou <florent.pirou@intel.com>
ref-by: https://patches.linaro.org/project/linux-media/patch/20231213140450.21359-3-laurent.pinchart@ideasonboard.com/ The subdev .[gs]_frame_interval are video operations, but they operate on pads (and even on streams). Not only is this confusing, it causes practical issues for drivers as the operations don't receive a subdev state pointer, requiring manual state handling. To improve the situation, turn the operations into pad operations, and extend them to receive a state pointer like other pad operations. While at it, rename the operations to .[gs]et_frame_interval at the same time to match the naming scheme of other pad operations. This isn't strictly necessary, but given that all drivers using those operations need to be modified, handling the rename separately would generate more churn for very little gain (if at all). Signed-off-by: florent pirou <florent.pirou@intel.com>
Signed-off-by: florent pirou <florent.pirou@intel.com>
* enable `v4l2-ctl --set-ctrl v4l2_cid_link_freq=` runtime override * add D4XX_LINK_FREQ_750MHZ to MTL CSI D-PHY * add MTL CSI2 D-PHY debug messages Signed-off-by: Florent Pirou <florent.pirou@intel.com>
Signed-off-by: Florent Pirou <florent.pirou@intel.com>
* d4xx : kernel NULL pointer dereference [ 1950.081452] #PF: supervisor write access in kernel mode [ 1950.086655] #PF: error_code(0x0002) - not-present page [ 1950.216966] Call Trace: [ 1950.219401] <TASK> [ 1950.221504] ? show_regs+0x6d/0x80 [ 1950.224902] ? __die+0x24/0x80 [ 1950.227952] ? page_fault_oops+0x99/0x1b0 [ 1950.231948] ? do_user_addr_fault+0x31d/0x6b0 [ 1950.236283] ? exc_page_fault+0x83/0x1b0 [ 1950.240190] ? asm_exc_page_fault+0x27/0x30 [ 1950.244358] ? mutex_lock+0x1d/0x50 [ 1950.247827] ? mutex_lock+0x12/0x50 [ 1950.251301] max9296_reset_control+0x26/0xf0 [max9296] [ 1950.256425] ds5_remove+0xba/0x2e0 [d4xx] [ 1950.260423] i2c_device_remove+0x25/0xc0 [ 1950.264338] device_remove+0x40/0x80 [ 1950.267899] device_release_driver_internal+0x20b/0x270 [ 1950.273096] driver_detach+0x4a/0xa0 [ 1950.276655] bus_remove_driver+0x83/0x110 [ 1950.280641] driver_unregister+0x2f/0x60 [ 1950.284542] i2c_del_driver+0x46/0x90 [ 1950.288191] ds5_i2c_driver_exit+0x10/0x18 [d4xx] Signed-off-by: Florent Pirou <florent.pirou@intel.com>
Signed-off-by: Florent Pirou <florent.pirou@intel.com>
Signed-off-by: Florent Pirou <florent.pirou@intel.com>
Signed-off-by: florent pirou <florent.pirou@intel.com>
…s (#285) * Added err and dmesg in ds5_get_hwmc if response length is 0 * Added comments and replaced hard coded HWMC addresses
* Add D41x support * Fix D41x resolutions
* Relax Start stream TO * Use only ds5_[raw]_<read/write> wrapper and not regmap_raw_<read/write> directly
Signed-off-by: florent pirou <florent.pirou@intel.com>
* assume d457 fw 5.16.0 or higher by default * fix d4xx binding and v4l2 streamid mapping * fix rs-depth Z16 pixel-format error * add d4xx to udev rules * d4xx bind media controller reset * force d4xx isys vidcap in video group * add d4xx module param max96724 csi mapping * derive stream sink and source from isys pad index * workaround csi subdev sink stream d4xx format mismatch * fix d4xx C and D set_fmt * manage inactive routes during binding * helper: ignore pad fmt init on d4x inactive routes * helper: activate all sensor routes for d4xx single camera binding * helpers: detect d4xx vidcap with inactive routes * helpers: fix d4xx media-ctl link binding syntaxe * helpers: workaround the GMSL D eight active route per-csi2 limit * helpers: bind all d4xx sensors if singular camera Signed-off-by: florent pirou <florent.pirou@intel.com>
Signed-off-by: florent pirou <florent.pirou@intel.com>
37da0d9 to
f41d409
Compare
Signed-off-by: florent pirou <florent.pirou@intel.com>
Signed-off-by: florent pirou <florent.pirou@intel.com>
… walk * ipu7-isys: fetch csi-phy frame desc walking through all active routes * ipu7-isys: clear csi phy frame desc * ipu7-isys, ipu6-isys: fix Y8I css pixelformat * ipu7-isys: workaround csi2 unsupported YUYV8_1X16 css pixelformat Signed-off-by: florent pirou <florent.pirou@intel.com>
Signed-off-by: florent pirou <florent.pirou@intel.com>
… aggregation * d4xx-max96724: control pipe set and reset per deser link source * d4xx-max96724: enable csi output right after set pipes * d4xx-max96724: disable max96712 legacy-mode compile option * d4xx-max96724: reduce i2c channel-control scope, add src-link pipe aggregation Signed-off-by: florent pirou <florent.pirou@intel.com>
Signed-off-by: florent pirou <florent.pirou@intel.com>
Signed-off-by: florent pirou <florent.pirou@intel.com>
* debian: initial dpkg rules, control and debconf * submodule: Pin IPU6 drivers depends to 71e2e426f3e16f8bc42bf2f88a21fa95eeca5923 * submodule: Pin IPU7 drivers depends to 57304c286317ece4c0a74a52c4733486c57444ce * dkms: remove one-size-don't-fit-all dkms conf * README: rewrite the cumbersome getting started * patches: WA `media-ctl` 1-digit stream-id limitation on `v4l-utils` v1.32 latest stable Signed-off-by: florent pirou <florent.pirou@intel.com>
f41d409 to
58fbc0a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.