Skip to content

imx219 support for 4 CSI2 data lanes #6615

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jan 20, 2025

Conversation

6by9
Copy link
Contributor

@6by9 6by9 commented Jan 16, 2025

rpi-6.12.y version of #6580 and #6575

I happened to be on a 6.12 branch, and want to upstream this, hence targeting the more recent kernel. I'll backport to 6.6 in due course.

@peyton-howe are you happy with the contents? I'll be upstreaming the driver patch with your name in the Co-developed tags as per the commit text so you get the appropriate credit.

@peyton-howe
Copy link
Contributor

Looks good to me! I gave it a go on my pi and frame rates were spot on :)

@6by9
Copy link
Contributor Author

6by9 commented Jan 17, 2025

Thank you. I'll send it upstream and sort the downstream PRs on Monday.

6by9 and others added 2 commits January 20, 2025 10:46
Commit ceddfd4 ("media: i2c: imx219: Support four-lane operation")
added support for device tree to allow configuration of the sensor to
use 4 lanes with a link frequency of 363MHz, and amended the advertised
pixel rate to 280.8MPix/s.

However it didn't change any of the PLL settings, so actually it would
have been running effectively overclocked in the MIPI block, and with
the frame rate and exposure calculations being wrong.

The pixel rate and link frequency advertised were taken from the "Clock
Setting Example" section of the datasheet. However those are based on an
external clock of 12MHz, and are unachievable with a clock of 24MHz (it
seems PREPLLCLK_VT_DIV and PREPLLCK_OP_DIV can ONLY be set via the
automatic configuration doumented in "9-1-2 EXCK_FREQ setting depend on
INCK frequency).

Dropping all support for the 363MHz link frequency would cause problems
for existing users, so allow it from device tree, but log a warning that
the requested value is not being truly applied.

Fixes: ceddfd4 ("media: i2c: imx219: Support four-lane operation")
Co-developed-by: Peyton Howe <[email protected]>
Signed-off-by: Peyton Howe <[email protected]>
Signed-off-by: Dave Stevenson <[email protected]>
@6by9
Copy link
Contributor Author

6by9 commented Jan 20, 2025

Updated this PR for 6.12.
#6618 for the 6.6 version.

@pelwell pelwell merged commit 160c7db into raspberrypi:rpi-6.12.y Jan 20, 2025
11 of 12 checks passed
popcornmix added a commit to raspberrypi/firmware that referenced this pull request Jan 21, 2025
kernel: imx219 support for 4 CSI2 data lanes
See: raspberrypi/linux#6615

kernel: rpi-6.6.y - imx219 4 lane support
See: raspberrypi/linux#6618

kernel: dtoverlays: waveshare-panel: Disable new touch controller by default
See: raspberrypi/linux#6619
popcornmix added a commit to raspberrypi/rpi-firmware that referenced this pull request Jan 21, 2025
kernel: imx219 support for 4 CSI2 data lanes
See: raspberrypi/linux#6615

kernel: rpi-6.6.y - imx219 4 lane support
See: raspberrypi/linux#6618

kernel: dtoverlays: waveshare-panel: Disable new touch controller by default
See: raspberrypi/linux#6619
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants