Message ID | 20221125153120.541298-1-petko.manolov@konsulko.com (mailing list archive) |
---|---|
Headers |
Received: from vger.kernel.org ([23.128.96.18]) by www.linuxtv.org with esmtp (Exim 4.92) (envelope-from <linux-media-owner@vger.kernel.org>) id 1oyaft-00CzEZ-IM; Fri, 25 Nov 2022 15:31:33 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229491AbiKYPbb (ORCPT <rfc822;mkrufky@linuxtv.org> + 1 other); Fri, 25 Nov 2022 10:31:31 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53044 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229477AbiKYPba (ORCPT <rfc822;linux-media@vger.kernel.org>); Fri, 25 Nov 2022 10:31:30 -0500 Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com [IPv6:2a00:1450:4864:20::630]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7ED3A25E8A for <linux-media@vger.kernel.org>; Fri, 25 Nov 2022 07:31:29 -0800 (PST) Received: by mail-ej1-x630.google.com with SMTP id ud5so11124604ejc.4 for <linux-media@vger.kernel.org>; Fri, 25 Nov 2022 07:31:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=qbB5XeuI7CFJnPNKzVvw7LjitODqqPmcZrkg+g4L/W8=; b=oHRW4lxzTjPYT9x7AaF+s3xJU4/YMxb0TVXoKajIxqYit5osgPIppMY5G3Lg38Cmcv dNImqPWhTB7c1FuXczwPU57DM3vxL2Whm0w/XXS+nCC/0xu/vQ5pDjUyI1OWRLiQAD91 wdTihWcSeC5eFIoYKeVQ83+A6mt9XvdJxU4uE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=qbB5XeuI7CFJnPNKzVvw7LjitODqqPmcZrkg+g4L/W8=; b=CN0lf2jw7HCFianTxiyBiII52lenYVEVgdByaZlIPfHqrzbcUgBkQYuIxwdU1Rrcmi UyJOltX3MTLlG62icNy1gy1Qky4qa+llTLZMuU/0+DNQDTxp2F5Zv+QTZ7F7+N/xM4gs oMLxNlsP8PdEv5b2yMKddJRrMVBdb/XSLMBvubwCQEzR8ZqsbbeoN6vefZZEsgmOr/32 +K9ekAKTYOdfqQApQg/oS9OUyJWC7s2V/V3attpDXYT02ZmqA6aaD56ozFVXnBBLQGUB I+SkZJyQmkosm+B3X+sIuKE2pzzLNRBEHiapbVDXDZXMqDTjdNiidTAnxI7NjULp7J8q fDIQ== X-Gm-Message-State: ANoB5pkCLdLFU8Zx1XUn+xHPoRSUMll3J/Bqc4aYJty66vYh0e26Twtw y7a1SzaqGcdwd9DPKhTTj8giaIhOzb4v1Q== X-Google-Smtp-Source: AA0mqf4d7rNySYK/SUFr296vGifuJi8/6uMdWjdEtpaxYsfXduDJGi8c2HYfcq1q/odc+Nq9CUPXgw== X-Received: by 2002:a17:907:d40e:b0:7bb:f10c:9282 with SMTP id vi14-20020a170907d40e00b007bbf10c9282mr5339920ejc.325.1669390287633; Fri, 25 Nov 2022 07:31:27 -0800 (PST) Received: from tone.k.g (lan.nucleusys.com. [92.247.61.126]) by smtp.gmail.com with ESMTPSA id p10-20020aa7cc8a000000b0045b4b67156fsm1878435edt.45.2022.11.25.07.31.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Nov 2022 07:31:27 -0800 (PST) From: Petko Manolov <petko.manolov@konsulko.com> To: linux-media@vger.kernel.org Cc: laurent.pinchart@ideasonboard.com, sakari.ailus@iki.fi, Petko Manolov <petko.manolov@konsulko.com> Subject: [PATCH v1 0/5] Adds media driver for Sony IMX492 sensor Date: Fri, 25 Nov 2022 17:31:15 +0200 Message-Id: <20221125153120.541298-1-petko.manolov@konsulko.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-media.vger.kernel.org> X-Mailing-List: linux-media@vger.kernel.org X-LSpam-Score: -2.5 (--) X-LSpam-Report: No, score=-2.5 required=5.0 tests=BAYES_00=-1.9,DKIM_SIGNED=0.1,DKIM_VALID=-0.1,DKIM_VALID_AU=-0.1,HEADER_FROM_DIFFERENT_DOMAINS=0.5,MAILING_LIST_MULTI=-1 autolearn=ham autolearn_force=no |
Series |
Adds media driver for Sony IMX492 sensor
|
|
Message
Petko Manolov
Nov. 25, 2022, 3:31 p.m. UTC
This patch adds dt-bindings documentation, driver source, etc for Sony imx492 image sensor. imx492 is a diagonal 23.1 mm (Type 1.4) CMOS image sensor with color or monochrome square pixel array and approximately 47.08 M effective pixels. 12-bit digital output makes it possible to output the signals with high definition for moving pictures. It is programmable through I2C interface. The I2C client address can be either 0x10 or 0x1a depending on SLASEL pin. Image data is sent through MIPI CSI-2. Petko Manolov (5): DT bindings for imx492 media: i2c: imx492: driver's header media: i2c: imx492: driver's source media: i2c: add imx492 config entry media: i2c: add imx492 entry for make .../bindings/media/i2c/sony,imx492.yaml | 101 ++ drivers/media/i2c/Kconfig | 14 + drivers/media/i2c/Makefile | 1 + drivers/media/i2c/imx492.c | 1092 +++++++++++++++++ drivers/media/i2c/imx492.h | 555 +++++++++ 5 files changed, 1763 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/i2c/sony,imx492.yaml create mode 100644 drivers/media/i2c/imx492.c create mode 100644 drivers/media/i2c/imx492.h
Comments
Hi Petko, What device/ISP are you testing this sensor on? Quoting Petko Manolov (2022-11-25 15:31:15) > This patch adds dt-bindings documentation, driver source, etc for Sony imx492 > image sensor. > > imx492 is a diagonal 23.1 mm (Type 1.4) CMOS image sensor with color or > monochrome square pixel array and approximately 47.08 M effective pixels. 12-bit > digital output makes it possible to output the signals with high definition for > moving pictures. It is programmable through I2C interface. The I2C client > address can be either 0x10 or 0x1a depending on SLASEL pin. Image data is sent > through MIPI CSI-2. > > Petko Manolov (5): > DT bindings for imx492 > media: i2c: imx492: driver's header > media: i2c: imx492: driver's source > media: i2c: add imx492 config entry > media: i2c: add imx492 entry for make Could you squash patches 2, 3, 4, and 5 into a single patch please? Also - I think you'll need an entry in MAINTAINERS. I can't see any reference to the selection controls: - V4L2_SEL_TGT_CROP_DEFAULT - V4L2_SEL_TGT_CROP - V4L2_SEL_TGT_CROP_BOUNDS Do you have the datasheet or sufficient information to be able to implement these controls? -- Kieran > .../bindings/media/i2c/sony,imx492.yaml | 101 ++ > drivers/media/i2c/Kconfig | 14 + > drivers/media/i2c/Makefile | 1 + > drivers/media/i2c/imx492.c | 1092 +++++++++++++++++ > drivers/media/i2c/imx492.h | 555 +++++++++ > 5 files changed, 1763 insertions(+) > create mode 100644 Documentation/devicetree/bindings/media/i2c/sony,imx492.yaml > create mode 100644 drivers/media/i2c/imx492.c > create mode 100644 drivers/media/i2c/imx492.h > > -- > 2.30.2 >
On 22-11-28 12:45:32, Kieran Bingham wrote: > Hi Petko, > > What device/ISP are you testing this sensor on? I'll tell you, but only if you promise to not laugh too much. Deal? i.MX8M-Mini I hope nobody will notice the above line... > Quoting Petko Manolov (2022-11-25 15:31:15) > > This patch adds dt-bindings documentation, driver source, etc for Sony imx492 > > image sensor. > > > > imx492 is a diagonal 23.1 mm (Type 1.4) CMOS image sensor with color or > > monochrome square pixel array and approximately 47.08 M effective pixels. 12-bit > > digital output makes it possible to output the signals with high definition for > > moving pictures. It is programmable through I2C interface. The I2C client > > address can be either 0x10 or 0x1a depending on SLASEL pin. Image data is sent > > through MIPI CSI-2. > > > > Petko Manolov (5): > > DT bindings for imx492 > > media: i2c: imx492: driver's header > > media: i2c: imx492: driver's source > > media: i2c: add imx492 config entry > > media: i2c: add imx492 entry for make > > Could you squash patches 2, 3, 4, and 5 into a single patch please? This is the exact opposite to what the networking folks would prefer, but it's OK with me. > Also - I think you'll need an entry in MAINTAINERS. Right, that one too. > I can't see any reference to the selection controls: > - V4L2_SEL_TGT_CROP_DEFAULT > - V4L2_SEL_TGT_CROP > - V4L2_SEL_TGT_CROP_BOUNDS These are in a very early phase of implementing. > Do you have the datasheet or sufficient information to be able to implement > these controls? Of course not. We are brute forcing our way forward by mostly reverse engineering another solution that has an FPGA on the other end of the CSI link. > -- > Kieran > > > .../bindings/media/i2c/sony,imx492.yaml | 101 ++ > > drivers/media/i2c/Kconfig | 14 + > > drivers/media/i2c/Makefile | 1 + > > drivers/media/i2c/imx492.c | 1092 +++++++++++++++++ > > drivers/media/i2c/imx492.h | 555 +++++++++ > > 5 files changed, 1763 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/media/i2c/sony,imx492.yaml > > create mode 100644 drivers/media/i2c/imx492.c > > create mode 100644 drivers/media/i2c/imx492.h > > > > -- > > 2.30.2 > > Petko
Quoting Petko Manolov (2022-11-28 13:11:39) > On 22-11-28 12:45:32, Kieran Bingham wrote: > > Hi Petko, > > > > What device/ISP are you testing this sensor on? > > I'll tell you, but only if you promise to not laugh too much. Deal? > > i.MX8M-Mini > > I hope nobody will notice the above line... I won't laugh at all. We've just merged the ISI pipeline handler for libcamera, which should let you use libcamera on this target (I think). I would hope sometime in the future you'd be able to use the ISI pipeline handler with a GPU based ISP with this sensor too. How are you managing the image 3a? the imx492 is a raw sensor isn't it ? > > Quoting Petko Manolov (2022-11-25 15:31:15) > > > This patch adds dt-bindings documentation, driver source, etc for Sony imx492 > > > image sensor. > > > > > > imx492 is a diagonal 23.1 mm (Type 1.4) CMOS image sensor with color or > > > monochrome square pixel array and approximately 47.08 M effective pixels. 12-bit > > > digital output makes it possible to output the signals with high definition for > > > moving pictures. It is programmable through I2C interface. The I2C client > > > address can be either 0x10 or 0x1a depending on SLASEL pin. Image data is sent > > > through MIPI CSI-2. > > > > > > Petko Manolov (5): > > > DT bindings for imx492 > > > media: i2c: imx492: driver's header > > > media: i2c: imx492: driver's source > > > media: i2c: add imx492 config entry > > > media: i2c: add imx492 entry for make > > > > Could you squash patches 2, 3, 4, and 5 into a single patch please? > > This is the exact opposite to what the networking folks would prefer, but it's > OK with me. Haha ... yes - isn't it great working in mulitple subsystems.... > > Also - I think you'll need an entry in MAINTAINERS. > > Right, that one too. > > > I can't see any reference to the selection controls: > > - V4L2_SEL_TGT_CROP_DEFAULT > > - V4L2_SEL_TGT_CROP > > - V4L2_SEL_TGT_CROP_BOUNDS > > These are in a very early phase of implementing. Ok > > Do you have the datasheet or sufficient information to be able to implement > > these controls? > > Of course not. We are brute forcing our way forward by mostly reverse > engineering another solution that has an FPGA on the other end of the CSI link. Understood ;-) (and ... I think what I was fearing/anticipating). -- Kieran > > -- > > Kieran > > > > > .../bindings/media/i2c/sony,imx492.yaml | 101 ++ > > > drivers/media/i2c/Kconfig | 14 + > > > drivers/media/i2c/Makefile | 1 + > > > drivers/media/i2c/imx492.c | 1092 +++++++++++++++++ > > > drivers/media/i2c/imx492.h | 555 +++++++++ > > > 5 files changed, 1763 insertions(+) > > > create mode 100644 Documentation/devicetree/bindings/media/i2c/sony,imx492.yaml > > > create mode 100644 drivers/media/i2c/imx492.c > > > create mode 100644 drivers/media/i2c/imx492.h > > > > > > -- > > > 2.30.2 > > > > > > Petko
On Mon, Nov 28, 2022 at 01:38:12PM +0000, Kieran Bingham wrote: > Quoting Petko Manolov (2022-11-28 13:11:39) > > On 22-11-28 12:45:32, Kieran Bingham wrote: > > > Hi Petko, > > > > > > What device/ISP are you testing this sensor on? > > > > I'll tell you, but only if you promise to not laugh too much. Deal? > > > > i.MX8M-Mini > > > > I hope nobody will notice the above line... > > I won't laugh at all. We've just merged the ISI pipeline handler for > libcamera, which should let you use libcamera on this target (I think). The i.MX8MM doesn't have an ISI. The i.MX8MN does, but with a single pipeline, so it won't work out of the box with libcamera, but it should be easy to support it. The i.MX8MM has a CSI bridge (CSI stands for CMOS Sensor Interface there, it's a DMA engine, not to be confused with the CSI-2 receiver) which should work with the simple pipeline handler. > I would hope sometime in the future you'd be able to use the ISI > pipeline handler with a GPU based ISP with this sensor too. > > How are you managing the image 3a? the imx492 is a raw sensor isn't it ? > > > > Quoting Petko Manolov (2022-11-25 15:31:15) > > > > This patch adds dt-bindings documentation, driver source, etc for Sony imx492 > > > > image sensor. > > > > > > > > imx492 is a diagonal 23.1 mm (Type 1.4) CMOS image sensor with color or > > > > monochrome square pixel array and approximately 47.08 M effective pixels. 12-bit > > > > digital output makes it possible to output the signals with high definition for > > > > moving pictures. It is programmable through I2C interface. The I2C client > > > > address can be either 0x10 or 0x1a depending on SLASEL pin. Image data is sent > > > > through MIPI CSI-2. > > > > > > > > Petko Manolov (5): > > > > DT bindings for imx492 > > > > media: i2c: imx492: driver's header > > > > media: i2c: imx492: driver's source > > > > media: i2c: add imx492 config entry > > > > media: i2c: add imx492 entry for make > > > > > > Could you squash patches 2, 3, 4, and 5 into a single patch please? > > > > This is the exact opposite to what the networking folks would prefer, but it's > > OK with me. > > Haha ... yes - isn't it great working in mulitple subsystems.... > > > > Also - I think you'll need an entry in MAINTAINERS. > > > > Right, that one too. > > > > > I can't see any reference to the selection controls: > > > - V4L2_SEL_TGT_CROP_DEFAULT > > > - V4L2_SEL_TGT_CROP > > > - V4L2_SEL_TGT_CROP_BOUNDS > > > > These are in a very early phase of implementing. > > Ok > > > > Do you have the datasheet or sufficient information to be able to implement > > > these controls? > > > > Of course not. We are brute forcing our way forward by mostly reverse > > engineering another solution that has an FPGA on the other end of the CSI link. > > Understood ;-) (and ... I think what I was fearing/anticipating). > > > > > .../bindings/media/i2c/sony,imx492.yaml | 101 ++ > > > > drivers/media/i2c/Kconfig | 14 + > > > > drivers/media/i2c/Makefile | 1 + > > > > drivers/media/i2c/imx492.c | 1092 +++++++++++++++++ > > > > drivers/media/i2c/imx492.h | 555 +++++++++ > > > > 5 files changed, 1763 insertions(+) > > > > create mode 100644 Documentation/devicetree/bindings/media/i2c/sony,imx492.yaml > > > > create mode 100644 drivers/media/i2c/imx492.c > > > > create mode 100644 drivers/media/i2c/imx492.h
On 22-11-28 13:38:12, Kieran Bingham wrote: > Quoting Petko Manolov (2022-11-28 13:11:39) > > On 22-11-28 12:45:32, Kieran Bingham wrote: > > > Hi Petko, > > > > > > What device/ISP are you testing this sensor on? > > > > I'll tell you, but only if you promise to not laugh too much. Deal? > > > > i.MX8M-Mini > > > > I hope nobody will notice the above line... > > I won't laugh at all. We've just merged the ISI pipeline handler for > libcamera, which should let you use libcamera on this target (I think). I think i saw your patch in the ML. > I would hope sometime in the future you'd be able to use the ISI pipeline > handler with a GPU based ISP with this sensor too. Both of the above are present in i.MX8M-Plus, not the Mini. > How are you managing the image 3a? the imx492 is a raw sensor isn't it ? Not sure what you mean by "image 3a" and yes, it's a raw sensor. > > > Quoting Petko Manolov (2022-11-25 15:31:15) > > > > This patch adds dt-bindings documentation, driver source, etc for Sony imx492 > > > > image sensor. > > > > > > > > imx492 is a diagonal 23.1 mm (Type 1.4) CMOS image sensor with color or > > > > monochrome square pixel array and approximately 47.08 M effective pixels. 12-bit > > > > digital output makes it possible to output the signals with high definition for > > > > moving pictures. It is programmable through I2C interface. The I2C client > > > > address can be either 0x10 or 0x1a depending on SLASEL pin. Image data is sent > > > > through MIPI CSI-2. > > > > > > > > Petko Manolov (5): > > > > DT bindings for imx492 > > > > media: i2c: imx492: driver's header > > > > media: i2c: imx492: driver's source > > > > media: i2c: add imx492 config entry > > > > media: i2c: add imx492 entry for make > > > > > > Could you squash patches 2, 3, 4, and 5 into a single patch please? > > > > This is the exact opposite to what the networking folks would prefer, but it's > > OK with me. > > Haha ... yes - isn't it great working in mulitple subsystems.... Yeah, easy to get confused... :) > > > Also - I think you'll need an entry in MAINTAINERS. > > > > Right, that one too. > > > > > I can't see any reference to the selection controls: > > > - V4L2_SEL_TGT_CROP_DEFAULT > > > - V4L2_SEL_TGT_CROP > > > - V4L2_SEL_TGT_CROP_BOUNDS > > > > These are in a very early phase of implementing. > > Ok > > > > Do you have the datasheet or sufficient information to be able to implement > > > these controls? > > > > Of course not. We are brute forcing our way forward by mostly reverse > > engineering another solution that has an FPGA on the other end of the CSI link. > > Understood ;-) (and ... I think what I was fearing/anticipating). I would have been too easy otherwise. Petko
Quoting Petko Manolov (2022-11-28 14:07:22) > On 22-11-28 13:38:12, Kieran Bingham wrote: > > Quoting Petko Manolov (2022-11-28 13:11:39) > > > On 22-11-28 12:45:32, Kieran Bingham wrote: > > > > Hi Petko, > > > > > > > > What device/ISP are you testing this sensor on? > > > > > > I'll tell you, but only if you promise to not laugh too much. Deal? > > > > > > i.MX8M-Mini > > > > > > I hope nobody will notice the above line... > > > > I won't laugh at all. We've just merged the ISI pipeline handler for > > libcamera, which should let you use libcamera on this target (I think). > > I think i saw your patch in the ML. > > > I would hope sometime in the future you'd be able to use the ISI pipeline > > handler with a GPU based ISP with this sensor too. > > Both of the above are present in i.MX8M-Plus, not the Mini. > > > How are you managing the image 3a? the imx492 is a raw sensor isn't it ? > > Not sure what you mean by "image 3a" and yes, it's a raw sensor. I meant how are you handling "Auto-exposure" "Auto-gain" "Auto-whitebalance" (known as 3a). There's more than that of course, but those are the basics that are expected to be able to get a 'usable' image. Unless of course you're doing everything with manual controls ... which is the alternative for a fixed/known lighting environment. But without an ISP on the device anyway, perhaps there's already more going on elsewhere? -- Kieran. > > > > Quoting Petko Manolov (2022-11-25 15:31:15) > > > > > This patch adds dt-bindings documentation, driver source, etc for Sony imx492 > > > > > image sensor. > > > > > > > > > > imx492 is a diagonal 23.1 mm (Type 1.4) CMOS image sensor with color or > > > > > monochrome square pixel array and approximately 47.08 M effective pixels. 12-bit > > > > > digital output makes it possible to output the signals with high definition for > > > > > moving pictures. It is programmable through I2C interface. The I2C client > > > > > address can be either 0x10 or 0x1a depending on SLASEL pin. Image data is sent > > > > > through MIPI CSI-2. > > > > > > > > > > Petko Manolov (5): > > > > > DT bindings for imx492 > > > > > media: i2c: imx492: driver's header > > > > > media: i2c: imx492: driver's source > > > > > media: i2c: add imx492 config entry > > > > > media: i2c: add imx492 entry for make > > > > > > > > Could you squash patches 2, 3, 4, and 5 into a single patch please? > > > > > > This is the exact opposite to what the networking folks would prefer, but it's > > > OK with me. > > > > Haha ... yes - isn't it great working in mulitple subsystems.... > > Yeah, easy to get confused... :) > > > > > Also - I think you'll need an entry in MAINTAINERS. > > > > > > Right, that one too. > > > > > > > I can't see any reference to the selection controls: > > > > - V4L2_SEL_TGT_CROP_DEFAULT > > > > - V4L2_SEL_TGT_CROP > > > > - V4L2_SEL_TGT_CROP_BOUNDS > > > > > > These are in a very early phase of implementing. > > > > Ok > > > > > > Do you have the datasheet or sufficient information to be able to implement > > > > these controls? > > > > > > Of course not. We are brute forcing our way forward by mostly reverse > > > engineering another solution that has an FPGA on the other end of the CSI link. > > > > Understood ;-) (and ... I think what I was fearing/anticipating). > > I would have been too easy otherwise. > > > Petko