{"id":24375,"url":"https://patchwork.libcamera.org/api/patches/24375/?format=json","web_url":"https://patchwork.libcamera.org/patch/24375/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20250917-vd55g1_support-v2-4-101b53b66add@foss.st.com>","date":"2025-09-17T13:42:14","name":"[v2,4/4] libcamera: libipa: Add vd55g1 support for libipa","commit_ref":"481c659c7ec63ce696e57b185545811efc1089bd","pull_url":null,"state":"accepted","archived":false,"hash":"8741f872a3c141f216b687e8965706f1cb7cf427","submitter":{"id":227,"url":"https://patchwork.libcamera.org/api/people/227/?format=json","name":"Benjamin Mugnier","email":"benjamin.mugnier@foss.st.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/24375/mbox/","series":[{"id":5447,"url":"https://patchwork.libcamera.org/api/series/5447/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=5447","date":"2025-09-17T13:42:10","name":"Add vd55g1 support for rpi and libipa","version":2,"mbox":"https://patchwork.libcamera.org/series/5447/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/24375/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/24375/checks/","tags":{},"headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 93A45C32C2\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 17 Sep 2025 13:42:09 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id B63286937B;\n\tWed, 17 Sep 2025 15:42:05 +0200 (CEST)","from mx07-00178001.pphosted.com (mx08-00178001.pphosted.com\n\t[91.207.212.93])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 9F61E69367\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 17 Sep 2025 15:42:02 +0200 (CEST)","from pps.filterd (m0046660.ppops.net [127.0.0.1])\n\tby mx07-00178001.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id\n\t58HDCIO6017580; Wed, 17 Sep 2025 15:42:01 +0200","from gvxpr05cu001.outbound.protection.outlook.com\n\t(mail-swedencentralazon11013018.outbound.protection.outlook.com\n\t[52.101.83.18])\n\tby mx07-00178001.pphosted.com (PPS) with ESMTPS id 497fxkv0b9-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256\n\tverify=NOT); Wed, 17 Sep 2025 15:42:01 +0200 (MEST)","from DB8PR06CA0042.eurprd06.prod.outlook.com (2603:10a6:10:120::16)\n\tby AS8PR10MB6628.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:562::5)\n\twith Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9137.13;\n\tWed, 17 Sep 2025 13:41:58 +0000","from DU2PEPF00028CFC.eurprd03.prod.outlook.com\n\t(2603:10a6:10:120:cafe::31) by DB8PR06CA0042.outlook.office365.com\n\t(2603:10a6:10:120::16) with Microsoft SMTP Server (version=TLS1_3,\n\tcipher=TLS_AES_256_GCM_SHA384) id 15.20.9137.13 via Frontend\n\tTransport; Wed, 17 Sep 2025 13:41:58 +0000","from smtpO365.st.com (164.130.1.44) by\n\tDU2PEPF00028CFC.mail.protection.outlook.com (10.167.242.180) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n\t15.20.9137.12 via Frontend Transport; Wed, 17 Sep 2025 13:41:57 +0000","from SHFDAG1NODE1.st.com (10.75.129.69) by smtpO365.st.com\n\t(10.250.44.67) with Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.57;\n\tWed, 17 Sep 2025 15:34:53 +0200","from localhost (10.130.78.106) by SHFDAG1NODE1.st.com\n\t(10.75.129.69) with Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.57;\n\tWed, 17 Sep 2025 15:41:57 +0200"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=foss.st.com header.i=@foss.st.com\n\theader.b=\"Yqnn2n6l\"; dkim-atps=neutral","ARC-Seal":"i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n\tb=jyeFwYKHCorj+Yq8w53T9QaWlAXXPt0lUlQ7yXZNNa56V5aCMUz7XGJBRFMxr8MAYL+xQXbc7PIZ2kW0s7pY1I765XfMKF8zjOy6OOI2AiFz1ohusYxNOsMdKX+pDbu40ArWd+TfRFuIFE6elHrq127u6mR9UZw7omiConUpZbu9VCXr/LzNaR5SGh6QaORyjDc9XJg6A/gzOhNvjV3SzwhNNZZL5IouKinxUjBKpW2mbOcpL3FjiickxjDvQ+H7LJnDQxIUdjlFLP13wKSnNYlugbpOgyAal7ab3EPbIQpGJDop3DQ+VCwTLyuPTjzgvffOJf1I+YiYVaVDa1NLjQ==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n\ts=arcselector10001;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n\tbh=43hs/KxCMLdrKMcFaOp8ZnRLwXAR7uVosClEiGDoJ5E=;\n\tb=MDt7ZrANQAHGiF2/wJnQC6vmhe1Q5lgy9ooYT+yxXE2hBuTrkvS1LNBaWUgD2fTgxgVFbIltDmICp0VwNrSK5K4uz1JICJZRn/blBmbYp1htuB/BNuh3FWKWGXJaApRFlceyEghR3mWSmdo0qBNAKbbT0qteNU1n4g4ukIAmLMtod1HpOUOV+CBO+qTgkVBg6CbfX9FPVCVnz9X/9B/OZtwfnMt9A87WCw3lUAthU1OyMERWw2F2GQYIgPLnZQ8EWgjW3Ut4OHwm+x9ql1vFB8unKcc62TZxt0QgKzKuruBVicbu5vUNurnESJ0h0b1YZ5o9FQ2gSkUDnYvuRpudaA==","ARC-Authentication-Results":"i=1; mx.microsoft.com 1; spf=fail (sender ip is\n\t164.130.1.44) smtp.rcpttodomain=ideasonboard.com\n\tsmtp.mailfrom=foss.st.com; \n\tdmarc=fail (p=none sp=none pct=100) action=none\n\theader.from=foss.st.com; \n\tdkim=none (message not signed); arc=none (0)","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com;\n\ts=selector2;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=43hs/KxCMLdrKMcFaOp8ZnRLwXAR7uVosClEiGDoJ5E=;\n\tb=Yqnn2n6laHGyS0CqOV1rGEi9t0xJ5oANltT6qXEGILMF4lMxcrQLvzT8alOmb67roo6Fbw48kZ2h0DtFKmZDQTVsE7VpnqkF7xSZxdQP7vDRhpw4wkBGpl8c41hN+qmDil4uNI91dtNs4A+w0MJSlMEeO/Qc0D8GVA5Ye5xBnKDkbvDt0vbMkjYmH3KIOg8hXWJmSL99J5t4zRukoxVUCvGGjBCH0rWqeuIKJyljxNUBKjSMzb56IquMtaAvavCgTkT41uTjTl4uTjEYU0/esUOH665O4SCHuKicdXwtprGWclHYRb2+UVxubulUwRq/ffkL/LhkVjlNTBuoNEuu8w==","X-MS-Exchange-Authentication-Results":"spf=fail (sender IP is 164.130.1.44)\n\tsmtp.mailfrom=foss.st.com; dkim=none (message not signed)\n\theader.d=none;dmarc=fail action=none header.from=foss.st.com;","Received-SPF":"Fail (protection.outlook.com: domain of foss.st.com does not\n\tdesignate 164.130.1.44 as permitted sender)\n\treceiver=protection.outlook.com; \n\tclient-ip=164.130.1.44; helo=smtpO365.st.com;","From":"Benjamin Mugnier <benjamin.mugnier@foss.st.com>","Date":"Wed, 17 Sep 2025 15:42:14 +0200","Subject":"[PATCH v2 4/4] libcamera: libipa: Add vd55g1 support for libipa","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"7bit","Message-ID":"<20250917-vd55g1_support-v2-4-101b53b66add@foss.st.com>","References":"<20250917-vd55g1_support-v2-0-101b53b66add@foss.st.com>","In-Reply-To":"<20250917-vd55g1_support-v2-0-101b53b66add@foss.st.com>","To":"<libcamera-devel@lists.libcamera.org>, Naushir Patuck\n\t<naush@raspberrypi.com>, Kieran Bingham <kieran.bingham@ideasonboard.com>","CC":"Sylvain Petinot <sylvain.petinot@foss.st.com>, Benjamin Mugnier\n\t<benjamin.mugnier@foss.st.com>","X-Mailer":"b4 0.14.2","X-Originating-IP":"[10.130.78.106]","X-ClientProxiedBy":"SHFCAS1NODE1.st.com (10.75.129.72) To SHFDAG1NODE1.st.com\n\t(10.75.129.69)","X-EOPAttributedMessage":"0","X-MS-PublicTrafficType":"Email","X-MS-TrafficTypeDiagnostic":"DU2PEPF00028CFC:EE_|AS8PR10MB6628:EE_","X-MS-Office365-Filtering-Correlation-Id":"3271b1a3-e3ed-4264-0d91-08ddf5eff8e8","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"BCL:0;\n\tARA:13230040|1800799024|376014|82310400026|36860700013|7053199007; ","X-Microsoft-Antispam-Message-Info":"=?utf-8?q?uPY//MEv01HIPtE2R74XbdhVbFWi?=\n\t=?utf-8?q?Mrf8gt2S5ydO0N194JclOWV/LDWAN0qwcB692AOh/XVn6/FvaJuVeEod?=\n\t=?utf-8?q?cSTQ/tbMNy3VPHxr7msTFUcBgkfgSIP6chrn9OCpo1uR5neZaIBGscE6?=\n\t=?utf-8?q?gbxSj0T4i0z1Y1xhGRMlMaXjckMuRj0dUSQDIKEq4qto5ln6O/a5yPqP?=\n\t=?utf-8?q?td8weUinB5HUQ0jzE4xGaDN7goekKpbn4DOMTuMeovwxQnEio8Q1ZpEy?=\n\t=?utf-8?q?VtMHcC6/uR0j+eS0OcAMK9Ko04iYMQuKLBEB0zDcr+01BVE1jt59P01J?=\n\t=?utf-8?q?2XiyXv7MAt/f7uKl9ddxqjF+/F7St6BGzpng8q2M1OnSxoG/oDhX6u55?=\n\t=?utf-8?q?CX7kXbq9/FGhKtsX7Jkg0Q2Y55CSTxRlfVYDej/qc9a+PBcynvY1aQ1u?=\n\t=?utf-8?q?Jtpt486Dde1/F3H/0+jj/MnjpcWcq33pzXEUW9r3S6h4dSQS/k+RBSVu?=\n\t=?utf-8?q?Xbu61pAND6jUV67w0Xv5/M/9t6pKFLx2qSBf9YZW/vwpsOthNR86Cfua?=\n\t=?utf-8?q?09OH6vs4NnTfIe+pbz0Yya4fYJoG4xbTbkdCiCuNE34/CzpsWHwJJpz6?=\n\t=?utf-8?q?ZC+XQM9/t1MdLqAO0g5K4yF7rwHE5JiCkaDolMCI7MuW6wKHCA/igh1m?=\n\t=?utf-8?q?T7gx3Lr6nyqct814qSftDtwFkGYvd++QvGlnlok0fZAAzrYpPiFbvzlu?=\n\t=?utf-8?q?+8Bk8E/qrOMA4QGeX+5h/BWZU6vyVAQ1CtjaSiGWl+gHtDaq1ANNjpRm?=\n\t=?utf-8?q?tfStLOiQfNMDZkrZpQbkCjCH8osF5D7wXdpS0WF5gw5KbcK29b/D+n8a?=\n\t=?utf-8?q?z80s1s3DHjjj9KfnRY7oCRgWmKpmPcEBzzqrsvpPmupJgKXM5+HG4df3?=\n\t=?utf-8?q?H+VshjPl3Ayv9oWQYyt0hoZEz/SRJB3DgvOWHXpnKCycuYrEjAntP3/O?=\n\t=?utf-8?q?+Cognw/zUIgjTdVaCm2kJMmqIbTxDnvdgvXA8eaVTmpCOcA929bFyR4a?=\n\t=?utf-8?q?2haVusA2yS+rYMp9C4e6eTH9uPVR/9Z/90ZIrik8/iGFTwbPkN4UOIqo?=\n\t=?utf-8?q?kvF/LZLZgGJlfror3H6WplQzALkTKGVvcmSU0llG6rHWl41W5EKoGtwC?=\n\t=?utf-8?q?1tB3zgJlG9FfJbhWxsnYcUqcLhhBIvvCGZqG/CQptc28T/+uKVQ/GFed?=\n\t=?utf-8?q?RiiFP3XLlHYbtMIEtuWT4pJyRJw6Gm+mhsUPi/sjlKpVXA/t/7JosPhh?=\n\t=?utf-8?q?NZzQ8fmR+0RGUXmuHh4feL49XE0rGMsvVQSsRgnpz7acobGyiI9CKFpf?=\n\t=?utf-8?q?+3G7fatLqi3Ntb50WxsCXU7xvUh73jiIQiP06KMPWpQKcxMMzF0PBCHm?=\n\t=?utf-8?q?tLYqUGJbl0/CmPpAH5sCcLQs6+mSmGip0gS12n0WYIsaQYiGt3KLpNU0?=\n\t=?utf-8?q?7Gwr7f/9H/ddVOTzg5lxfOXlfyg48Oa8h3Yyd0wmwJ2AMLRZBrcjGtDd?=\n\t=?utf-8?q?x2vdx7wTpEF8uST1I8A5ux8CepMs/JSCCib/QnUnV5OtADA6MyxAg4KS?=\n\t=?utf-8?q?gYtApc7mZzyLsDspD5vYhTJeU7C64Sve5h2N6Y4tVOGJdYQzyiFH?=","X-Forefront-Antispam-Report":"CIP:164.130.1.44; CTRY:IT; LANG:en; SCL:1; SRV:;\n\tIPV:CAL; SFV:NSPM; H:smtpO365.st.com; PTR:InfoDomainNonexistent;\n\tCAT:NONE; \n\tSFS:(13230040)(1800799024)(376014)(82310400026)(36860700013)(7053199007);\n\tDIR:OUT; SFP:1101; ","X-OriginatorOrg":"foss.st.com","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"17 Sep 2025 13:41:57.7559\n\t(UTC)","X-MS-Exchange-CrossTenant-Network-Message-Id":"3271b1a3-e3ed-4264-0d91-08ddf5eff8e8","X-MS-Exchange-CrossTenant-Id":"75e027c9-20d5-47d5-b82f-77d7cd041e8f","X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp":"TenantId=75e027c9-20d5-47d5-b82f-77d7cd041e8f;\n\tIp=[164.130.1.44]; \n\tHelo=[smtpO365.st.com]","X-MS-Exchange-CrossTenant-AuthSource":"DU2PEPF00028CFC.eurprd03.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Anonymous","X-MS-Exchange-CrossTenant-FromEntityHeader":"HybridOnPrem","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"AS8PR10MB6628","X-Proofpoint-Spam-Details-Enc":"AW1haW4tMjUwOTE2MDIwMiBTYWx0ZWRfX6VtkAXh42mAi\n\t6d/35dYLHQxW7HUyfIChVo0guXZsYg7o1KGTVL6gb8vlh5lCW02NAoRzhdj/h/OJYRNaLjNrudB\n\t6e5W2Y3qJNchnq+9o8gwp5rPxTLJ88QlanXiR566ScQ6tA6Sz/ZRp+WYxkAQ434yHQ8S5DUBWvm\n\tnAnoXiu8c70264w/DLJqnXDqTtgm2D2Sz+Wh1Ntopac3fJ4vfnyG7/LIVtBKvo5OihYzzt71Vpo\n\tkdiitj5WMlo2d3BIARaeD778tDjsFw2Ry6yt2pEPwFPFW5YfN6qptsI9tZHsINVNNy2ScfrMxnh\n\t50eF7pUMLzGDovDagF+0hVEhdBevWkerNefei1z5HpknfoVOleVvGIBUzY0EAxYUOCuJ9Jg8IP0\n\t6DJXAfV7","X-Authority-Analysis":"v=2.4 cv=JYq8rVKV c=1 sm=1 tr=0 ts=68cabaa9 cx=c_pps\n\ta=WLQhmQFNynyssipmWK3jpQ==:117 a=Tm9wYGWyy1fMlzdxM1lUeQ==:17\n\ta=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=h8e1o3o8w34MuCiiGQrqVE4VwXA=:19\n\ta=wKuvFiaSGQ0qltdbU6+NXLB8nM8=:19\n\ta=Ol13hO9ccFRV9qXi2t6ftBPywas=:19 a=ulpFtCY-0pAA:10 a=IkcTkHD0fZMA:10\n\ta=yJojWOMRYYMA:10 a=s63m1ICgrNkA:10 a=KrXZwBdWH7kA:10\n\ta=8b9GpE9nAAAA:8\n\ta=P1BnusSwAAAA:8 a=yl7CG8UdGtvexXmpmw0A:9 a=QEXdDO2ut3YA:10\n\ta=T3LWEMljR5ZiDmsYVIUa:22 a=D0XLA9XvdZm18NrgonBM:22","X-Proofpoint-ORIG-GUID":"-cfhXg1rhOfDVMfjP2WJ3yIdInPYjvB0","X-Proofpoint-GUID":"-cfhXg1rhOfDVMfjP2WJ3yIdInPYjvB0","X-Proofpoint-Virus-Version":"vendor=baseguard\n\tengine=ICAP:2.0.293, Aquarius:18.0.1117, Hydra:6.1.9,\n\tFMLib:17.12.80.40\n\tdefinitions=2025-09-17_01,2025-09-17_02,2025-03-28_01","X-Proofpoint-Spam-Details":"rule=notspam policy=default score=0\n\timpostorscore=0 malwarescore=0\n\tpriorityscore=1501 adultscore=0 spamscore=0 suspectscore=0\n\tclxscore=1015\n\tbulkscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc=\n\tauthcc= route=outbound adjust=0 reason=mlx scancount=1\n\tengine=8.19.0-2507300000 definitions=main-2509160202","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Values are sourced initially from the vd55g1 user manual.\n\nSigned-off-by: Benjamin Mugnier <benjamin.mugnier@foss.st.com>\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n---\n src/ipa/libipa/camera_sensor_helper.cpp | 12 ++++++++++++\n 1 file changed, 12 insertions(+)","diff":"diff --git a/src/ipa/libipa/camera_sensor_helper.cpp b/src/ipa/libipa/camera_sensor_helper.cpp\nindex dcd69d9f2bbb39feabfefe41cee8b45f0f958127..4f052151940fbc5db2628a7f53abcc135cbdb55c 100644\n--- a/src/ipa/libipa/camera_sensor_helper.cpp\n+++ b/src/ipa/libipa/camera_sensor_helper.cpp\n@@ -745,6 +745,18 @@ public:\n };\n REGISTER_CAMERA_SENSOR_HELPER(\"ov13858\", CameraSensorHelperOv13858)\n \n+class CameraSensorHelperVd55g1 : public CameraSensorHelper\n+{\n+public:\n+\tCameraSensorHelperVd55g1()\n+\t{\n+\t\t/* From datasheet: 0x40 at 10bits. */\n+\t\tblackLevel_ = 4096;\n+\t\tgain_ = AnalogueGainLinear{ 0, 32, -1, 32 };\n+\t}\n+};\n+REGISTER_CAMERA_SENSOR_HELPER(\"vd55g1\", CameraSensorHelperVd55g1)\n+\n class CameraSensorHelperVd56g3 : public CameraSensorHelper\n {\n public:\n","prefixes":["v2","4/4"]}