forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 126
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
arm64: dts: qcom: msm8916-longcheer-l8910: add rear camera support #366
Open
a-andre
wants to merge
15
commits into
msm8916-mainline:wip/msm8916/6.13-rc2
Choose a base branch
from
a-andre:bqx5_cam_rear
base: wip/msm8916/6.13-rc2
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
arm64: dts: qcom: msm8916-longcheer-l8910: add rear camera support #366
a-andre
wants to merge
15
commits into
msm8916-mainline:wip/msm8916/6.13-rc2
from
a-andre:bqx5_cam_rear
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
a-andre
force-pushed
the
bqx5_cam_rear
branch
5 times, most recently
from
August 28, 2024 20:52
389c263
to
d897b4c
Compare
a-andre
changed the base branch from
wip/msm8916/6.11-rc3
to
wip/msm8916/6.11-rc5
August 28, 2024 20:53
TravMurav
reviewed
Aug 29, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Amazing work! Are you planning to send these changes upstream?
a-andre
force-pushed
the
bqx5_cam_rear
branch
from
October 20, 2024 22:22
6d1daff
to
5a1a87c
Compare
a-andre
changed the base branch from
wip/msm8916/6.11-rc5
to
wip/msm8916/6.12-rc3
October 20, 2024 22:23
a-andre
force-pushed
the
bqx5_cam_rear
branch
from
October 21, 2024 20:34
5a1a87c
to
f48a84e
Compare
Port the imx214 sensor driver to use the subdev active state. Move all the format configuration to the subdevice state and simplify the format handling, locking and initialization. While at it, simplify imx214_start_streaming() by removing unneeded goto statements and the corresponding error label. Signed-off-by: André Apitzsch <git@apitzsch.eu>
Error handling in probe() can be a bit simpler with dev_err_probe(). Acked-by: Ricardo Ribalda <ribalda@chromium.org> Signed-off-by: André Apitzsch <git@apitzsch.eu>
Use the new common CCI register access helpers to replace the private register access helpers in the imx214 driver. This simplifies the driver by reducing the amount of code. Acked-by: Ricardo Ribalda <ribalda@chromium.org> Signed-off-by: André Apitzsch <git@apitzsch.eu>
Define macros for all the known registers used in the register arrays, and use them to replace the numerical addresses. This improves readability. Acked-by: Ricardo Ribalda <ribalda@chromium.org> Signed-off-by: André Apitzsch <git@apitzsch.eu>
The IMX214_REG_EXPOSURE is configured twice, once with a hardcoded value in the mode_<res> registers arrays, and once via v4l2_ctrl_ops. The latter is enough, drop the former. Acked-by: Ricardo Ribalda <ribalda@chromium.org> Signed-off-by: André Apitzsch <git@apitzsch.eu>
The imx214 camera is capable of either two-lane or four-lane operation. Currently only the four-lane mode is supported, as proper pixel rates and link frequences for the two-lane mode are unknown. Acked-by: Ricardo Ribalda <ribalda@chromium.org> Signed-off-by: André Apitzsch <git@apitzsch.eu>
Add vblank control to allow changing the framerate / higher exposure values. The vblank and hblank controls are needed for libcamera support. While at it, fix the minimal exposure time according to the datasheet. Signed-off-by: André Apitzsch <git@apitzsch.eu>
The imx214 sensor supports horizontal and vertical flipping. Add appropriate controls to the driver. Acked-by: Ricardo Ribalda <ribalda@chromium.org> Signed-off-by: André Apitzsch <git@apitzsch.eu>
The imx214 sensor supports analogue gain up to 8x and digital gain up to 16x. Implement the corresponding controls in the driver. Default gain values are not modified by this patch. Acked-by: Ricardo Ribalda <ribalda@chromium.org> Signed-off-by: André Apitzsch <git@apitzsch.eu>
Check the chip ID and stop probing if it is no imx214 sensor. Acked-by: Ricardo Ribalda <ribalda@chromium.org> Signed-off-by: André Apitzsch <git@apitzsch.eu>
This adds V4L2_CID_TEST_PATTERN control support. Acked-by: Ricardo Ribalda <ribalda@chromium.org> Signed-off-by: André Apitzsch <git@apitzsch.eu>
The driver should disable or unprepare the clock on probe error and on removing the module. Remove regulator_bulk_disable(), because it is called by imx214_power_off(). Signed-off-by: André Apitzsch <git@apitzsch.eu>
The driver defines IMX214_DEFAULT_LINK_FREQ 480000000, and then IMX214_DEFAULT_PIXEL_RATE ((IMX214_DEFAULT_LINK_FREQ * 8LL) / 10), which works out as 384MPix/s. (The 8 is 4 lanes and DDR.) Parsing the PLL registers with the defined 24MHz input. We're in single PLL mode, so MIPI frequency is directly linked to pixel rate. VTCK ends up being 1200MHz, and VTPXCK and OPPXCK both are 120MHz. Section 5.3 "Frame rate calculation formula" says "Pixel rate [pixels/s] = VTPXCK [MHz] * 4", so 120 * 4 = 480MPix/s, which basically agrees with my number above. 3.1.4. MIPI global timing setting says "Output bitrate = OPPXCK * reg 0x113[7:0]", so 120MHz * 10, or 1200Mbit/s. That would be a link frequency of 600MHz due to DDR. That also matches to 480MPix/s * 10bpp / 4 lanes / 2 for DDR. Keep the previous link frequency for backward compatibility. Acked-by: Ricardo Ribalda <ribalda@chromium.org> Signed-off-by: André Apitzsch <git@apitzsch.eu>
Add rear camera support, using imx214 sensor. Signed-off-by: André Apitzsch <git@apitzsch.eu>
CONFIG_CMA_SIZE_MBYTES=256 CONFIG_VIDEO_IMX214=m Signed-off-by: André Apitzsch <git@apitzsch.eu>
a-andre
force-pushed
the
bqx5_cam_rear
branch
from
December 16, 2024 21:31
f48a84e
to
6a23680
Compare
a-andre
changed the base branch from
wip/msm8916/6.12-rc3
to
wip/msm8916/6.13-rc2
December 16, 2024 21:34
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The camera should work out of the box with snapshot. (It might be necessary to install
gst-plugins-good
andlibcamera-*
manually.)For megapixels the config file
~/.config/megapixels/config/longcheer,l8910.ini
needs to be created:1920
and1080
can also be replaced4096
and2304
, respectively.