From: git@luigi311.com
To: linux-media@vger.kernel.org
Cc: dave.stevenson@raspberrypi.com, jacopo.mondi@ideasonboard.com,
mchehab@kernel.org, robh@kernel.org,
krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org,
shawnguo@kernel.org, s.hauer@pengutronix.de,
kernel@pengutronix.de, festevam@gmail.com,
sakari.ailus@linux.intel.com, devicetree@vger.kernel.org,
imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, pavel@ucw.cz,
phone-devel@vger.kernel.org, Luis Garcia <git@luigi311.com>
Subject: [PATCH v4 00/25] imx258 improvement series
Date: Sun, 14 Apr 2024 14:34:38 -0600 [thread overview]
Message-ID: <20240414203503.18402-1-git@luigi311.com> (raw)
From: Luis Garcia <git@luigi311.com>
v4:
- Swapped out the use macro patch for a patch that uses the new
CCI register access helpers per Sakari Ailus
- Fix order of reset and powerdown gpio before disable regulators
- Fix formating of all patches
- Implemented feedback from Pavel Machek
- media: i2c: imx258: Follow normal V4L2 behaviours
- media: i2c: imx258: Allow configuration of clock
- Implemented feedback from Sakari Ailus
- media: i2c: imx258: Add support for powerdown gpio
v3 Luis Garcia
- Add Use v4l2_link_freq_to_bitmap helper patch per Sakari Ailus
- Separate dt-bindings for powerdown per Rob Herring
- Fix dt-bindings for imx258.yaml
- Fix sign offs per Dang Huynh
- Fix versioning per Conor Dooley and Kieran Bingham
- Use scripts to validate and fix patches
- Implemented feedback from Sakari Ailus
- media: i2c: imx258: Add support for 24MHz clock
- media: i2c: imx258: Add support for running on 2 CSI data lanes
- Implemented feedback from Rob Herring
- dt-bindings: media: imx258: Add alternate compatible strings
v2 Luis Garcia
- Add use macros patch
- Add support for powerdown gpio patch
- Add support for reset gpio patch
- Dropped Add support for long exposure modes patch
- Implemented feedback from Jacopo Mondi
- media: i2c: imx258: Add regulator control
- media: i2c: imx258: Add support for 24MHz clock
- media: i2c: imx258: Add support for running on 2 CSI data lanes
- media: i2c: imx258: Add get_selection for pixel array information
- media: i2c: imx258: Issue reset before starting streaming
- media: i2c: imx258: Set pixel_rate range to the same as the value
- dt-bindings: media: imx258: Add alternate compatible strings
- media: i2c: imx258: Change register settings for variants of the sensor
- media: i2c: imx258: Make HFLIP and VFLIP controls writable
This adds a few more patches and drops one. The long exposure mode patch
was dropped due to the bug that Jacopo found. The powerdown and reset gpio
patches were added as that fixes support for the Pinephone Pro, without
them the sensor doesn't initialize correctly.
Tested on a Pinephone Pro by forcing 24 mhz clock and was able to access
all 3 resolutions. The two lower resolutions had some artifacts but that
is expected as more changes are required to fix them for the
Pinephone Pro specifically, kept all registers the same as Dave's original
patch since that works on dedicated imx258 hardware and the artifacts are
PPP specific so it shouldn't be a regression.
v1 Dave Stevenson
This is a set of patches for imx258 that allow it to work with alternate
clock frequencies, over either 2 or 4 lanes, and generally adding
flexibility to the driver.
Tested with an IMX258 module from Soho Enterprises that has a 24MHz
oscillator. Both 2 and 4 lane configurations work with correct link
frequencies and pixel rates.
Jacopo has tested on a PinePhone Pro which has an ~19.2MHz clock fed from
the SoC, He confirms that the two lower resolution modes work, but not the
full res mode. Comparing to the BSP it looks like they have some weird
clock configuration in the 4208x3120 mode (nominally 1224Mb/s/lane instead
of 1267). As it has never previously worked directly with the mainline
driver this isn't a regression but may indicate that there is a need for
support of additional link frequencies in the future.
The last patch that makes HFLIP and VFLIP configurable may be contentious
as I've retained the default configuration of inverted from the original
driver. I know this was discussed recently, but I can't recall the final
outcome.
I am relying on someone from Intel testing this out, as correcting the
cropping and supporting flips has changed the Bayer order. Seeing as this
is all above board in V4L2 terms I really hope that the layers above it
behave themselves.
Cheers
Dave
Dave Stevenson (20):
media: i2c: imx258: Remove unused defines
media: i2c: imx258: Make image geometry meet sensor requirements
media: i2c: imx258: Disable digital cropping on binned modes
media: i2c: imx258: Remove redundant I2C writes.
media: i2c: imx258: Add regulator control
media: i2c: imx258: Make V4L2_CID_VBLANK configurable.
media: i2c: imx258: Split out common registers from the mode based
ones
media: i2c: imx258: Add support for 24MHz clock
media: i2c: imx258: Add support for running on 2 CSI data lanes
media: i2c: imx258: Follow normal V4L2 behaviours for clipping
exposure
media: i2c: imx258: Add get_selection for pixel array information
media: i2c: imx258: Allow configuration of clock lane behaviour
media: i2c: imx258: Correct max FRM_LENGTH_LINES value
media: i2c: imx258: Issue reset before starting streaming
media: i2c: imx258: Set pixel_rate range to the same as the value
media: i2c: imx258: Support faster pixel rate on binned modes
dt-bindings: media: imx258: Rename to include vendor prefix
dt-bindings: media: imx258: Add alternate compatible strings
media: i2c: imx258: Change register settings for variants of the
sensor
media: i2c: imx258: Make HFLIP and VFLIP controls writable
Luis Garcia (5):
dt-bindings: media: imx258: Add binding for powerdown-gpio
media: i2c: imx258: Add support for powerdown gpio
media: i2c: imx258: Add support for reset gpio
media:i2c: imx258: Use v4l2_link_freq_to_bitmap helper
media: i2c: imx258: Convert to new CCI register access helpers
.../i2c/{imx258.yaml => sony,imx258.yaml} | 15 +-
MAINTAINERS | 2 +-
drivers/media/i2c/Kconfig | 1 +
drivers/media/i2c/imx258.c | 1439 ++++++++++-------
4 files changed, 848 insertions(+), 609 deletions(-)
rename Documentation/devicetree/bindings/media/i2c/{imx258.yaml => sony,imx258.yaml} (86%)
--
2.44.0
next reply other threads:[~2024-04-14 20:40 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-14 20:34 git [this message]
2024-04-14 20:34 ` [PATCH v4 01/25] media: i2c: imx258: Remove unused defines git
2024-04-14 20:34 ` [PATCH v4 02/25] media: i2c: imx258: Make image geometry meet sensor requirements git
2024-04-15 6:25 ` Alexander Stein
2024-04-15 16:38 ` Luis Garcia
2024-04-16 15:18 ` Dave Stevenson
2024-04-14 20:34 ` [PATCH v4 03/25] media: i2c: imx258: Disable digital cropping on binned modes git
2024-04-14 20:34 ` [PATCH v4 04/25] media: i2c: imx258: Remove redundant I2C writes git
2024-04-14 20:34 ` [PATCH v4 05/25] media: i2c: imx258: Add regulator control git
2024-04-14 20:34 ` [PATCH v4 06/25] media: i2c: imx258: Make V4L2_CID_VBLANK configurable git
2024-04-14 20:34 ` [PATCH v4 07/25] media: i2c: imx258: Split out common registers from the mode based ones git
2024-04-14 20:34 ` [PATCH v4 08/25] media: i2c: imx258: Add support for 24MHz clock git
2024-04-14 20:34 ` [PATCH v4 09/25] media: i2c: imx258: Add support for running on 2 CSI data lanes git
2024-04-14 20:34 ` [PATCH v4 10/25] media: i2c: imx258: Follow normal V4L2 behaviours for clipping exposure git
2024-04-14 20:34 ` [PATCH v4 11/25] media: i2c: imx258: Add get_selection for pixel array information git
2024-04-14 20:34 ` [PATCH v4 12/25] media: i2c: imx258: Allow configuration of clock lane behaviour git
2024-04-14 20:34 ` [PATCH v4 13/25] media: i2c: imx258: Correct max FRM_LENGTH_LINES value git
2024-04-14 20:34 ` [PATCH v4 14/25] media: i2c: imx258: Issue reset before starting streaming git
2024-04-14 20:34 ` [PATCH v4 15/25] media: i2c: imx258: Set pixel_rate range to the same as the value git
2024-04-14 20:34 ` [PATCH v4 16/25] media: i2c: imx258: Support faster pixel rate on binned modes git
2024-04-14 20:34 ` [PATCH v4 17/25] dt-bindings: media: imx258: Rename to include vendor prefix git
2024-04-14 20:34 ` [PATCH v4 18/25] dt-bindings: media: imx258: Add alternate compatible strings git
2024-04-14 20:34 ` [PATCH v4 19/25] media: i2c: imx258: Change register settings for variants of the sensor git
2024-04-14 20:34 ` [PATCH v4 20/25] media: i2c: imx258: Make HFLIP and VFLIP controls writable git
2024-04-14 20:34 ` [PATCH v4 21/25] dt-bindings: media: imx258: Add binding for powerdown-gpio git
2024-04-14 20:35 ` [PATCH v4 22/25] media: i2c: imx258: Add support for powerdown gpio git
2024-04-14 20:35 ` [PATCH v4 23/25] media: i2c: imx258: Add support for reset gpio git
2024-04-15 16:00 ` Tommaso Merciai
2024-04-15 16:25 ` Luis Garcia
2024-04-14 20:35 ` [PATCH v4 24/25] media:i2c: imx258: Use v4l2_link_freq_to_bitmap helper git
2024-04-15 15:18 ` Tommaso Merciai
2024-04-15 16:27 ` Luis Garcia
2024-04-15 16:32 ` Tommaso Merciai
2024-04-14 20:35 ` [PATCH v4 25/25] media: i2c: imx258: Convert to new CCI register access helpers git
2024-04-15 14:47 ` Tommaso Merciai
2024-04-15 15:29 ` Luis Garcia
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=20240414203503.18402-1-git@luigi311.com \
--to=git@luigi311.com \
--cc=conor+dt@kernel.org \
--cc=dave.stevenson@raspberrypi.com \
--cc=devicetree@vger.kernel.org \
--cc=festevam@gmail.com \
--cc=imx@lists.linux.dev \
--cc=jacopo.mondi@ideasonboard.com \
--cc=kernel@pengutronix.de \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=pavel@ucw.cz \
--cc=phone-devel@vger.kernel.org \
--cc=robh@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=sakari.ailus@linux.intel.com \
--cc=shawnguo@kernel.org \
/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;
as well as URLs for NNTP newsgroup(s).