[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aVg3IFprdKIfQcOL@kekkonen.localdomain>
Date: Fri, 2 Jan 2026 23:22:40 +0200
From: Sakari Ailus <sakari.ailus@...ux.intel.com>
To: Himanshu Bhavani <himanshu.bhavani@...iconsignals.io>
Cc: robh@...nel.org, krzk+dt@...nel.org,
Elgin Perumbilly <elgin.perumbilly@...iconsignals.io>,
Vladimir Zapolskiy <vladimir.zapolskiy@...aro.org>,
Mehdi Djait <mehdi.djait@...ux.intel.com>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Hans Verkuil <hverkuil@...nel.org>,
Hans de Goede <hansg@...nel.org>,
Laurent Pinchart <laurent.pinchart@...asonboard.com>,
André Apitzsch <git@...tzsch.eu>,
Benjamin Mugnier <benjamin.mugnier@...s.st.com>,
Dongcheng Yan <dongcheng.yan@...el.com>,
Sylvain Petinot <sylvain.petinot@...s.st.com>,
Heimir Thor Sverrisson <heimir.sverrisson@...il.com>,
Svyatoslav Ryhel <clamor95@...il.com>,
Jingjing Xiong <jingjing.xiong@...el.com>,
linux-media@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v8 2/2] media: i2c: add os05b10 image sensor driver
Hi Himanshu,
On Thu, Jan 01, 2026 at 02:12:47PM +0530, Himanshu Bhavani wrote:
> Add a v4l2 subdevice driver for the Omnivision OS05B10 sensor.
>
> The Omnivision OS05B10 image sensor with an active
> array size of 2592 x 1944.
>
> The following features are supported:
> - Manual exposure an gain control support
> - vblank/hblank control support
> - Supported resolution: 2592 x 1944 @ 60fps (SBGGR10)
>
> Co-developed-by: Elgin Perumbilly <elgin.perumbilly@...iconsignals.io>
> Signed-off-by: Elgin Perumbilly <elgin.perumbilly@...iconsignals.io>
> Signed-off-by: Himanshu Bhavani <himanshu.bhavani@...iconsignals.io>
> Reviewed-by: Vladimir Zapolskiy <vladimir.zapolskiy@...aro.org>
> Reviewed-by: Mehdi Djait <mehdi.djait@...ux.intel.com>
> ---
> MAINTAINERS | 1 +
> drivers/media/i2c/Kconfig | 10 +
> drivers/media/i2c/Makefile | 1 +
> drivers/media/i2c/os05b10.c | 1109 +++++++++++++++++++++++++++++++++++
> 4 files changed, 1121 insertions(+)
> create mode 100644 drivers/media/i2c/os05b10.c
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index c85915d5d20e..c48d04ca38d1 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -19240,6 +19240,7 @@ M: Elgin Perumbilly <elgin.perumbilly@...iconsignals.io>
> L: linux-media@...r.kernel.org
> S: Maintained
> F: Documentation/devicetree/bindings/media/i2c/ovti,os05b10.yaml
> +F: drivers/media/i2c/os05b10.c
>
> OMNIVISION OV01A10 SENSOR DRIVER
> M: Bingbu Cao <bingbu.cao@...el.com>
> diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig
> index 4b4db8c4f496..9800ba50b9a6 100644
> --- a/drivers/media/i2c/Kconfig
> +++ b/drivers/media/i2c/Kconfig
> @@ -371,6 +371,16 @@ config VIDEO_OG0VE1B
> To compile this driver as a module, choose M here: the
> module will be called og0ve1b.
>
> +config VIDEO_OS05B10
> + tristate "OmniVision OS05B10 sensor support"
> + select V4L2_CCI_I2C
> + help
> + This is a Video4Linux2 sensor driver for Omnivision
> + OS05B10 camera sensor.
> +
> + To compile this driver as a module, choose M here: the
> + module will be called os05b10.
> +
> config VIDEO_OV01A10
> tristate "OmniVision OV01A10 sensor support"
> help
> diff --git a/drivers/media/i2c/Makefile b/drivers/media/i2c/Makefile
> index c5f17602454f..561d37939875 100644
> --- a/drivers/media/i2c/Makefile
> +++ b/drivers/media/i2c/Makefile
> @@ -84,6 +84,7 @@ obj-$(CONFIG_VIDEO_MT9V032) += mt9v032.o
> obj-$(CONFIG_VIDEO_MT9V111) += mt9v111.o
> obj-$(CONFIG_VIDEO_OG01A1B) += og01a1b.o
> obj-$(CONFIG_VIDEO_OG0VE1B) += og0ve1b.o
> +obj-$(CONFIG_VIDEO_OS05B10) += os05b10.o
> obj-$(CONFIG_VIDEO_OV01A10) += ov01a10.o
> obj-$(CONFIG_VIDEO_OV02A10) += ov02a10.o
> obj-$(CONFIG_VIDEO_OV02C10) += ov02c10.o
> diff --git a/drivers/media/i2c/os05b10.c b/drivers/media/i2c/os05b10.c
> new file mode 100644
> index 000000000000..7ec6947adef8
> --- /dev/null
> +++ b/drivers/media/i2c/os05b10.c
> @@ -0,0 +1,1109 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * V4L2 Support for the os05b10
> + *
> + * Copyright (C) 2025 Silicon Signals Pvt. Ltd.
> + *
> + * Inspired from imx219, ov2735 camera drivers.
> + */
> +
> +#include <linux/array_size.h>
> +#include <linux/clk.h>
> +#include <linux/container_of.h>
> +#include <linux/delay.h>
> +#include <linux/device/devres.h>
> +#include <linux/err.h>
> +#include <linux/gpio/consumer.h>
> +#include <linux/i2c.h>
> +#include <linux/module.h>
> +#include <linux/pm_runtime.h>
> +#include <linux/regulator/consumer.h>
> +#include <linux/types.h>
> +#include <linux/time.h>
> +#include <linux/units.h>
> +
> +#include <media/v4l2-cci.h>
> +#include <media/v4l2-ctrls.h>
> +#include <media/v4l2-device.h>
> +#include <media/v4l2-fwnode.h>
> +#include <media/v4l2-mediabus.h>
> +
> +#define OS05B10_XCLK_FREQ (24 * HZ_PER_MHZ)
> +
> +#define OS05B10_REG_CHIP_ID CCI_REG24(0x300a)
> +#define OS05B10_CHIP_ID 0x530641
> +
> +#define OS05B10_REG_CTRL_MODE CCI_REG8(0x0100)
> +#define OS05B10_MODE_STANDBY 0x00
> +#define OS05B10_MODE_STREAMING 0x01
> +
> +#define OS05B10_REG_EXPOSURE CCI_REG24(0x3500)
> +#define OS05B10_EXPOSURE_MIN 2
> +#define OS05B10_EXPOSURE_STEP 1
> +#define OS05B10_EXPOSURE_MARGIN 8
> +
> +#define OS05B10_REG_ANALOG_GAIN CCI_REG16(0x3508)
> +#define OS05B10_ANALOG_GAIN_MIN 0x80
> +#define OS05B10_ANALOG_GAIN_MAX 0x7C0
> +#define OS05B10_ANALOG_GAIN_STEP 1
> +#define OS05B10_ANALOG_GAIN_DEFAULT 0x80
Please fix the indentation issues here.
--
Kind regards,
Sakari Ailus
Powered by blists - more mailing lists