Convert binding for toshiba,et8ek8 from TXT to YAML format.
Update MAINTAINERS file accordingly. The binding references
video-interface-devices.yaml to inherit flash-leds and
lens-focus properties.
Signed-off-by: Alex Tran <alex.t.tran@gmail.com>
---
.../bindings/media/i2c/toshiba,et8ek8.txt | 55 --------------
.../bindings/media/i2c/toshiba,et8ek8.yaml | 88 ++++++++++++++++++++++
MAINTAINERS | 1 +
3 files changed, 89 insertions(+), 55 deletions(-)
diff --git a/Documentation/devicetree/bindings/media/i2c/toshiba,et8ek8.txt b/Documentation/devicetree/bindings/media/i2c/toshiba,et8ek8.txt
deleted file mode 100644
index 8d8e40c5687283d2f582895542cc9b765983d025..0000000000000000000000000000000000000000
--- a/Documentation/devicetree/bindings/media/i2c/toshiba,et8ek8.txt
+++ /dev/null
@@ -1,55 +0,0 @@
-Toshiba et8ek8 5MP sensor
-
-Toshiba et8ek8 5MP sensor is an image sensor found in Nokia N900 device
-
-More detailed documentation can be found in
-Documentation/devicetree/bindings/media/video-interfaces.txt .
-
-
-Mandatory properties
---------------------
-
-- compatible: "toshiba,et8ek8"
-- reg: I2C address (0x3e, or an alternative address)
-- vana-supply: Analogue voltage supply (VANA), 2.8 volts
-- clocks: External clock to the sensor
-- reset-gpios: XSHUTDOWN GPIO. The XSHUTDOWN signal is active low. The sensor
- is in hardware standby mode when the signal is in the low state.
-
-
-Optional properties
--------------------
-
-- flash-leds: See ../video-interfaces.txt
-- lens-focus: See ../video-interfaces.txt
-
-
-Endpoint node mandatory properties
-----------------------------------
-
-- remote-endpoint: A phandle to the bus receiver's endpoint node.
-
-
-Example
--------
-
-&i2c3 {
- clock-frequency = <400000>;
-
- cam1: camera@3e {
- compatible = "toshiba,et8ek8";
- reg = <0x3e>;
- vana-supply = <&vaux4>;
-
- clocks = <&isp 0>;
- assigned-clocks = <&isp 0>;
- assigned-clock-rates = <9600000>;
-
- reset-gpio = <&gpio4 6 GPIO_ACTIVE_HIGH>; /* 102 */
- port {
- csi_cam1: endpoint {
- remote-endpoint = <&csi_out1>;
- };
- };
- };
-};
diff --git a/Documentation/devicetree/bindings/media/i2c/toshiba,et8ek8.yaml b/Documentation/devicetree/bindings/media/i2c/toshiba,et8ek8.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..78e07955a2ed75c97612259644593fee90235c64
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/i2c/toshiba,et8ek8.yaml
@@ -0,0 +1,88 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/i2c/toshiba,et8ek8.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Toshiba et8ek8 5MP sensor
+
+maintainers:
+ - Pavel Machek <pavel@ucw.cz>
+ - Sakari Ailus <sakari.ailus@iki.fi>
+
+description:
+ Toshiba et8ek8 5MP sensor is an image sensor found in Nokia N900 device
+
+allOf:
+ - $ref: /schemas/media/video-interface-devices.yaml#
+
+properties:
+ compatible:
+ const: toshiba,et8ek8
+
+ reg:
+ description:
+ I2C address (0x3e, or an alternative address)
+ maxItems: 1
+
+ vana-supply:
+ description:
+ Analogue voltage supply (VANA), 2.8 volts
+
+ clocks:
+ maxItems: 1
+
+ reset-gpios:
+ description:
+ XSHUTDOWN GPIO. The XSHUTDOWN signal is active low. The sensor
+ is in hardware standby mode when the signal is in the low state.
+ maxItems: 1
+
+ flash-leds: true
+ lens-focus: true
+
+ port:
+ $ref: /schemas/graph.yaml#/$defs/port-base
+ additionalProperties: false
+
+ properties:
+ endpoint:
+ $ref: /schemas/media/video-interfaces.yaml#
+ unevaluatedProperties: false
+
+required:
+ - compatible
+ - reg
+ - vana-supply
+ - clocks
+ - reset-gpios
+ - port
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ camera@3e {
+ compatible = "toshiba,et8ek8";
+ reg = <0x3e>;
+ vana-supply = <&vaux4>;
+ clocks = <&isp 0>;
+ assigned-clocks = <&isp 0>;
+ assigned-clock-rates = <9600000>;
+ reset-gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>;
+ flash-leds = <&led>;
+ lens-focus = <&vcm>;
+
+ port {
+ csi_cam1: endpoint {
+ remote-endpoint = <&csi_out1>;
+ };
+ };
+ };
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index dc731d37c8feeff25613c59fe9c929927dadaa7e..50722537d5483611eea3c8af6c68ae0ec5e4aee8 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -18582,6 +18582,7 @@ M: Sakari Ailus <sakari.ailus@iki.fi>
L: linux-media@vger.kernel.org
S: Maintained
F: Documentation/devicetree/bindings/media/i2c/adi,ad5820.yaml
+F: Documentation/devicetree/bindings/media/i2c/toshiba,et8ek8.yaml
F: drivers/media/i2c/ad5820.c
F: drivers/media/i2c/et8ek8
--
2.51.0
On 24/12/2025 22:59, Alex Tran wrote: > + > + reset-gpios: > + description: > + XSHUTDOWN GPIO. The XSHUTDOWN signal is active low. The sensor > + is in hardware standby mode when the signal is in the low state. > + maxItems: 1 > + > + flash-leds: true > + lens-focus: true No, where did you find this syntax. I do not see how you carefully fixed it. You need proper schema for these. Best regards, Krzysztof
On Thu, Dec 25, 2025 at 12:40 AM Krzysztof Kozlowski <krzk@kernel.org> wrote: > > On 24/12/2025 22:59, Alex Tran wrote: > > + > > + reset-gpios: > > + description: > > + XSHUTDOWN GPIO. The XSHUTDOWN signal is active low. The sensor > > + is in hardware standby mode when the signal is in the low state. > > + maxItems: 1 > > + > > + flash-leds: true > > + lens-focus: true > > No, where did you find this syntax. I do not see how you carefully fixed > it. You need proper schema for these. > > Best regards, > Krzysztof I saw it used under sony,imx214.yaml and mipi-ccs.yaml. I thought referencing video-interface-devices.yaml in this schema was correct because the flash-leds and lens-focus properties are both specified in that file. -- Yours, Alex Tran
On 25/12/2025 09:57, Alex Tran wrote: > On Thu, Dec 25, 2025 at 12:40 AM Krzysztof Kozlowski <krzk@kernel.org> wrote: >> >> On 24/12/2025 22:59, Alex Tran wrote: >>> + >>> + reset-gpios: >>> + description: >>> + XSHUTDOWN GPIO. The XSHUTDOWN signal is active low. The sensor >>> + is in hardware standby mode when the signal is in the low state. >>> + maxItems: 1 >>> + >>> + flash-leds: true >>> + lens-focus: true >> >> No, where did you find this syntax. I do not see how you carefully fixed >> it. You need proper schema for these. >> >> Best regards, >> Krzysztof > > I saw it used under sony,imx214.yaml and mipi-ccs.yaml. I thought referencing > video-interface-devices.yaml in this schema was correct because the flash-leds > and lens-focus properties are both specified in that file. Ah, so you wanted to reference video-inteface-devices in top-level? Wasn't this already before? If that was missing then that's another thing to fix. And then you need to use unevaluatedProperties: false. flash-leds needs constraints, number of items. lens-focus you simply remove. Best regards, Krzysztof
Hi Krzysztof, On Thu, Dec 25, 2025 at 10:08:47AM +0100, Krzysztof Kozlowski wrote: > On 25/12/2025 09:57, Alex Tran wrote: > > On Thu, Dec 25, 2025 at 12:40 AM Krzysztof Kozlowski wrote: > >> On 24/12/2025 22:59, Alex Tran wrote: > >>> + > >>> + reset-gpios: > >>> + description: > >>> + XSHUTDOWN GPIO. The XSHUTDOWN signal is active low. The sensor > >>> + is in hardware standby mode when the signal is in the low state. > >>> + maxItems: 1 > >>> + > >>> + flash-leds: true > >>> + lens-focus: true > >> > >> No, where did you find this syntax. I do not see how you carefully fixed > >> it. You need proper schema for these. > >> > >> Best regards, > >> Krzysztof > > > > I saw it used under sony,imx214.yaml and mipi-ccs.yaml. I thought referencing > > video-interface-devices.yaml in this schema was correct because the flash-leds > > and lens-focus properties are both specified in that file. > > Ah, so you wanted to reference video-inteface-devices in top-level? > Wasn't this already before? If that was missing then that's another > thing to fix. > > And then you need to use unevaluatedProperties: false. flash-leds needs > constraints, number of items. lens-focus you simply remove. I do have a preference in general for keeping 'additionalProperties: false' and listing lens-focus: true (with a reference to /schemas/media/video-interface-devices.yaml at the top level of course). The reason is that using 'unevaluatedProperties: false' will make all the properties defined in video-interface-devices.yaml valid, even the ones that don't apply to this device. This being said, most of the other properties defined by video-interface-devices.yaml are applicable to this device (the exceptions being 'leds' and 'led-names'), so I won't fight for this in this specific case, even if I think it's better as a general rule. Regarding flash-leds, none of the existing bindings set a constraint on the number of items. I'm not sure there are use cases for more than two, but the number of flash LEDs is not an intrinsic properties of the image sensor. I think listing flash-leds: true is correct. Sakari may have more information. -- Regards, Laurent Pinchart
On 27/12/2025 12:12, Laurent Pinchart wrote: > Regarding flash-leds, none of the existing bindings set a constraint on > the number of items. I'm not sure there are use cases for more than two, > but the number of flash LEDs is not an intrinsic properties of the image > sensor. I think listing > > flash-leds: true > > is correct. Sakari may have more information. > IOW, that's not a pin going from the sensor to the LED but rather final board/system design? And same sensor could be used that way with arbitrary number of LEDs? Best regards, Krzysztof
On Sat, Dec 27, 2025 at 12:23:15PM +0100, Krzysztof Kozlowski wrote: > On 27/12/2025 12:12, Laurent Pinchart wrote: > > Regarding flash-leds, none of the existing bindings set a constraint on > > the number of items. I'm not sure there are use cases for more than two, > > but the number of flash LEDs is not an intrinsic properties of the image > > sensor. I think listing > > > > flash-leds: true > > > > is correct. Sakari may have more information. > > IOW, that's not a pin going from the sensor to the LED but rather final > board/system design? And same sensor could be used that way with > arbitrary number of LEDs? Yes, those are LEDs typically controlled by a GPIO of the SoC, not LEDs tied to a pin of the sensor. No LED, one LED or two LEDs are the most common cases (the second LED would typically be an indicator LED, to indicate when the camera is active), but a system could use more than two at least in theory. -- Regards, Laurent Pinchart
© 2016 - 2026 Red Hat, Inc.