From patchwork Fri Jul 31 15:15:35 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: John Cronin X-Patchwork-Id: 27530 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 E09E9BDE4C for ; Fri, 31 Jul 2026 15:15:39 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 9CB0867FE3; Fri, 31 Jul 2026 17:15:39 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=stromback-com.20251104.gappssmtp.com header.i=@stromback-com.20251104.gappssmtp.com header.b="L1E4uWBH"; dkim-atps=neutral Received: from mail-yw1-x1130.google.com (mail-yw1-x1130.google.com [IPv6:2607:f8b0:4864:20::1130]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id B6F8867FD6 for ; Fri, 31 Jul 2026 17:15:37 +0200 (CEST) Received: by mail-yw1-x1130.google.com with SMTP id 00721157ae682-81ed2a06b9eso10828607b3.3 for ; Fri, 31 Jul 2026 08:15:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1785510936; cv=none; d=google.com; s=arc-20260327; b=bvz73+IEiBS6QV9j/P9wcMv4qkwIyTiI6X+q4yr5BZbpPO6sEBx+cYEk+87QmgKxhT xAZKPBaRs0wipj2DLT0sW7X7m8RAceiP3jeJPTsxpDI+N+0OTeAMqeAsiZDRytVHsMox iBmSgGK6VzgQNNA4rW9Yp0tE4RWs4bDNvJleB+51XWkl+vgM4wd81RQFgMg5s0sD5p4j Whd3HLunPQB7UYZzSIXUEBuCE7kOPIIWtHI55BYlFH0OANDHlfIbuS87dH7fi1AmVH6H +GcXEw/L9XeAqQbd5hiTXQslw3H3F5VFhWZIsaBR7sau9wzyo7Bhggt7efQP3ZBP2dhD WS8g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=content-transfer-encoding:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature; bh=Ll0IJqOox4aY4FBw/LoFz6iBk/U4YjIyU86tJZ+EH90=; fh=hN8mNPnxBXjCARLz6VoZGvcnfJs454t5dBv/gP0fGlc=; b=RqNs+dzrPX0RQ044JcKO1RuA7CSKt0v+0qP12JLRlp6jHG/5XugMLCrLPQf3sDHxH9 XjP2nMKMWhOwxEMuRlEhwAKk0b3Zp7QfUu0XeEs/xGV6QPesyZUNv79fn5fWjnPKFJIJ xpa0QgLzcpvzdWIzEA36sTCKhCOqubPwJfQ4b2ggcLpf7T/nR4a5fcPMAzEMK2qRYHgB XWRIuwdts7SHz51YCiuUtZ4/ANUH0W+mUyx/g/QGt/bx2YMWcVkKM7eXMuTPhQSkc0Gp kM9DaoKry0D00JqdJ0MMjtinPrcILV6mVJTvtaK2ReNJW6Dp0PyYxs489IoR33Des5U+ WsRA==; darn=lists.libcamera.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=stromback-com.20251104.gappssmtp.com; s=20251104; t=1785510936; x=1786115736; darn=lists.libcamera.org; h=content-transfer-encoding:content-type:cc:to:subject:message-id :date:from:references:in-reply-to:mime-version:from:to:cc:subject :date:message-id:reply-to:content-type; bh=Ll0IJqOox4aY4FBw/LoFz6iBk/U4YjIyU86tJZ+EH90=; b=L1E4uWBHPeFMp8eY9lqoRpah+i6rLzXIWAt/+KOGx61mV/ORw39YlWZfirIIu2mraC Pqc5M+KHL/jDR/ZUi+5LredrqU7Od0uqYuy5izoDZJ0fHywrAGKAZbJlTb8O1eICbBjP Rl79MGW45OhemFCM39bSO9dLbEYHmaCdfXMXAqwLwVZUYj/xgLKUBRBEmfs29j8eBVzs LFDZO8mjWQztglHaC30NIkNV+k/BEP4r/YJOUvPmgnuoLDYYcMhIWKwM9DmLmLre5gkA Tdoi6pMk2Ueug8Oc2228XSwLIKBR3UCyFpHiWrfkJZk6pF7KDsbbjVLMZImCySwmmw+I d/4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785510936; x=1786115736; h=content-transfer-encoding:content-type:cc:to:subject:message-id :date:from:references:in-reply-to:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=Ll0IJqOox4aY4FBw/LoFz6iBk/U4YjIyU86tJZ+EH90=; b=VWYxCeTI2nBQXbmF16ah37i5W6AcbZTB4gG7lsU3xY2rHfl2QfEFW+/y+Ywkzzq57h TWJ8bmuoLRrwW5TvPRj4uWyyceoxCfRLrBf060wJq8ajl6LD/tBArQkrA3KYcyBROAj6 5ak/ljx3w0VsuA3rXOKmX4UlA6cwFEDnmI9AYpyQS5UzQMY4JlWo0FE0rmLoX75lF46j KLPJQ1lm5motjQATp91VTtHctkwtwxFilTprlMPGkULplMq+0Zz+bHfkb8Fb54X2/fXD IyEy4juS2i7dyVShXv0oIUyrt8Sy1qiccVrhP6zJWUIL4FNpa7IIRBERdEUKJVoIaU6n 3WXQ== X-Gm-Message-State: AOJu0YwXzGtQ60TQENQBNwgLSubtwFNJsowEE5/h1gJ/XxGXawL+pcs6 r+eDqkmPRatVh4bE4lUPZEXtJ9GK9NNa9KLd7C/EE3InPvDtladidIP90JHQxeQSrh9S3clvQtR RH7rC78zYNqRmveHwbD9JbTAjKR8LsjuSx1zyYO/4l1Ofn7QaseVmGNE= X-Gm-Gg: AR+sD10inEPZchRN6olUgy6XC6NgXfqfkHAnTFq8n109DYWBidwMhTU/pRSsPZKUA4A syfmuiBhzu0qoAW42LB+wdMF64Cb3wagztIAU9YVRXtHhSp45k9KaQUxqpRBfiPXi353PMn6q9T CZj4CYR+5rNoE9nUxY6iETLuh6r5fYBk2Qvay2zlciiXd1IIDWAa3D9HrNTM638xQyKzsSjSmvT JYbVjMLtm/Il7QbtXnzs0+fdp+4WiHf01w5xHnoB4WDWnwX3uhT2atlk/4pLL1gNj3xHXXnAv8Y SB0AoICn24ZnYwxPCGh5LdhDsaEiX9cCNsxYdXaOswRfj7ZDIVKSm7EgP+Tm6ufpN5nabNYgc/X D9JhrWWD8NHxaGb/tyZmw93kx2h8npwQ2MTtn1lrltTYa/n9iuOsbmDsn3aCT9f+flHjHkoEeyH w4CMRd7NIdrTVi5m7YhIiqiBnMU1TMLlXFSox2zzTIxqW8S4hmHExjoXavIkUEkHHv8w3CU5xHu 4FqigVH2z/yFN9XpazD6CsNud5EZ57H4ppXpM+jpA== X-Received: by 2002:a05:690c:968a:b0:81d:bc5:4624 with SMTP id 00721157ae682-81fd4b8c8ebmr2416537b3.25.1785510936555; Fri, 31 Jul 2026 08:15:36 -0700 (PDT) Received: from 313336824172 named unknown by gmailapi.google.com with HTTPREST; Fri, 31 Jul 2026 08:15:35 -0700 Received: from 313336824172 named unknown by gmailapi.google.com with HTTPREST; Fri, 31 Jul 2026 08:15:35 -0700 MIME-Version: 1.0 In-Reply-To: References: From: John Cronin Date: Fri, 31 Jul 2026 08:15:35 -0700 X-Gm-Features: AUfX_mx0isvVVZu00auv1sNFBXCOoPrRvAfGZPWGT5v3aV4--440F3Y91wcQ2PA Message-ID: Subject: [PATCH v4 2/2] libcamera: camera_sensor_properties: Add imx471 To: libcamera-devel@lists.libcamera.org Cc: jacopo.mondi@ideasonboard.com, kieran.bingham@ideasonboard.com 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" Register static properties for Sony IMX471 so soft-ISP no longer warns about missing sensor properties. Unit cell size is ~1.4 µm (kernel active array 4656x3496). Test pattern modes match imx471_test_pattern_menu[] in drivers/media/i2c/imx471.c. Sensor control delays are left empty so libcamera uses its defaults until measured. Signed-off-by: John Cronin Reviewed-by: Jacopo Mondi --- src/libcamera/sensor/camera_sensor_properties.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) .testPatternModes = {}, diff --git a/src/libcamera/sensor/camera_sensor_properties.cpp b/src/libcamera/sensor/camera_sensor_properties.cpp index fc9e184..4823462 100644 --- a/src/libcamera/sensor/camera_sensor_properties.cpp +++ b/src/libcamera/sensor/camera_sensor_properties.cpp @@ -297,6 +297,20 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen .hblankDelay = 2 }, } }, + { "imx471", { + /* ~1.4 µm pixels (nm); active array 4656x3496 in kernel. */ + .unitCellSize = { 1400, 1400 }, + /* Matches imx471_test_pattern_menu[] in drivers/media/i2c/imx471.c */ + .testPatternModes = { + { controls::draft::TestPatternModeOff, 0 }, + { controls::draft::TestPatternModeSolidColor, 1 }, + { controls::draft::TestPatternModeColorBars, 2 }, + { controls::draft::TestPatternModeColorBarsFadeToGray, 3 }, + { controls::draft::TestPatternModePn9, 4 }, + }, + /* Control delays not measured; use libcamera defaults. */ + .sensorDelays = { }, + } }, { "imx477", { .unitCellSize = { 1550, 1550 },