[PATCH v6 00/23] imx258 improvement series

Luis Garcia git at luigi311.com
Mon Jun 3 00:07:14 PDT 2024


On 6/2/24 14:13, git at luigi311.com wrote:
> From: Luis Garcia <git at luigi311.com>
> 
> v6:
>   - Drop powerdown-gpio patches
>     - per Sakari Ailus request as it is not part or 
>       not used by the sensor
>     - I tested without it and PPP still works
>     - Dave mentioned its not part of the datasheet 
>       for the imx258
>     - Ondrej Jirman also tested it and it doesnt seem
>       to be needed
> 
> 
> v5:
>   - Changed ownership of a few patches to Ondrej Jirman
>   - Implement feedback from Tommy Merciai
>     - 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
> 
> 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. 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.
> 
> 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 (2):
>   media: i2c: imx258: Use v4l2_link_freq_to_bitmap helper
>   media: i2c: imx258: Convert to new CCI register access helpers
> 
> Ondrej Jirman (1):
>   media: i2c: imx258: Add support for reset gpio
> 
>  .../i2c/{imx258.yaml => sony,imx258.yaml}     |   11 +-
>  MAINTAINERS                                   |    2 +-
>  drivers/media/i2c/Kconfig                     |    1 +
>  drivers/media/i2c/imx258.c                    | 1440 ++++++++++-------
>  4 files changed, 835 insertions(+), 619 deletions(-)
>  rename Documentation/devicetree/bindings/media/i2c/{imx258.yaml => sony,imx258.yaml} (88%)
> 

Looks like Sakari has took it forward while i was gone so v6 isnt needed anymore
since they implemented the changes on their side 
https://lore.kernel.org/all/ZleJV5YSl92-13CT@valkosipuli.retiisi.eu/



More information about the linux-arm-kernel mailing list