Skip to content

media: i2c: add Arducam Pivariety camera support - #14

Open
ereennk wants to merge 1 commit into
t3gemstone:v6.12.24-ti-arm64-r43-t3-gem-o1from
ereennk:feature/arducam-pivariety-gemstone
Open

media: i2c: add Arducam Pivariety camera support#14
ereennk wants to merge 1 commit into
t3gemstone:v6.12.24-ti-arm64-r43-t3-gem-o1from
ereennk:feature/arducam-pivariety-gemstone

Conversation

@ereennk

@ereennk ereennk commented Aug 4, 2026

Copy link
Copy Markdown

Summary

Add Arducam Pivariety camera support to the T3 Gemstone O1 Linux kernel tree.

This change:

  • Adds the Arducam Pivariety V4L2 sensor driver.
  • Adds the corresponding media I2C Kconfig and Makefile integration.
  • Adds a CSI0/J11 Device Tree overlay for the Arducam Pivariety IMX230 camera module.
  • Adds the overlay to the K3 Device Tree build.
  • Enables Device Tree symbol generation for the overlay.

The existing IMX219 driver and overlay are not modified.

Tested hardware

  • Board: T3 Gemstone O1
  • Camera: Arducam B0324 / Pivariety IMX230, UC-788 Rev.B
  • Interface: CSI0/J11
  • CSI configuration: 2-lane MIPI CSI-2
  • Kernel: 6.12.24-ti
  • Resolution: 1920x1080

Validated format

The final validated capture configuration is:

  • Media bus format: SRGGB10_1X10
  • V4L2 pixel format: RG10
  • Resolution: 1920x1080
  • Horizontal flip: disabled
  • Vertical flip: disabled

The companion userspace ISP pipeline uses rggb10.

Validation

Validated on T3 Gemstone O1 hardware:

  • Driver module loading: PASS
  • Sensor registration in the media graph: PASS
  • V4L2 sub-device creation: PASS
  • Video node creation: PASS
  • 1920x1080 RAW10 capture: PASS
  • Continuous streaming: PASS
  • Exposure control: PASS
  • Analogue gain control: PASS
  • Focus control: PASS

The Device Tree overlay was rebuilt from the final PR source.

Generated DTBO SHA256:

e354090cab39bddf5c91e43ba4b66f59d242e0d1df2a6dbd759459b2711a7e78

This is byte-for-byte identical to the DTBO used during the validated
hardware configuration.

Driver provenance

The Pivariety driver implementation is adapted from the Arducam
Pivariety V4L2 driver project:

https://github.com/ArduCAM/Arducam-Pivariety-V4L2-Driver

Repository snapshot inspected:

7d49aa22558254cd415ef5bbca458a39ad130dce

The upstream src/arducam.c content was last modified in:

59157aae2f3dc4e6e3b1f312cafd36b43edbc13e

The upstream src/arducam.h content was last modified in:

310f317fb4deaac2601c17e59db99dbaaf49e253

The implementation in this PR is not a verbatim copy of those files.
It is adapted for the T3 Gemstone O1 Linux 6.12.24-ti kernel tree.

Original copyright and attribution information is preserved in the
driver source.

Companion components

This PR contains only the Linux kernel and Device Tree integration.

The complete IMX230 integration also consists of:

The edgeai-tiovx-modules PR is maintained as a companion review PR
against the corresponding GitHub source base.

Generated artifacts

Generated build artifacts are intentionally not included in this PR.

This PR does not track generated:

  • .ko
  • .dtbo
  • .o
  • .bin
  • .so
  • RAW captures
  • image captures

These artifacts are expected to be generated from source during build
and installation.

Scope

This pull request is intentionally limited to:

  • Arducam Pivariety V4L2 driver integration
  • T3 Gemstone O1 CSI0/J11 Device Tree integration
  • Kernel build-system integration

ISP tuning, DCC generation and userspace camera tooling are maintained
in the companion components listed above.

Add the Arducam Pivariety V4L2 sensor driver and integrate it with the
media I2C Kconfig and Makefile.

Add a T3 Gemstone O1 CSI0 Device Tree overlay for the Arducam Pivariety
IMX230 camera module and include it in the K3 overlay build.

Enable Device Tree symbol generation so the Kbuild output matches the
validated runtime overlay.

The Pivariety driver implementation is adapted from:
https://github.com/ArduCAM/Arducam-Pivariety-V4L2-Driver

Reference upstream repository snapshot:
7d49aa22558254cd415ef5bbca458a39ad130dce

The upstream src/arducam.c content was last changed in:
59157aae2f3dc4e6e3b1f312cafd36b43edbc13e

The implementation in this change is adapted for the T3 Gemstone O1
Linux 6.12.24-ti kernel tree.

Signed-off-by: Eren Koçak <eren.kocak.9287@gmail.com>
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.

1 participant