Hello Raspberry Pi Kernel Maintainers,
Thank you for your excellent work on the Raspberry Pi camera ecosystem and device tree overlays.
On top of that we have developed a product that enables mounting Canon EF/EF-S lenses on Raspberry Pi cameras such as the HQ Camera (IMX477) and Arducam IMX708 (M12 variant). The solution enables native libcamera's autofocus on an externally mounted lens with precise focusing mechanism. The lens controller driver integrates into the libcamera stack, communicating with the lens hardware over the I²C bus.
Currently, to enable our lens driver, our installation script modifies existing sensor device tree overlays by:
Proposal
We propose introducing a modular, user-configurable mechanism for interchangeable lens drivers in Raspberry Pi camera device tree overlays. This would avoid hardcoding lens drivers inside sensor overlays and improve flexibility and maintainability.
Potential approaches include:
Thank you for considering this enhancement to the Raspberry Pi camera device tree and overlay system. We look forward to your feedback.
Thank you for your excellent work on the Raspberry Pi camera ecosystem and device tree overlays.
On top of that we have developed a product that enables mounting Canon EF/EF-S lenses on Raspberry Pi cameras such as the HQ Camera (IMX477) and Arducam IMX708 (M12 variant). The solution enables native libcamera's autofocus on an externally mounted lens with precise focusing mechanism. The lens controller driver integrates into the libcamera stack, communicating with the lens hardware over the I²C bus.
Currently, to enable our lens driver, our installation script modifies existing sensor device tree overlays by:
- Injecting a VCM node into the IMX477 overlay (which originally lacks one).
Replacing the default VCM node in the IMX708 overlay with our Canon-compatible driver.
Proposal
We propose introducing a modular, user-configurable mechanism for interchangeable lens drivers in Raspberry Pi camera device tree overlays. This would avoid hardcoding lens drivers inside sensor overlays and improve flexibility and maintainability.
Potential approaches include:
- Splitting lens drivers into separate overlays, allowing users to load sensor and lens overlays independently.
Supporting overlay parameters (e.g., lens_driver=pinefeat) to select lens drivers dynamically.
Defining a standardized device tree interface for lens controllers and their linkage to camera sensors.
- Easier support for third-party or custom lens drivers without patching upstream overlays.
Increased flexibility for users mixing various sensors and lenses, especially on cameras designed with external lens mounts (C-mount, M12).
Reduced maintenance overhead and risk of conflicts or breakage.
Thank you for considering this enhancement to the Raspberry Pi camera device tree and overlay system. We look forward to your feedback.
Statistics: Posted by pinefeat — Wed May 28, 2025 6:02 pm — Replies 2 — Views 170