[PATCH 1/2] media: dt-bindings: Add ST VD56G3 camera sensor binding

From: Sylvain Petinot
Date: Wed Apr 17 2024 - 09:36:42 EST


Add devicetree bindings Documentation for ST VD56G3 & ST VD66GY camera
sensors. Update MAINTAINERS file.

Signed-off-by: Sylvain Petinot <sylvain.petinot@xxxxxxxxxxx>
---
.../bindings/media/i2c/st,st-vd56g3.yaml | 143 ++++++++++++++++++
MAINTAINERS | 9 ++
2 files changed, 152 insertions(+)
create mode 100644 Documentation/devicetree/bindings/media/i2c/st,st-vd56g3.yaml

diff --git a/Documentation/devicetree/bindings/media/i2c/st,st-vd56g3.yaml b/Documentation/devicetree/bindings/media/i2c/st,st-vd56g3.yaml
new file mode 100644
index 000000000000..6792c02fea5c
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/i2c/st,st-vd56g3.yaml
@@ -0,0 +1,143 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+# Copyright (c) 2024 STMicroelectronics SA.
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/i2c/st,st-vd56g3.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: STMicroelectronics VD56G3 Global Shutter Image Sensor
+
+maintainers:
+ - Benjamin Mugnier <benjamin.mugnier@xxxxxxxxxxx>
+ - Sylvain Petinot <sylvain.petinot@xxxxxxxxxxx>
+
+description: |-
+ The STMicroelectronics VD56G3 is a 1.5 M pixel global shutter image sensor
+ with an active array size of 1124 x 1364 (portrait orientation).
+ It is programmable through I2C, the address is fixed to 0x10.
+ The sensor output is available via CSI-2, which is configured as either 1 or
+ 2 data lanes.
+ The sensor provides 8 GPIOS that can be used for either
+ - frame synchronization (Master: out-sync or Slave: in-sync)
+ - external LED signal (synchronized with sensor integration periods)
+
+properties:
+ compatible:
+ enum:
+ - st,st-vd56g3
+ - st,st-vd66gy
+ description:
+ Two variants are availables; VD56G3 is a monochrome sensor while VD66GY
+ is a colour variant.
+
+ reg:
+ maxItems: 1
+
+ clocks:
+ maxItems: 1
+
+ VCORE-supply:
+ description: Digital core power supply (1.15V)
+
+ VDDIO-supply:
+ description: Digital IO power supply (1.8V)
+
+ VANA-supply:
+ description: Analog power supply (2.8V)
+
+ reset-gpios:
+ description: Sensor reset active low GPIO (XSHUTDOWN)
+ maxItems: 1
+
+ st,leds:
+ description:
+ Sensor's GPIOs used for external LED control.
+ Signal being the enveloppe of the integration time.
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+ minItems: 1
+ maxItems: 8
+ items:
+ minimum: 0
+ maximum: 7
+
+ port:
+ $ref: /schemas/graph.yaml#/$defs/port-base
+
+ properties:
+ endpoint:
+ $ref: /schemas/media/video-interfaces.yaml#
+ unevaluatedProperties: false
+
+ properties:
+ clock-lanes:
+ const: 0
+
+ data-lanes:
+ minItems: 1
+ maxItems: 2
+ items:
+ enum: [1, 2]
+
+ link-frequencies:
+ minItems: 1
+ maxItems: 1
+ items:
+ enum: [402000000, 750000000]
+
+ lane-polarities:
+ minItems: 1
+ maxItems: 3
+ items:
+ enum: [0, 1]
+ description: Any lane can be inverted or not.
+
+ required:
+ - clock-lanes
+ - data-lanes
+ - link-frequencies
+
+required:
+ - compatible
+ - reg
+ - clocks
+ - VCORE-supply
+ - VDDIO-supply
+ - VANA-supply
+ - reset-gpios
+ - port
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ vd56g3: camera-sensor@10 {
+ compatible = "st,st-vd56g3";
+ reg = <0x10>;
+
+ clocks = <&camera_clk_12M>;
+
+ VCORE-supply = <&camera_vcore_v1v15>;
+ VDDIO-supply = <&camera_vddio_v1v8>;
+ VANA-supply = <&camera_vana_v2v8>;
+
+ reset-gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
+ st,leds = <6>;
+
+ port {
+ vd56g3_ep: endpoint {
+ clock-lanes = <0>;
+ data-lanes = <1 2>;
+ link-frequencies =
+ /bits/ 64 <402000000>;
+ remote-endpoint = <&csiphy0_ep>;
+ };
+ };
+ };
+ };
+...
diff --git a/MAINTAINERS b/MAINTAINERS
index 7c121493f43d..991e65627e18 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -20868,6 +20868,15 @@ S: Maintained
F: Documentation/hwmon/stpddc60.rst
F: drivers/hwmon/pmbus/stpddc60.c

+ST VD56G3 DRIVER
+M: Benjamin Mugnier <benjamin.mugnier@xxxxxxxxxxx>
+M: Sylvain Petinot <sylvain.petinot@xxxxxxxxxxx>
+L: linux-media@xxxxxxxxxxxxxxx
+S: Maintained
+T: git git://linuxtv.org/media_tree.git
+F: Documentation/devicetree/bindings/media/i2c/st,st-vd56g3.yaml
+F: drivers/media/i2c/st-vd56g3.c
+
ST VGXY61 DRIVER
M: Benjamin Mugnier <benjamin.mugnier@xxxxxxxxxxx>
M: Sylvain Petinot <sylvain.petinot@xxxxxxxxxxx>
--
2.17.1