Linux Media Controller development
 help / color / mirror / Atom feed
From: Dave Stevenson <dave.stevenson@raspberrypi.com>
To: Tianshu Qiu <tian.shu.qiu@intel.com>,
	 Sakari Ailus <sakari.ailus@linux.intel.com>,
	 Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org,
	 David Heidelberg <david@ixit.cz>,
	 20260414-imx355-24mhz-v1-1-9ae77bc6e7ec@ixit.cz,
	 Dave Stevenson <dave.stevenson@raspberrypi.com>
Subject: [PATCH 00/13] media/imx355: General code cleanups, and adding support for 2 lane operation
Date: Wed, 06 May 2026 19:23:38 +0100	[thread overview]
Message-ID: <20260506-media-imx355-v1-0-660685030455@raspberrypi.com> (raw)

This series came about as we had a customer ask about using imx355,
so I had a look at what was going on.

There was significant duplication between the various mode register lists,
unused parameters around, and no support for advertising the crop
rectangles through get_selection. It also wasn't using V4L2_CCI so
had all the boilerplate for writing registers.
The customer also wanted to run the sensor over only 2 CSI2 data lanes
which required some rework of the clock setup so that the MIPI link
frequency could be run at 445MHz instead of the 360MHz used for 4 lane
mode.

The first 11 patches are cleanups which should be fairly uncontroversial.
Patch 12 converts to use V4L2_CCI.
Finally patch 13 adds 2 lane support.

The series is based on sailus/next, with David Heidelberg's patch for
24MHz clock support added as that also suited my module.
(Linked in the dependencies).

---
Dave Stevenson (13):
      media: imx355: Remove duplicated registers from the mode tables
      media: imx355: Remove setting FRM_LENGTH_LINES in the mode regs
      media: imx355: Programmatically set the crop parameters for each mode
      media: imx355: Remove the duplication between width/height and x/y_out_size
      media: imx355: Set register LINE_LENGTH_PCK programmatically
      media: imx355: Set binning mode registers programmatically
      media: imx355: Remove link_freq_index from each mode as ununsed
      media: imx355: pixel_rate never changes, so don't recompute
      media: imx355: Remove redundant fll_min, and implement fixed offset
      media: imx355: Add support for get_selection
      media: imx355: Use pm_runtime autosuspend_delay
      media: imx355: Convert to new CCI register access helpers
      media: imx355: Support 2 lane readout.

 drivers/media/i2c/Kconfig  |    1 +
 drivers/media/i2c/imx355.c | 1317 ++++++++++++++------------------------------
 2 files changed, 428 insertions(+), 890 deletions(-)
---
base-commit: 254f49634ee16a731174d2ae34bc50bd5f45e731
change-id: 20260506-media-imx355-a30f5be3deda
prerequisite-message-id: <20260414-imx355-24mhz-v1-1-9ae77bc6e7ec@ixit.cz>
prerequisite-patch-id: dd4b6c74431239b3fc0f609dda439d1812a7b01e

Best regards,
-- 
Dave Stevenson <dave.stevenson@raspberrypi.com>


             reply	other threads:[~2026-05-06 18:23 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-06 18:23 Dave Stevenson [this message]
2026-05-06 18:23 ` [PATCH 01/13] media: imx355: Remove duplicated registers from the mode tables Dave Stevenson
2026-05-07 13:41   ` Jacopo Mondi
2026-05-06 18:23 ` [PATCH 02/13] media: imx355: Remove setting FRM_LENGTH_LINES in the mode regs Dave Stevenson
2026-05-07 13:50   ` Jacopo Mondi
2026-05-06 18:23 ` [PATCH 03/13] media: imx355: Programmatically set the crop parameters for each mode Dave Stevenson
2026-05-07 14:00   ` Jacopo Mondi
2026-05-07 16:01     ` Dave Stevenson
2026-05-06 18:23 ` [PATCH 04/13] media: imx355: Remove the duplication between width/height and x/y_out_size Dave Stevenson
2026-05-06 18:23 ` [PATCH 05/13] media: imx355: Set register LINE_LENGTH_PCK programmatically Dave Stevenson
2026-05-07 14:09   ` Jacopo Mondi
2026-05-07 15:18     ` Dave Stevenson
2026-05-06 18:23 ` [PATCH 06/13] media: imx355: Set binning mode registers programmatically Dave Stevenson
2026-05-07 14:12   ` Jacopo Mondi
2026-05-06 18:23 ` [PATCH 07/13] media: imx355: Remove link_freq_index from each mode as ununsed Dave Stevenson
2026-05-07 14:12   ` Jacopo Mondi
2026-05-06 18:23 ` [PATCH 08/13] media: imx355: pixel_rate never changes, so don't recompute Dave Stevenson
2026-05-07 14:13   ` Jacopo Mondi
2026-05-06 18:23 ` [PATCH 09/13] media: imx355: Remove redundant fll_min, and implement fixed offset Dave Stevenson
2026-05-07 14:29   ` Jacopo Mondi
2026-05-07 15:21     ` Dave Stevenson
2026-05-06 18:23 ` [PATCH 10/13] media: imx355: Add support for get_selection Dave Stevenson
2026-05-07 14:42   ` Jacopo Mondi
2026-05-07 15:02     ` Dave Stevenson
2026-05-06 18:23 ` [PATCH 11/13] media: imx355: Use pm_runtime autosuspend_delay Dave Stevenson
2026-05-07 14:43   ` Jacopo Mondi
2026-05-06 18:23 ` [PATCH 12/13] media: imx355: Convert to new CCI register access helpers Dave Stevenson
2026-05-07 14:49   ` Jacopo Mondi
2026-05-06 18:23 ` [PATCH 13/13] media: imx355: Support 2 lane readout Dave Stevenson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260506-media-imx355-v1-0-660685030455@raspberrypi.com \
    --to=dave.stevenson@raspberrypi.com \
    --cc=20260414-imx355-24mhz-v1-1-9ae77bc6e7ec@ixit.cz \
    --cc=david@ixit.cz \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=sakari.ailus@linux.intel.com \
    --cc=tian.shu.qiu@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox