From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 64B7E19E97B for ; Thu, 18 Jun 2026 14:00:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781791242; cv=none; b=IeKzXXtmMPxsZTvbI25vqmY1hdXHAPdlKU4x5Maek+pgltY2abGyvwcFR5bgHUXkYiIyhhtUDas7ZBprHzgSnVwZAp8kqbuhj4RX8IU32sgIPhUDeclIKR+4re9Tc8uj4m4ZftaVJOn1qouxh0CEM7ZVp12yTg4CoV9apEeCMkI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781791242; c=relaxed/simple; bh=9m9kUKtzlx7aPIOvj1jMWVnkjRGf74rrjTx+hbwYRsg=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=GpirrePvUNczob0ThA/O9DRJVsb8/M5rLmQqVVgIQwqU01LEF92rotYTWFBWcokkjpF/FwSbatyPJXQn76yM5c/ukueAta6zaKnmAR8BufogpEXQUslVTRyDdJw1E3A7pd88THAX9V03OVKpRW2dBj689+jyHngEBQWIywik1Fo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=faKm31EY; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=eEt56tYz; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="faKm31EY"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="eEt56tYz" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65IDs1Ov1930874 for ; Thu, 18 Jun 2026 14:00:40 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= UWc7TmHqNqNxyP/iYB/ehqVttOI55ybr69ddYW6Rkxs=; b=faKm31EY90HTLDiL s1Q31GLA3s2gnWzZfUhLbhB15e+E9DJX6ke3ccS1HpMBmJb9jCbOLEQ9eQfqXsGC sr5JynN2TH3/idEF2mqdEOK614EidIr3n+XBXJPG6v8icv8a8nBFFhRAfT58T76a 4gxAtIMjGZMsLgVD6mDPsVHBdeiki1LnRU0C5v0z2fJpdvSidgrczTuAk7U7pRkQ xIvknQKQDxz0mgjNPern/vIc0ZpA4c61rlCk68z9gytE5yG4u8liDb3n5lHmscL6 91xe3aLdDVYAYfIG1eI1zPd6YiX4Bc//GOfLbS1BhpFgEkVoBpSsQSI0d3lB6bSF Fhz5fg== Received: from mail-yx1-f71.google.com (mail-yx1-f71.google.com [74.125.224.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ev12kkpts-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 18 Jun 2026 14:00:40 +0000 (GMT) Received: by mail-yx1-f71.google.com with SMTP id 956f58d0204a3-662ba134bceso1861585d50.3 for ; Thu, 18 Jun 2026 07:00:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1781791240; x=1782396040; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=UWc7TmHqNqNxyP/iYB/ehqVttOI55ybr69ddYW6Rkxs=; b=eEt56tYzkhPK+kO77M1T7XAmj2IzkoJ0yyJCARNY2+FadTuOZWgd1zC01e/Blh08GC oSLf/XRem6YoTqhYlFOEJ3hcpmIEH8HbdKSYXWRqPw6jX6Ok2HMbGqwhmTSH0GjxwNtO LQNUVDffj7S0vGiENlchqD9zavyIO2LFG8kEYuSwFuehQxwJARHLK+gakO//7ShqxJPu ENrHcZbUB59gufmw/Vu81JM/XWQ4ru97sCwFv9IEm1WJO8qsUmXFnJH16qWdVbCPRHEW mubEZl6AddPDxM+Kwp/pG12jz8wmf7qKbnTvoTAmxR3yChPQ1/36J/yFuyViOWHBQl0a OsVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781791240; x=1782396040; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=UWc7TmHqNqNxyP/iYB/ehqVttOI55ybr69ddYW6Rkxs=; b=jxD0sDRgGw12KWxm5BHWSjLTupC1MuneISxGiZ6f+Pu0QRzb3EVBki/B8M+zDY+Kc0 xZddyd1sl7egZrwjqfbv4EppxueE1ilYLAL9wIVvJecKFCAz4OKwo6t+VPObfLucL1l4 bzS2v3L/QhIITT8zFGYtSVLGi2L3FSRMx4oroO8KjH7UCkXjCOoTBOxAPo5ddr/x4RfW 1UpXkLHvex04wjw7BI+Hh6AMdU+APWyam/uZjYyiXbkyKlJw2+HjC4YtCfC7UjnLj42V IzlN8M4LBJGp0OmATA2exzPoc+dinwDSgjzegxvnkXpYOSXooPU79SFgJ2I4SCkWR9If Lh/Q== X-Forwarded-Encrypted: i=1; AFNElJ+eVhrtfUT71IiUNmO/fsAa811/9Gfj+w5lkQAm9EpMuc6DZX++c6Jln9iOSQ+9r3ls/caQURhi1BWslCw=@vger.kernel.org X-Gm-Message-State: AOJu0Yx5jKcI5YdLls/JwGiYHGzAxsPa33O0EYlMVlAqe5839+4l+xWd s4iTnwoa8iJo2ZG6FzwucQnL2Nh6itunYOsQzUC3M75uHunPCLNhc5AF4xQg2POoYKQXqT18fHQ RQxOvPRfJJ4JwMkJx3zKomdZtE2rUgbwjztNz67iA5o4KJvu9k+O8NFOY82y7vDag40CXmdVxEh FvLQ== X-Gm-Gg: AfdE7clodp3u4l2ZNXKdb7y9VKQC34DGzBx6UhvVXB5j0si2l0Cu0lgUETAwjYEd8ex Sb/AMZl1qwKbvhvjWlVfNsmI87/eb/JEB3XrQsiRw9ND41kH0BeyRyvPzq3DerdYXnzZzkwYfT9 qP8avBdApUYZn2qqcctzbCJtbTsF1JyjPr8UVs16eOgMIVDCfLz4tKLF20EcDIyp1VDpG9YlUCn 6B3YjR+1FqUXv9E5rcOGIwEkGz9I0SVk4k2Oj82sKwS8jYcMDDE1nuwBAXUn1TVKtqm6IxZnCJR vobZk1iMd0XFwDL7II1Y3qOtDc9MbaPH7x+5oCZIDGkxHXgHGo2pRfTd99l3cj3Ko1jTQF3/AP8 NB7TCPNzux9cYWG6XoH59QkI1b4kR9SXToKBKAZKGNkKXzJ4OUdO/88bdClgsz83mPe/Aa4XA1w I= X-Received: by 2002:a05:690e:1906:b0:662:f227:6230 with SMTP id 956f58d0204a3-662f227730amr1966319d50.18.1781791239440; Thu, 18 Jun 2026 07:00:39 -0700 (PDT) X-Received: by 2002:a05:690e:1906:b0:662:f227:6230 with SMTP id 956f58d0204a3-662f227730amr1966229d50.18.1781791238551; Thu, 18 Jun 2026 07:00:38 -0700 (PDT) Received: from [10.111.165.239] (Global_NAT1_IAD_FW.qualcomm.com. [129.46.232.65]) by smtp.gmail.com with ESMTPSA id 956f58d0204a3-66274e2b181sm12345595d50.15.2026.06.18.07.00.34 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 18 Jun 2026 07:00:37 -0700 (PDT) Message-ID: <7c25faea-7e86-43d5-9aff-2bf6f609e311@oss.qualcomm.com> Date: Thu, 18 Jun 2026 22:00:32 +0800 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 2/2] media: i2c: og0va1b: Add OmniVision OG0VA1B camera sensor To: Kieran Bingham , Conor Dooley , Krzysztof Kozlowski , Mauro Carvalho Chehab , Rob Herring , Sakari Ailus , Vladimir Zapolskiy Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org References: <20260618-og0va1b-v1-0-dda71bb83009@oss.qualcomm.com> <20260618-og0va1b-v1-2-dda71bb83009@oss.qualcomm.com> <1a57863c-831a-411c-a0ae-da3d4f1fd6a0@linaro.org> <226a55a6-babd-47ce-b261-35b982d5c7db@oss.qualcomm.com> <178178854034.861173.9780571180496261859@ping.linuxembedded.co.uk> Content-Language: en-US From: Wenmeng Liu In-Reply-To: <178178854034.861173.9780571180496261859@ping.linuxembedded.co.uk> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjE4MDEyOSBTYWx0ZWRfXyDiXxAfYoOzM c41nWEfzSqbxPjNTiXFRGHUARr64lIz3YlNAKgRGfUGNb/j5NlLqSf3dt53yetIt++hiQ0UsYt/ gu+9BJTNFVZIvJPvBztHgt8DMAJtYw0Ua+69TsfaMJCXbQQDlA2exqBnaR2w0bgSIOR2+r3LqlU +dgOvpEI6jWtmEXIrQu4kvO+a2XmUZh+1fYx6Ou1tE8clljdlaHoO5V/lPezlP6zQ5dDHgIED7H Dd7p2MzTodjEbhtVkAC95kkjLrZqCxTf7uIfJ8oZ/oxe3Beb6yutvsrE/aVoroVIKKiFs3hqdy1 J20HtsuFMdwLiEi0djrSOs+bXpXO4LUQ5jw0oWBplgQv3Mh8zcwAcf9pCQXL4e4UH9R1OdsyrTm xNEsh3pxt7SEeebkeN8AYG7qn3qRwactf7pEvHsxKD7fF5zvVwfQGxaocMjHQHlzxmoXY0ewdnB rTgT5rCUy4KOdPq6Weg== X-Proofpoint-GUID: Hg52aJw92LgLv_k1vUR_o8MCLKrDTwQR X-Authority-Analysis: v=2.4 cv=HpVG3UTS c=1 sm=1 tr=0 ts=6a33fa08 cx=c_pps a=ngMg22mHWrP7m7pwYf9JkA==:117 a=C3Dk8TwHQYyIj7nOf9RCJw==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=VwQbUJbxAAAA:8 a=KKAkSRfTAAAA:8 a=VsaXS-_fMXfK9Rll_5QA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=yHXA93iunegOHmWoMUFd:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: Hg52aJw92LgLv_k1vUR_o8MCLKrDTwQR X-Proofpoint-Spam-Info: AW1haW4tMjYwNjE4MDEyOSBTYWx0ZWRfX8HeucrcW1tEY b5q9SDSjwy33HhBHWgsZDME/VcZplhflyjJPBr0YIvaA+BYSwkYcmEb/RA22vhKQClAWzEIU5NZ 8ojtSJds/xpnCt2A2Aa0pXZovSC6YwY= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-18_02,2026-06-18_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 suspectscore=0 priorityscore=1501 malwarescore=0 clxscore=1015 adultscore=0 phishscore=0 bulkscore=0 spamscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606180129 On 6/18/2026 9:15 PM, Kieran Bingham wrote: > Quoting Wenmeng Liu (2026-06-18 13:36:27) >> >> >> On 6/18/2026 6:50 PM, Vladimir Zapolskiy wrote: >>> Hello Wenmeng. >>> >>> On 6/18/26 13:37, Wenmeng Liu wrote: >>>> Add V4L2 sub device driver for OmniVision OG0VA1B image sensor. >>>> OmniVision OG0VA1B is an image sensor, which produces frames in 10-bit >>>> raw output format (Y10) over a 1-lane MIPI CSI-2 interface and supports >>>> the 640x480 (VGA) resolution. >>>> >>>> Signed-off-by: Wenmeng Liu >>>> --- >>>>   MAINTAINERS                 |   1 + >>>>   drivers/media/i2c/Kconfig   |  10 + >>>>   drivers/media/i2c/Makefile  |   1 + >>>>   drivers/media/i2c/og0va1b.c | 867 ++++++++++++++++++++++++++++++++++ >>>> ++++++++++ >>>>   4 files changed, 879 insertions(+) >>>> >>>> diff --git a/MAINTAINERS b/MAINTAINERS >>>> index >>>> 5aa846c8479b20651291d5bd2e316308310f826c..85a06eb9eacc410a565b80d56979eaa565515d0e 100644 >>>> --- a/MAINTAINERS >>>> +++ b/MAINTAINERS >>>> @@ -19891,6 +19891,7 @@ M:    Wenmeng Liu >>>>   L:    linux-media@vger.kernel.org >>>>   S:    Maintained >>>>   F:    Documentation/devicetree/bindings/media/i2c/ovti,og0va1b.yaml >>>> +F:    drivers/media/i2c/og0va1b.c >>>>   OMNIVISION OG0VE1B SENSOR DRIVER >>>>   M:    Vladimir Zapolskiy >>>> diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig >>>> index >>>> 5d173e0ecf424f2f204f8d426be818e44357f8e4..56680772f5f47b4629c4e17f5a5feba08b1d94fc 100644 >>>> --- a/drivers/media/i2c/Kconfig >>>> +++ b/drivers/media/i2c/Kconfig >>>> @@ -363,6 +363,16 @@ config VIDEO_OG01A1B >>>>         To compile this driver as a module, choose M here: the >>>>         module will be called og01a1b. >>>> +config VIDEO_OG0VA1B >>>> +    tristate "OmniVision OG0VA1B sensor support" >>>> +    select V4L2_CCI_I2C >>>> +    help >>>> +      This is a Video4Linux2 sensor driver for the OmniVision >>>> +      OG0VA1B camera. >>>> + >>>> +      To compile this driver as a module, choose M here: the >>>> +      module will be called og0va1b. >>>> + >>>>   config VIDEO_OG0VE1B >>>>       tristate "OmniVision OG0VE1B sensor support" >>>>       select V4L2_CCI_I2C >>>> diff --git a/drivers/media/i2c/Makefile b/drivers/media/i2c/Makefile >>>> index >>>> e45359efe0e41e13e3c0869e5ead7d6cf4aca3a7..c60851c7fe07e3bdc511c5f482525ba7a044f48e 100644 >>>> --- a/drivers/media/i2c/Makefile >>>> +++ b/drivers/media/i2c/Makefile >>>> @@ -83,6 +83,7 @@ obj-$(CONFIG_VIDEO_MT9V011) += mt9v011.o >>>>   obj-$(CONFIG_VIDEO_MT9V032) += mt9v032.o >>>>   obj-$(CONFIG_VIDEO_MT9V111) += mt9v111.o >>>>   obj-$(CONFIG_VIDEO_OG01A1B) += og01a1b.o >>>> +obj-$(CONFIG_VIDEO_OG0VA1B) += og0va1b.o >>>>   obj-$(CONFIG_VIDEO_OG0VE1B) += og0ve1b.o >>>>   obj-$(CONFIG_VIDEO_OS05B10) += os05b10.o >>>>   obj-$(CONFIG_VIDEO_OV01A10) += ov01a10.o >>>> diff --git a/drivers/media/i2c/og0va1b.c b/drivers/media/i2c/og0va1b.c >>>> new file mode 100644 >>>> index >>>> 0000000000000000000000000000000000000000..f0505b7ba7f329ad57ffafa8f90a24204f002d3c >>>> --- /dev/null >>>> +++ b/drivers/media/i2c/og0va1b.c >>>> @@ -0,0 +1,867 @@ >>>> +// SPDX-License-Identifier: GPL-2.0 >>>> +/* >>>> + * OmniVision OG0VA1B Camera Sensor Driver >>>> + * >>>> + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries >>>> + */ >>>> + >>>> +#include >>>> +#include >>>> +#include >>>> +#include >>>> +#include >>>> +#include >>>> +#include >>>> +#include >>>> + >>>> +#include >>>> +#include >>>> +#include >>>> +#include >>>> +#include >>>> + >>>> +#define OG0VA1B_REG_CHIP_ID        CCI_REG16(0x300a) >>>> +#define OG0VA1B_CHIP_ID            0xC756 >>> >>> This is the same chip id as of the OG0VE1B sensor device. >>> >>> What's the difference between these two sensors, and do you find it >>> possible >>> to add support of OG0VA1B sensor/modes into OG0VE1B sensor driver? Or is >>> it just the same device? >>> >>> Hardware specifics described in dt changes also does not show a difference >>> in comparison to ovti,og0ve1b.yaml. >>> >> >> >> Hi Vladimir, >> >> >> Both OG0VE1B and OG0VA1B belong to the same OmniVision VGA monochrome >> sensor family. They share the same resolution, power rails, reset GPIO >> behavior and power management framework. >> >> But they are different: >> OG0VE1B: 8-bit RAW, lower FPS >> OG0VA1B: 10-bit RAW, higher FPS >> and some registers are not same. > > Can you identify which registers are not the same? > For example, regarding the CHIP_ID, OG0VE1B is 0xc75645, while OG0VA1B is 0xc75641, including the test pattern registers. Since I do not have the specification for OG0VE1B, I cannot perform a detailed comparison. However, based on the current observations, OG0VA1B can be integrated into the OG0VE1B driver. > Mapping between 8bit and 10 bit or different frame rates could easily be > managed in a single driver with exposing different capabilities based on > the variant. > > We should really work towards reducing the huge duplication that is > happening with copy/paste sensor drivers. Indeed, will do so. Thanks, Wenmeng