Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
ec98cd2
v4l2-core, ipu7-isys, ipu6-isys: add dkms apply d4xx patch quilt
Pirouf Apr 28, 2026
3651432
ipu7-isys: display cphy/dphy 5/4-bits vc-extension
Pirouf May 7, 2026
b99d65e
makefile : ignore lt6911* make from dpkg build
Pirouf Feb 12, 2026
938ad4e
Makefile: compile ipu7 fw logger support
Pirouf Apr 22, 2026
96bfa5a
makefile: add compile EXT_CTRLS
Pirouf May 5, 2026
910bffc
max9x : add csi link phy lanesmap debug messages
Pirouf Feb 18, 2026
59d20df
ipu-acpi : add d4xx pdata aggregrated-link detection
Pirouf Jun 25, 2025
3104b5b
ipu-acpi: fallback for camera pdata without rotation param
Pirouf Mar 26, 2026
d4d4c6d
ipu-acpi: fix d4xx PDATA missing headers and typos
Pirouf May 5, 2026
369da4e
d4xx-compat: initial d457 gmsl2 1.0.1.21 driver port
Pirouf Aug 26, 2025
9850679
d4xx-compat: Update d4xx.c driver to match RealSense latest development
Pirouf May 13, 2024
f81681c
d4xx-compat: add kernel 6.5 support
Mar 21, 2024
5da15c7
d4xx-compat: align to linux 6.6 v4l2 apis
zouxiaoh Mar 21, 2024
d114309
d4xx-compat: force uapi isys headers include
Pirouf Jan 16, 2024
f96815e
d4xx-compat: turn .[gs]_frame_interval into pad operations
Pirouf May 16, 2024
985d654
d4xx-compat: debug isys-video kernel oops on per-vc callbacks
Pirouf May 30, 2024
9e0bfa6
d4xx-compat: add V4L2_CID_LINK_FREQ support MTL DPHY
Pirouf Jun 12, 2024
59e6faa
d4xx-compat: ignore DS5_CAMERA_CID_HWMC_RW empty data ioctl
Pirouf Jun 14, 2024
56212db
d4xx-compat: fix aggredated mode max9296 device removal
Pirouf Jun 18, 2024
3410712
d4xx-compat: add csi2 4 and 5 ports mapping, shift aggregated suffixes
Pirouf Jun 19, 2024
eef9a6d
d4xx-compat: fix query sensor info failed on port e
Pirouf Jun 26, 2024
88a58c0
d4xx-compat: apply v4l2-ctl csi2 link_freq override to mux only
Pirouf Jul 15, 2024
14265f6
d4xx-compat: avoid G_FMT error on missing Y210
Pirouf Sep 30, 2024
bc7e8c3
d4xx-compat: Enable hacks in max929x
Oct 11, 2024
3587f90
d4xx-compat: crankup V4L2_CID_LINK_FREQ setpoints up 2500Mbps
Pirouf Dec 12, 2024
9e5b5a3
d4xx-compat: serdes setup fallback on invalid serializer source
Pirouf Apr 17, 2025
8308aec
d4xx-compat: add acpi pdata aggregated-link detection
Pirouf May 23, 2025
b2917e0
d4xx-max929x: add kernel 6.5 support
Mar 21, 2024
ecc6b22
d4xx-max9295: Isolate D4XX changes
Oct 11, 2024
c05bc5c
d4xx-max9296: Isolate D4XX changes
Oct 11, 2024
8928be1
d4xx-max9295: Expose MFP IO
Oct 11, 2024
504641b
d4xx-max9295: Force port_sel
Oct 11, 2024
bbe50c1
d4xx-max9296: setup control fallback for serializer invalid source
Pirouf Feb 11, 2025
f532bea
d4xx-compat: add realsense2 driver specific namespace
Pirouf Aug 29, 2025
f475fb9
d4xx-compat: add v4l set_routing support, disable set query substream…
Pirouf Sep 12, 2025
2be198e
d4xx-max9295: add gmsl2 link status register checker
Pirouf Dec 23, 2025
10e1038
d4xx-compat : initial max9672x support
Pirouf Oct 3, 2025
3e9d38b
d4xx-compat: fix dfu sysfs truncated devname issue
Pirouf Jan 9, 2026
fb7ab49
d4xx-compat: fix default v4l2 vc_id to stream_id mapping
Pirouf Jan 30, 2026
04d03f0
d4xx-compat: fix dfu char device sysfs naming
Pirouf Feb 2, 2026
13c9393
d4xx-compat: simplified max9672x implementation
Pirouf Feb 5, 2026
7c6cd7d
d4xx-compat: hwmc return success on ioctl
Mar 20, 2024
7d8657f
d4xx-compat: return hwmc error code to lrs sdk.
Apr 1, 2024
34f0f38
d4xx-compat: add recovery string to dfu device
May 20, 2024
7e858f5
d4xx-compat: improve commentary
May 27, 2024
dbb356a
d4xx-compat: updated AE_SETPOINT_GET control's range
Arun-Prasad-V Jul 2, 2024
f38abb9
d4xx-compat: Locking on open dfu device
Aug 13, 2024
cbd0774
d4xx-compat: Locking on mux open and close
Arun-Prasad-V Oct 30, 2024
6a1b6e5
d4xx-compat: support for dynamic change of i2c bus_clk_rate
Arun-Prasad-V Nov 4, 2024
d27916f
d4xx-compat: cherry-pick realsense_mipi commit 38fc023
remibettan Feb 20, 2025
9da9fa4
d4xx-compat: Add error for hwmc response len 0 + replace hard-coded a…
ejgoldik Jul 16, 2025
2d65f57
d4xx-compat: add D41x support (#266)
ejgoldik Aug 27, 2025
1d27667
d4xx-compat: relax start stream TO (#295)
ejgoldik Sep 4, 2025
9e09edb
d4xx-compat: update version to 1.0.1.31 (#303)
ymodlin Oct 16, 2025
0f2da3c
d4xx-compat: Enabling Y12I mode for IR calibration stream (#313)
Kontra2B Dec 4, 2025
60620a1
d4xx-compat: use common serdes ipu acpi headers
Pirouf May 5, 2026
dcd5276
d4xx-max96724: drop max96712 legacy-mode, set and reset src-link pipe…
Pirouf Mar 7, 2026
07d956d
d4xx-max96724 : WA multicam pipe and aggregator affinity issues
Pirouf May 5, 2026
bf96ab4
d4xx-max9295: initial virtual-channel extension implementation
Pirouf Mar 18, 2026
550d8f5
d4xx-max96724: enable cphy/dphy 5/4-bits vc-extension
Pirouf May 7, 2026
44e45c3
d4xx-max96724: modify d4xx sensors vc default assignment
Pirouf May 27, 2026
5c62dab
helpers: add v4l2 media controller ipu helper scripts
Pirouf Feb 12, 2026
a104e9f
helpers: bind d4xx either from ipu6 or ipu7, extend ipu6 upto csi port 5
Pirouf Feb 13, 2026
e4d7cae
helper: make max9x v4l2 stream and route binding generic
Pirouf Feb 16, 2026
5adf076
helpers: add max9x v4l2 graph binding quiet mode
Pirouf Mar 17, 2026
acf505e
helpers: fix d4xx stream v4l2 routes on input-src D
Pirouf Mar 19, 2026
9bcab74
helpers: enable all d4xx routes streams when 2 camera only
Pirouf Mar 26, 2026
0323e85
helpers: set initial d4xx frame size, fix binding edge-case
Pirouf Apr 9, 2026
946274e
helpers: bind media detects ipu isys capture device limits
Pirouf Apr 21, 2026
02ca5a3
helpers: cleanup d4xx video device symlink before bind
Pirouf May 5, 2026
7da1104
DONOTMERGE: debian: initial dpkg rules, control and debconf
khaiwenng Jan 20, 2026
7ebd5f6
Update README.md
Pirouf Jun 22, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
*.deb
*.changes
*.buildinfo
debian/.debhelper/*
debian/debhelper-build-stamp
debian/*.substvars
debian/*.debhelper*
debian/files
debian/dkms.conf
debian/intel-mipi-gmsl-dkms.config
debian/intel-mipi-gmsl-dkms.install
debian/intel-mipi-gmsl-dkms.postinst
debian/intel-mipi-gmsl-dkms.templates
debian/intel-mipi-gmsl-dkms/
52 changes: 25 additions & 27 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

KERNELRELEASE ?= $(shell uname -r)
KERNEL_SRC ?= /lib/modules/$(KERNELRELEASE)/build
KERNEL_VERSION := $(shell echo $(KERNELRELEASE) | cut -d- -f1 | sed -r 's/([0-9]+\.[0-9]+).*/\1.0/g')
KERNEL_REV := $(shell echo $(KERNELRELEASE) | cut -d- -f1 | sed -r 's/([0-9]+\.[0-9]+).*/\1.0/g')
BUILD_EXCLUSIVE_KERNEL="^(6\.(1[278])\.)"

MODSRC := $(shell pwd)
Expand All @@ -27,39 +27,52 @@ export CONFIG_VIDEO_AR0830=m
export CONFIG_VIDEO_AR0234=m
export CONFIG_VIDEO_ISX031=m
export CONFIG_VIDEO_MAX9X=m
export CONFIG_VIDEO_LT6911UXE=m
export CONFIG_VIDEO_LT6911UXC=m
export CONFIG_VIDEO_LT6911GXD=m
export CONFIG_VIDEO_INTEL_IPU6=m
export CONFIG_VIDEO_INTEL_IPU6_ISYS_RESET=y
export CONFIG_INTEL_IPU_ACPI=m
export CONFIG_INTEL_IPU_VC_EXT=y
export CONFIG_VIDEO_D4XX_MAX9295_VC_EXT = n
export CONFIG_VIDEO_D4XX_MAX967XX_DT_VC_EXT = y
export CONFIG_VIDEO_D4XX_MAX9295 = m
export CONFIG_VIDEO_D4XX_MAX9296 = m
export CONFIG_VIDEO_D4XX_COMPAT=m
export CONFIG_VIDEO_D4XX_MAX96724 = m

# Define config macros for conditional compilation in ipu-acpi.c
# IS_ENABLED() checks for CONFIG_XXX or CONFIG_XXX_MODULE
subdir-ccflags-$(CONFIG_VIDEO_MAX9X) += -DCONFIG_VIDEO_MAX9X
subdir-ccflags-$(CONFIG_VIDEO_ISX031) += -DCONFIG_VIDEO_ISX031
subdir-ccflags-$(CONFIG_VIDEO_AR0233) += -DCONFIG_VIDEO_AR0233
subdir-ccflags-$(CONFIG_VIDEO_D4XX_COMPAT) += -DCONFIG_VIDEO_D4XX
subdir-ccflags-$(CONFIG_VIDEO_D4XX_MAX9295_VC_EXT) += -DCONFIG_VIDEO_D4XX_MAX9295_VC_EXT
subdir-ccflags-$(CONFIG_VIDEO_D4XX_MAX967XX_DT_VC_EXT) += -DCONFIG_VIDEO_D4XX_MAX967XX_DT_VC_EXT -DCONFIG_VIDEO_D4XX_MAX96712_LEGACY
subdir-ccflags-$(CONFIG_VIDEO_AR0820) += -DCONFIG_VIDEO_AR0820
subdir-ccflags-$(CONFIG_VIDEO_AR0234) += -DCONFIG_VIDEO_AR0234 -DCONFIG_V4L2_CCI_I2C
subdir-ccflags-$(CONFIG_IPU_BRIDGE) += -DCONFIG_IPU_BRIDGE
subdir-ccflags-$(CONFIG_INTEL_IPU_ACPI) += -DCONFIG_INTEL_IPU_ACPI
subdir-ccflags-$(CONFIG_VIDEO_LT6911UXE) += -DCONFIG_VIDEO_LT6911UXE
subdir-ccflags-$(CONFIG_VIDEO_LT6911UXC) += -DCONFIG_VIDEO_LT6911UXC
subdir-ccflags-$(CONFIG_VIDEO_LT6911GXD) += -DCONFIG_VIDEO_LT6911GXD
subdir-ccflags-$(CONFIG_VIDEO_INTEL_IPU6) += -DCONFIG_VIDEO_INTEL_IPU6
subdir-ccflags-$(CONFIG_VIDEO_INTEL_IPU6_ISYS_RESET) += -DCONFIG_VIDEO_INTEL_IPU6_ISYS_RESET
# Override LINUXINCLUDE to put our include path first
LINUXINCLUDE := -I$(src)/include $(LINUXINCLUDE)

ccflags-y := -I$(src)/include
ifeq ($(KERNEL_EQ_6_17),1)

# IPU7 driver configs
export CONFIG_VIDEO_INTEL_IPU7=m
export CONFIG_VIDEO_INTEL_IPU6=m
export CONFIG_VIDEO_INTEL_IPU6_ISYS_RESET=y
export CONFIG_VIDEO_INTEL_IPU7_ISYS_RESET=y
export CONFIG_VIDEO_INTEL_IPU6_EXT_CTRLS=y
export CONFIG_VIDEO_INTEL_IPU7_EXT_CTRLS=y
export CONFIG_VIDEO_INTEL_IPU6_EXT_CTRLS=y

subdir-ccflags-y += -DCONFIG_VIDEO_INTEL_IPU7
subdir-ccflags-y += -DCONFIG_VIDEO_INTEL_IPU6
subdir-ccflags-y += -DCONFIG_VIDEO_INTEL_IPU7 -DENABLE_FW_OFFLINE_LOGGER -DCONFIG_DEBUG_FS
subdir-ccflags-y += -DCONFIG_VIDEO_INTEL_IPU6 -DCONFIG_DEBUG_FS
subdir-ccflags-$(CONFIG_VIDEO_INTEL_IPU6_ISYS_RESET) += -DCONFIG_VIDEO_INTEL_IPU6_ISYS_RESET
subdir-ccflags-$(CONFIG_VIDEO_INTEL_IPU7_ISYS_RESET) += -DCONFIG_VIDEO_INTEL_IPU7_ISYS_RESET
subdir-ccflags-$(CONFIG_VIDEO_INTEL_IPU6_EXT_CTRLS) += -DCONFIG_VIDEO_INTEL_IPU6_EXT_CTRLS
subdir-ccflags-$(CONFIG_VIDEO_INTEL_IPU7_EXT_CTRLS) += -DCONFIG_VIDEO_INTEL_IPU7_EXT_CTRLS
subdir-ccflags-$(CONFIG_INTEL_IPU_VC_EXT) += -DCONFIG_INTEL_IPU_VC_EXT

# Build IPU7 drivers from submodule
obj-m += ipu7-drivers/drivers/media/pci/intel/ipu7/
Expand All @@ -68,25 +81,10 @@ obj-m += ipu7-drivers/drivers/media/pci/intel/ipu7/
obj-m += ipu6-drivers/drivers/media/pci/intel/ipu6/

# Build V4L2 core module
obj-m += 6.17.0/drivers/media/v4l2-core/

# Build ipu-bridge module
obj-m += 6.17.0/drivers/media/pci/intel/

else ifeq ($(KERNEL_EQ_6_12),1)
# IPU6 driver configs
export CONFIG_VIDEO_INTEL_IPU6=m
export CONFIG_VIDEO_INTEL_IPU6_ISYS_RESET=y

subdir-ccflags-y += -DCONFIG_VIDEO_INTEL_IPU6

# Build IPU6 drivers from submodule
obj-m += ipu6-drivers/drivers/media/pci/intel/ipu6/
obj-m += $(KERNEL_REV)/drivers/media/v4l2-core/

# Build ipu-bridge module
obj-m += 6.12.0/drivers/media/pci/intel/

endif
obj-m += $(KERNEL_REV)/drivers/media/pci/intel/

obj-y += drivers/media/platform/intel/
obj-m += drivers/media/i2c/
Expand Down
Loading