Add the Device Tree schema and examples for the Pinefeat cef168 lens
control board. This board interfaces Canon EF & EF-S lenses with
non-Canon camera bodies, enabling electronic control of focus and
aperture via V4L2.
Power supply is derived from fixed supplies via connector or GPIO
header. Therefore, the driver does not manage any regulator, so
representing any supply in the binding is redundant.
Signed-off-by: Aliaksandr Smirnou <support@pinefeat.co.uk>
---
.../bindings/media/i2c/pinefeat,cef168.yaml | 48 +++++++++++++++++++
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
MAINTAINERS | 6 +++
3 files changed, 56 insertions(+)
create mode 100644 Documentation/devicetree/bindings/media/i2c/pinefeat,cef168.yaml
diff --git a/Documentation/devicetree/bindings/media/i2c/pinefeat,cef168.yaml b/Documentation/devicetree/bindings/media/i2c/pinefeat,cef168.yaml
new file mode 100644
index 000000000000..80cdff40d175
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/i2c/pinefeat,cef168.yaml
@@ -0,0 +1,48 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+# Copyright (c) 2025 Pinefeat LLP
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/i2c/pinefeat,cef168.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Pinefeat cef168 lens driver
+
+maintainers:
+ - Aliaksandr Smirnou <support@pinefeat.co.uk>
+
+description: |
+ Pinefeat produces an adapter designed to interface between
+ Canon EF & EF-S lenses and non-Canon camera bodies, incorporating
+ features for electronic focus and aperture adjustment. The cef168
+ circuit board, included with the adapter, provides a software
+ programming interface that allows control of lens focus and
+ aperture positions. This driver enables controlling the lens
+ focus and aperture via the V4L2 (Video4Linux2) API.
+
+properties:
+ compatible:
+ enum:
+ - pinefeat,cef168
+
+ reg:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+
+additionalProperties: false
+
+examples:
+ - |
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ camera-lens@d {
+ compatible = "pinefeat,cef168";
+ reg = <0x0d>;
+ };
+ };
+
+...
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index 77160cd47f54..dab27f769b0a 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -1195,6 +1195,8 @@ patternProperties:
description: Picochip Ltd
"^pine64,.*":
description: Pine64
+ "^pinefeat,.*":
+ description: Pinefeat LLP
"^pineriver,.*":
description: Shenzhen PineRiver Designs Co., Ltd.
"^pixcir,.*":
diff --git a/MAINTAINERS b/MAINTAINERS
index fe168477caa4..811c6a150029 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -19985,6 +19985,12 @@ S: Supported
F: Documentation/devicetree/bindings/input/pine64,pinephone-keyboard.yaml
F: drivers/input/keyboard/pinephone-keyboard.c
+PINEFEAT CEF168 LENS DRIVER
+M: Aliaksandr Smirnou <support@pinefeat.co.uk>
+L: linux-media@vger.kernel.org
+S: Supported
+F: Documentation/devicetree/bindings/media/i2c/pinefeat,cef168.yaml
+
PLANTOWER PMS7003 AIR POLLUTION SENSOR DRIVER
M: Tomasz Duszynski <tduszyns@gmail.com>
S: Maintained
--
2.34.1
On Sun, Aug 17, 2025 at 02:05:48PM +0100, Aliaksandr Smirnou wrote: > Add the Device Tree schema and examples for the Pinefeat cef168 lens > control board. This board interfaces Canon EF & EF-S lenses with > non-Canon camera bodies, enabling electronic control of focus and > aperture via V4L2. > > Power supply is derived from fixed supplies via connector or GPIO > header. Therefore, the driver does not manage any regulator, so > representing any supply in the binding is redundant. Wut? This doesn't make sense, you have supplies so they should be documented. The fact that they're shared with a bunch of other things on the SBC you're aiming the product at doesn't matter. What if someone doesn't use this sensor with an RPi and there is a dedicated regulator? > Signed-off-by: Aliaksandr Smirnou <support@pinefeat.co.uk> Is that actually your email address? > --- > .../bindings/media/i2c/pinefeat,cef168.yaml | 48 +++++++++++++++++++ > .../devicetree/bindings/vendor-prefixes.yaml | 2 + > MAINTAINERS | 6 +++ > 3 files changed, 56 insertions(+) > create mode 100644 Documentation/devicetree/bindings/media/i2c/pinefeat,cef168.yaml > > diff --git a/Documentation/devicetree/bindings/media/i2c/pinefeat,cef168.yaml b/Documentation/devicetree/bindings/media/i2c/pinefeat,cef168.yaml > new file mode 100644 > index 000000000000..80cdff40d175 > --- /dev/null > +++ b/Documentation/devicetree/bindings/media/i2c/pinefeat,cef168.yaml > @@ -0,0 +1,48 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +# Copyright (c) 2025 Pinefeat LLP > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/media/i2c/pinefeat,cef168.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Pinefeat cef168 lens driver > + > +maintainers: > + - Aliaksandr Smirnou <support@pinefeat.co.uk> > + > +description: | > + Pinefeat produces an adapter designed to interface between > + Canon EF & EF-S lenses and non-Canon camera bodies, incorporating > + features for electronic focus and aperture adjustment. The cef168 > + circuit board, included with the adapter, provides a software > + programming interface that allows control of lens focus and > + aperture positions. > This driver enables controlling the lens > + focus and aperture via the V4L2 (Video4Linux2) API. Don't mention drivers in bindings, how linux handles things is not relevant to a hardware description.
On Mon, Aug 18, 2025 at 06:36:50PM +0100, Conor Dooley wrote: > On Sun, Aug 17, 2025 at 02:05:48PM +0100, Aliaksandr Smirnou wrote: > > Add the Device Tree schema and examples for the Pinefeat cef168 lens > > control board. This board interfaces Canon EF & EF-S lenses with > > non-Canon camera bodies, enabling electronic control of focus and > > aperture via V4L2. > > > > > Power supply is derived from fixed supplies via connector or GPIO > > header. Therefore, the driver does not manage any regulator, so > > representing any supply in the binding is redundant. > > Wut? This doesn't make sense, you have supplies so they should be > documented. The fact that they're shared with a bunch of other things on > the SBC you're aiming the product at doesn't matter. What if someone There is also some explanation at v2 discussion. I asked for that because there is no known design (neither RPi or other boards having compatible hat/connectors) which would have these supplies controllable. Adding them now would mean you should make them also required (because in fact they are), but since these are non-controllable there would be just regulator-fixed with voltage and that's it. It's just bloat. > doesn't use this sensor with an RPi and there is a dedicated regulator? Unlikely but if ever such hardware appears, we can always add regulators. Best regards, Krzysztof
© 2016 - 2025 Red Hat, Inc.