From patchwork Tue Oct 21 08:06:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= X-Patchwork-Id: 24708 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 27A97C3259 for ; Tue, 21 Oct 2025 08:06:57 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id D9BBA60769; Tue, 21 Oct 2025 10:06:56 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="PcHKjAbz"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id C6AB860757 for ; Tue, 21 Oct 2025 10:06:54 +0200 (CEST) Received: from pb-laptop.local (185.221.141.231.nat.pool.zt.hu [185.221.141.231]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 787E51387; Tue, 21 Oct 2025 10:05:11 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1761033911; bh=fnJIQywSh1uz7dx31rDPvbe306BL5cGXYnbF+W5DOYw=; h=From:To:Cc:Subject:Date:From; b=PcHKjAbzlDU5VWhJlgeD0RDJXwZ35qZb+BRfT/zGnwBLVGWiKoHdzjte1WHuxYkf7 /hnnZQc7bN8eTIWLGE+qFdIQmTOOI8CbP0YwozI+Df3hgjoEctwXAjm/oDSWiE8u/B sM9Ephe9dDhWwNSs9uPt/NZPTWcjyFdT58KOlH9c= From: =?utf-8?q?Barnab=C3=A1s_P=C5=91cze?= To: libcamera-devel@lists.libcamera.org Cc: Daniel Scally Subject: [RFC PATCH v1 1/2] libipa: camera_sensor_helper: Add imx708 Date: Tue, 21 Oct 2025 10:06:50 +0200 Message-ID: <20251021080651.401753-1-barnabas.pocze@ideasonboard.com> X-Mailer: git-send-email 2.51.1.dirty MIME-Version: 1.0 X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" From: Daniel Scally The imx708 sensor driver has long been available, especially in raspberry pi kernels; and the raspberry pi ipa modules had the corresponding helper classes since 952ef94ed78d71 in 2023. The camera sensor properties database also has an entry for it, but the camera sensor helper classes are missing from the common libipa component. So add camera sensor helper classes for all four variants of the sensor (wide, noir). The gain calculation matches that in the raspberry pi ipa. Signed-off-by: Daniel Scally [Add variants, rewrite commit message.] Signed-off-by: Barnabás Pőcze --- src/ipa/libipa/camera_sensor_helper.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/ipa/libipa/camera_sensor_helper.cpp b/src/ipa/libipa/camera_sensor_helper.cpp index ef3bd0d62..829743a6d 100644 --- a/src/ipa/libipa/camera_sensor_helper.cpp +++ b/src/ipa/libipa/camera_sensor_helper.cpp @@ -642,6 +642,31 @@ public: }; REGISTER_CAMERA_SENSOR_HELPER("imx477", CameraSensorHelperImx477) +class CameraSensorHelperImx708 : public CameraSensorHelper +{ +public: + CameraSensorHelperImx708() + { + gain_ = AnalogueGainLinear{ 0, 1024, -1, 1024 }; + } +}; +REGISTER_CAMERA_SENSOR_HELPER("imx708", CameraSensorHelperImx708) + +class CameraSensorHelperImx708Wide : public CameraSensorHelperImx708 +{ +}; +REGISTER_CAMERA_SENSOR_HELPER("imx708_wide", CameraSensorHelperImx708Wide) + +class CameraSensorHelperImx708NoIR : public CameraSensorHelperImx708 +{ +}; +REGISTER_CAMERA_SENSOR_HELPER("imx708_noir", CameraSensorHelperImx708NoIR) + +class CameraSensorHelperImx708WideNoIR : public CameraSensorHelperImx708 +{ +}; +REGISTER_CAMERA_SENSOR_HELPER("imx708_wide_noir", CameraSensorHelperImx708WideNoIR) + class CameraSensorHelperOv2685 : public CameraSensorHelper { public: