pinwheel: enable IPU6 MIPI webcam (ov08x40)
Adds hardware.ipu6 for the built-in MIPI camera, plus two overlay fixes needed for it to actually work on this hardware: - Pin icamerasrc-ipu6epmtl to the same release tag already used by ipu6-camera-bins/ipu6-camera-hal (20250923_ov02e). The version nixpkgs currently pulls is an Intel internal IoT/Panther-Lake validation build whose device table only lists external USB AR0234 test sensors, never the real ov08x40, so the camera never gets selected. - Patch ipu6-camera-hal's hardcoded IVSC/CVS entity name from "Intel IVSC CSI" (the out-of-tree ivsc driver's name) to "Intel CVS" (the mainlined intel_cvs driver's name). The mismatch broke I2C bus address resolution for the sensor, which cascaded into wrong stream configs and black/missing video.
This commit is contained in:
1 file changed
+34
@@ -0,0 +1,34 @@
|
||||
{ ... }:
|
||||
{
|
||||
nixpkgs.overlays = [
|
||||
(final: prev: {
|
||||
ipu6epmtl-camera-hal = prev.ipu6epmtl-camera-hal.overrideAttrs (old: {
|
||||
postPatch = (old.postPatch or "") + ''
|
||||
substituteInPlace src/v4l2/MediaControl.cpp \
|
||||
--replace-fail 'static const string ivscName = "Intel IVSC CSI";' \
|
||||
'static const string ivscName = "Intel CVS";'
|
||||
'';
|
||||
});
|
||||
|
||||
gst_all_1 = prev.gst_all_1 // {
|
||||
icamerasrc-ipu6epmtl = (prev.gst_all_1.icamerasrc-ipu6epmtl.override {
|
||||
ipu6-camera-hal = final.ipu6epmtl-camera-hal;
|
||||
}).overrideAttrs
|
||||
(old: {
|
||||
version = "20250923_ov02e";
|
||||
src = final.fetchFromGitHub {
|
||||
owner = "intel";
|
||||
repo = "icamerasrc";
|
||||
tag = "20250923_ov02e";
|
||||
hash = "sha256-mKRK0Z3dnyvzvoL6BotpVFRtkb53GQw9wUOrHIUoEsA=";
|
||||
};
|
||||
});
|
||||
};
|
||||
})
|
||||
];
|
||||
|
||||
hardware.ipu6 = {
|
||||
enable = true;
|
||||
platform = "ipu6epmtl";
|
||||
};
|
||||
}
|
||||
Reference in new issue
Block a user