Skip to content
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
wants to merge 16 commits into
base: wip/msm8916/6.11-rc5
Choose a base branch
from

Conversation

a-andre
Copy link

@a-andre a-andre commented Aug 26, 2024

The camera should work out of the box with snapshot.

For megapixels the config file ~/.config/megapixels/config/longcheer,l8910.ini needs to be created:

[device]
make=BQ
model=X5

[rear]
driver=imx214
media-driver=qcom-camss
capture-width=1920
capture-height=1080
capture-rate=30
capture-fmt=RGGB10P
preview-width=1920
preview-height=1080
preview-rate=30
preview-fmt=RGGB10P
rotate=0
media-links=imx214:0->msm_csiphy0:0,msm_csiphy0:1->msm_csid0:0,msm_csid0:1->msm_ispif0:0,msm_ispif0:1->msm_vfe0_rdi0:0
mirrored=false

1920 and 1080 can also be replaced 4096 and 2304, respectively.

@a-andre a-andre force-pushed the bqx5_cam_rear branch 5 times, most recently from 389c263 to d897b4c Compare August 28, 2024 20:52
André Apitzsch added 14 commits August 28, 2024 22:52
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.

Signed-off-by: André Apitzsch <[email protected]>
Simplify the imx214_start_streaming() by removing unneeded goto
statements, and the corresponding error label.

Signed-off-by: André Apitzsch <[email protected]>
Error handling in probe() can be a bit simpler with dev_err_probe().

Signed-off-by: André Apitzsch <[email protected]>
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.

Signed-off-by: André Apitzsch <[email protected]>
Define macros for all the known registers used in the register arrays,
and use them to replace the numerical addresses. This improves
readability.

Signed-off-by: André Apitzsch <[email protected]>
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.

Signed-off-by: André Apitzsch <[email protected]>
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.

Signed-off-by: André Apitzsch <[email protected]>
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 <[email protected]>
Remove format and crop settings from register sequences and set them
programmatically.

Signed-off-by: André Apitzsch <[email protected]>
The imx214 sensor supports horizontal and vertical flipping. Add
appropriate controls to the driver.

Signed-off-by: André Apitzsch <[email protected]>
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.

Signed-off-by: André Apitzsch <[email protected]>
Check the chip ID and stop probing if it is no imx214 sensor.

Signed-off-by: André Apitzsch <[email protected]>
This adds V4L2_CID_TEST_PATTERN control support.

Signed-off-by: André Apitzsch <[email protected]>
@a-andre a-andre changed the base branch from wip/msm8916/6.11-rc3 to wip/msm8916/6.11-rc5 August 28, 2024 20:53
@a-andre a-andre marked this pull request as ready for review August 28, 2024 20:53
Copy link
Member

@TravMurav TravMurav left a 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?

arch/arm64/boot/dts/qcom/msm8916-longcheer-l8910.dts Outdated Show resolved Hide resolved
André Apitzsch added 2 commits August 29, 2024 21:52
Add rear camera support, using imx214 sensor.

Signed-off-by: André Apitzsch <[email protected]>
CONFIG_CMA_SIZE_MBYTES=256
CONFIG_VIDEO_IMX214=m

Signed-off-by: André Apitzsch <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants