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

media: ov08x40: Add support for 2/4 lanes support at 1500 Mbps #286

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

drhooray
Copy link

No description provided.

Two additional frequencies can be supported with 2 lanes for
the ov08x40 sensor

Signed-off-by: Jason Chen <jason.z.chen@intel.com>
Add support for 2/4 lanes with 1500 mbps in the supported modes.
Also Add a detecting function that check lanes from SSDB

Signed-off-by: Jason Chen <jason.z.chen@intel.com>
@DuaneKaufman
Copy link

My name is Duane Kaufman, and I have an HP Spectre x360 16" with (I believe) an ov80x40 sensor.

My C/Linux skills are probably not up to the task of making my camera work, but I am willing to try (certainly willing to test!)

My particular situation may be hampered by the fact that this laptop has an electro-mechanical shutter, which shows up as "wmi PNP0C14:04 00000080 00000000" using acpi_listen, and is toggled by the F2 key (which works under linux, I can see/hear the shutter open and close).

I filed a bug with libcamera ([Bug 237] IPU6 Camera with ov08x40 (OVTI08F4 sensor) HP Spectre 16" Meteor Lake doesn't work), and Laurent Pinchart there suggested I send a report to linux-media@vger.kernel.org (which I did)

The output of sudo ls -l /sys/bus/i2c/devices:
lrwxrwxrwx 1 root root 0 Oct 16 18:42 i2c-0 -> ../../../devices/pci0000:00/0000:00:1f.4/i2c-0
lrwxrwxrwx 1 root root 0 Oct 16 18:42 i2c-1 -> ../../../devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-1
lrwxrwxrwx 1 root root 0 Oct 16 18:42 i2c-10 -> ../../../devices/pci0000:00/0000:00:02.0/i2c-10
lrwxrwxrwx 1 root root 0 Oct 16 18:42 i2c-11 -> ../../../devices/pci0000:00/0000:00:02.0/i2c-11
lrwxrwxrwx 1 root root 0 Oct 16 18:42 i2c-12 -> ../../../devices/pci0000:00/0000:00:02.0/i2c-12
lrwxrwxrwx 1 root root 0 Oct 16 18:42 i2c-13 -> ../../../devices/pci0000:00/0000:00:02.0/i2c-13
lrwxrwxrwx 1 root root 0 Oct 16 18:42 i2c-14 -> ../../../devices/pci0000:00/0000:00:02.0/i2c-14
lrwxrwxrwx 1 root root 0 Oct 16 18:42 i2c-15 -> ../../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/i2c-15
lrwxrwxrwx 1 root root 0 Oct 16 18:42 i2c-16 -> ../../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-1/i2c-16
lrwxrwxrwx 1 root root 0 Oct 16 18:42 i2c-17 -> ../../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-2/i2c-17
lrwxrwxrwx 1 root root 0 Oct 16 18:42 i2c-18 -> ../../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-3/i2c-18
lrwxrwxrwx 1 root root 0 Oct 16 18:42 i2c-19 -> ../../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-4/i2c-19
lrwxrwxrwx 1 root root 0 Oct 16 18:42 i2c-2 -> ../../../devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2
lrwxrwxrwx 1 root root 0 Oct 16 19:19 i2c-20 -> ../../../devices/pci0000:00/0000:00:1c.0/0000:56:00.0/i2c-20
lrwxrwxrwx 1 root root 0 Oct 16 19:19 i2c-21 -> ../../../devices/pci0000:00/0000:00:1c.0/0000:56:00.0/i2c-21
lrwxrwxrwx 1 root root 0 Oct 16 18:42 i2c-3 -> ../../../devices/pci0000:00/0000:00:15.3/i2c_designware.2/i2c-3
lrwxrwxrwx 1 root root 0 Oct 16 18:42 i2c-4 -> ../../../devices/pci0000:00/0000:00:19.0/i2c_designware.3/i2c-4
lrwxrwxrwx 1 root root 0 Oct 16 18:42 i2c-5 -> ../../../devices/pci0000:00/0000:00:19.1/i2c_designware.4/i2c-5
lrwxrwxrwx 1 root root 0 Oct 16 18:42 i2c-6 -> ../../../devices/pci0000:00/0000:00:02.0/i2c-6
lrwxrwxrwx 1 root root 0 Oct 16 18:42 i2c-7 -> ../../../devices/pci0000:00/0000:00:02.0/i2c-7
lrwxrwxrwx 1 root root 0 Oct 16 18:42 i2c-8 -> ../../../devices/pci0000:00/0000:00:02.0/i2c-8
lrwxrwxrwx 1 root root 0 Oct 16 18:42 i2c-9 -> ../../../devices/pci0000:00/0000:00:02.0/i2c-9
lrwxrwxrwx 1 root root 0 Oct 16 18:42 i2c-CSC3551:00-cs35l41-hda.0 -> ../../../devices/pci0000:00/0000:00:19.1/i2c_designware.4/i2c-5/i2c-CSC3551:00-cs35l41-hda.0
lrwxrwxrwx 1 root root 0 Oct 16 18:42 i2c-CSC3551:00-cs35l41-hda.1 -> ../../../devices/pci0000:00/0000:00:19.1/i2c_designware.4/i2c-5/i2c-CSC3551:00-cs35l41-hda.1
lrwxrwxrwx 1 root root 0 Oct 16 18:42 i2c-ELAN07CE:00 -> ../../../devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-1/i2c-ELAN07CE:00
lrwxrwxrwx 1 root root 0 Oct 16 18:42 i2c-ELAN2513:00 -> ../../../devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-2/i2c-ELAN2513:00
lrwxrwxrwx 1 root root 0 Oct 16 19:19 i2c-OVTI00AB:00 -> ../../../devices/pci0000:00/0000:00:15.3/i2c_designware.2/i2c-3/i2c-OVTI00AB:00
lrwxrwxrwx 1 root root 0 Oct 16 18:42 i2c-OVTI08F4:00 -> ../../../devices/pci0000:00/0000:00:19.0/i2c_designware.3/i2c-4/i2c-OVTI08F4:00
lrwxrwxrwx 1 root root 0 Oct 16 19:19 i2c-TXNW3643:00 -> ../../../devices/pci0000:00/0000:00:15.3/i2c_designware.2/i2c-3/i2c-TXNW3643:00

Please let me know what testing or whatnot I can do.

Sincerely,
Duane

@drhooray
Copy link
Author

Hi Duane

I'm glad to see the sensor being used on a product that I hadn't heard of before.
I don't have enough hardware design details, so it may not solve your problem immediately, but I can take a look at it.

From your log, It appears that the OV08X is used for RGB sensor.
Could you share the kernel message with sudo dmesg?

Thanks

@DuaneKaufman
Copy link

DuaneKaufman commented Oct 26, 2024 via email

@paulmenzel
Copy link

@DuaneKaufman, thank you for providing the information. It’d be great if you could edit your comment, and mark up the text using Markdown, and for logs longer than 10 or 20 lines to attach them as files please.

@DuaneKaufman
Copy link

@DuaneKaufman, thank you for providing the information. It’d be great if you could edit your comment, and mark up the text using Markdown, and for logs longer than 10 or 20 lines to attach them as files please.

Sorry, I responded via E-mail, and apparently Markdown and attaching files are not supported.
My response is re-formulated below.

Dear Sir,

Thanks for getting back to me.

I have downloaded the Debian kernel source, and am running:
@.***:~/cameratest$ uname -a
Linux DuanesSpectre16 6.11.4-ipu6 #9 SMP PREEMPT_DYNAMIC Mon Oct 21 18:33:40 CDT 2024 x86_64 GNU/Linux

my dmesg is attached, as well as lsmod and cam --list

@.***:~/cameratest$ v4l2-ctl --all
Driver Info:
Driver name : isys
Card type : ipu6
Bus info :
Driver version : 6.11.4
Capabilities : 0xa4a00001
Video Capture
Metadata Capture
I/O MC
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x24a00001
Video Capture
Metadata Capture
I/O MC
Streaming
Extended Pix Format
Priority: 2
Video input : 0 (Intel IPU6 ISYS Capture 0: ok)
Format Video Capture:
Width/Height : 1920/1080
Pixel Format : 'BG12' (12-bit Bayer BGBG/GRGR)
Field : None
Bytes per Line : 3840
Size Image : 4151040
Colorspace : Raw
Transfer Function : Default (maps to None)
YCbCr/HSV Encoding: Default (maps to ITU-R 601)
Quantization : Default (maps to Full Range)
Flags :
Format Metadata Capture:
Sample Format : 'MET8' (8-bit Generic Metadata)
Buffer Size : 9600

I appreciate you taking a look at this.

Sincerely,
Duane
dmesg_6.11.4.txt
lsmod_6.11.4.txt
cam_--list_6.11.4.txt

@drhooray
Copy link
Author

Thanks for the log, Duane.

However, the dmesg output only includes data from 10 sec after boot.
I need the log starting from when the OS loads ( 0 ~8 sec)
Can you provide the kernel log again?

Thanks

@DuaneKaufman
Copy link

Thanks for the log, Duane.

However, the dmesg output only includes data from 10 sec after boot. I need the log starting from when the OS loads ( 0 ~8 sec) Can you provide the kernel log again?

Thanks

Odd. Sorry about that. dmesg log attached.
dmesg_6.11.4.txt

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