[v2,4/5] media: dt-bindings: media: i2c: Add ST VGXY61 camera sensor binding
Commit Message
Add device tree binding for the ST VGXY61 camera sensor, and update
MAINTAINERS file.
Signed-off-by: Benjamin Mugnier <benjamin.mugnier@foss.st.com>
---
.../bindings/media/i2c/st,st-vgxy61.yaml | 125 ++++++++++++++++++
MAINTAINERS | 9 ++
2 files changed, 134 insertions(+)
create mode 100644 Documentation/devicetree/bindings/media/i2c/st,st-vgxy61.yaml
Comments
Hi Benjamin,
Thank you for the patch.
On Fri, Apr 15, 2022 at 01:18:44PM +0200, Benjamin Mugnier wrote:
> Add device tree binding for the ST VGXY61 camera sensor, and update
> MAINTAINERS file.
>
> Signed-off-by: Benjamin Mugnier <benjamin.mugnier@foss.st.com>
> ---
> .../bindings/media/i2c/st,st-vgxy61.yaml | 125 ++++++++++++++++++
> MAINTAINERS | 9 ++
> 2 files changed, 134 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/media/i2c/st,st-vgxy61.yaml
>
> diff --git a/Documentation/devicetree/bindings/media/i2c/st,st-vgxy61.yaml b/Documentation/devicetree/bindings/media/i2c/st,st-vgxy61.yaml
> new file mode 100644
> index 000000000000..24bff161a661
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/media/i2c/st,st-vgxy61.yaml
> @@ -0,0 +1,125 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +# Copyright (c) 2022 STMicroelectronics SA.
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/media/i2c/st,st-vgxy61.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: STMicroelectronics VGxy61 HDR Global Shutter Sensor Family Device Tree Bindings
> +
> +maintainers:
> + - Benjamin Mugnier <benjamin.mugnier@foss.st.com>
> + - Sylvain Petinot <sylvain.petinot@foss.st.com>
> +
> +description: |-
> + STMicroelectronics VGxy61 family has a CSI-2 output port. CSI-2 output is a
> + quad lanes 800Mbps per lane.
> + Supported formats are RAW8, RAW10, RAW12, RAW14 and RAW16.
> + Following part number are supported
> + - VG5661 and VG6661 are 1.6 Mpx (1464 x 1104) monochrome and color sensors.
> + Maximum frame rate is 75 fps.
> + - VG5761 and VG6761 are 2.3 Mpx (1944 x 1204) monochrome and color sensors.
> + Maximum frame rate is 60 fps.
> +
> +properties:
> + compatible:
> + const: st,st-vgxy61
> +
> + reg:
> + maxItems: 1
> +
> + clocks:
> + maxItems: 1
> +
> + clock-names:
> + description:
> + Input clock for the sensor.
> + items:
> + - const: xclk
If there's a single clock you can drop the clock name.
> +
> + VCORE-supply:
> + description:
> + Sensor digital core supply. Must be 1.2 volts.
> +
> + VDDIO-supply:
> + description:
> + Sensor digital IO supply. Must be 1.8 volts.
> +
> + VANA-supply:
> + description:
> + Sensor analog supply. Must be 2.8 volts.
> +
> + reset-gpios:
> + description:
> + Reference to the GPIO connected to the reset pin, if any.
> + This is an active low signal to the vgxy61.
> +
> + invert-gpios-polarity:
Vendor-specific properties should have a vendor prefix (e.g.
st,inver-gpios-polarity).
> + description:
> + If gpios polarity should be inversed
What is this though, what GPIOs does it invert ?
> + type: boolean
> +
> + slave-mode:
> + description:
> + If the sensor operates in slave mode
> + type: boolean
> +
> + port:
> + $ref: /schemas/graph.yaml#/$defs/port-base
> + additionalProperties: false
> +
> + properties:
> + endpoint:
> + $ref: /schemas/media/video-interfaces.yaml#
> + unevaluatedProperties: false
> +
> + properties:
> + data-lanes:
> + description:
> + CSI lanes to use
> + items:
> + - const: 1
> + - const: 2
> + - const: 3
> + - const: 4
> +
> + remote-endpoint: true
> +
> + required:
> + - clock-lane
> + - data-lanes
> +
> +required:
> + - compatible
> + - clocks
> + - clock-names
> + - VCORE-supply
> + - VDDIO-supply
> + - VANA-supply
The port property should be required too.
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/gpio/gpio.h>
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + vgxy61: csi2tx@10 {
> + compatible = "st,st-vgxy61";
> + reg = <0x10>;
> + status = "okay";
That's the default, it's not needed in DT examples.
> + clocks = <&clk_ext_camera>;
There's no clock-names. Have you run DT bindings validation ? It should
have reported an error.
> + VCORE-supply = <&v1v2>;
> + VDDIO-supply = <&v1v8>;
> + VANA-supply = <&v2v8>;
> + reset-gpios = <&mfxgpio 18 GPIO_ACTIVE_LOW>;
> + port {
> + ep0: endpoint {
> + data-lanes = <1 2 3 4>;
> + remote-endpoint = <&mipi_csi2_out>;
> + };
> + };
> + };
> + };
> +...
> diff --git a/MAINTAINERS b/MAINTAINERS
> index fd768d43e048..6233e073da30 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -18664,6 +18664,15 @@ S: Maintained
> F: Documentation/hwmon/stpddc60.rst
> F: drivers/hwmon/pmbus/stpddc60.c
>
> +ST VGXY61 DRIVER
> +M: Benjamin Mugnier <benjamin.mugnier@foss.st.com>
> +M: Sylvain Petinot <sylvain.petinot@foss.st.com>
> +L: linux-media@vger.kernel.org
> +S: Maintained
> +T: git git://linuxtv.org/media_tree.git
> +F: Documentation/devicetree/bindings/media/i2c/st,st-vgxy61.txt
> +F: drivers/media/i2c/st-vgxy61.c
> +
> ST VL53L0X ToF RANGER(I2C) IIO DRIVER
> M: Song Qiang <songqiang1304521@gmail.com>
> L: linux-iio@vger.kernel.org
Hi Laurent,
Thank you for your review.
On 15/04/2022 16:59, Laurent Pinchart wrote:
> Hi Benjamin,
>
> Thank you for the patch.
>
> On Fri, Apr 15, 2022 at 01:18:44PM +0200, Benjamin Mugnier wrote:
>> Add device tree binding for the ST VGXY61 camera sensor, and update
>> MAINTAINERS file.
>>
>> Signed-off-by: Benjamin Mugnier <benjamin.mugnier@foss.st.com>
>> ---
>> .../bindings/media/i2c/st,st-vgxy61.yaml | 125 ++++++++++++++++++
>> MAINTAINERS | 9 ++
>> 2 files changed, 134 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/media/i2c/st,st-vgxy61.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/media/i2c/st,st-vgxy61.yaml b/Documentation/devicetree/bindings/media/i2c/st,st-vgxy61.yaml
>> new file mode 100644
>> index 000000000000..24bff161a661
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/media/i2c/st,st-vgxy61.yaml
>> @@ -0,0 +1,125 @@
>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>> +# Copyright (c) 2022 STMicroelectronics SA.
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/media/i2c/st,st-vgxy61.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: STMicroelectronics VGxy61 HDR Global Shutter Sensor Family Device Tree Bindings
>> +
>> +maintainers:
>> + - Benjamin Mugnier <benjamin.mugnier@foss.st.com>
>> + - Sylvain Petinot <sylvain.petinot@foss.st.com>
>> +
>> +description: |-
>> + STMicroelectronics VGxy61 family has a CSI-2 output port. CSI-2 output is a
>> + quad lanes 800Mbps per lane.
>> + Supported formats are RAW8, RAW10, RAW12, RAW14 and RAW16.
>> + Following part number are supported
>> + - VG5661 and VG6661 are 1.6 Mpx (1464 x 1104) monochrome and color sensors.
>> + Maximum frame rate is 75 fps.
>> + - VG5761 and VG6761 are 2.3 Mpx (1944 x 1204) monochrome and color sensors.
>> + Maximum frame rate is 60 fps.
>> +
>> +properties:
>> + compatible:
>> + const: st,st-vgxy61
>> +
>> + reg:
>> + maxItems: 1
>> +
>> + clocks:
>> + maxItems: 1
>> +
>> + clock-names:
>> + description:
>> + Input clock for the sensor.
>> + items:
>> + - const: xclk
>
> If there's a single clock you can drop the clock name.
>
Indeed, I forgot to remove it while refactoring. Thanks.
>> +
>> + VCORE-supply:
>> + description:
>> + Sensor digital core supply. Must be 1.2 volts.
>> +
>> + VDDIO-supply:
>> + description:
>> + Sensor digital IO supply. Must be 1.8 volts.
>> +
>> + VANA-supply:
>> + description:
>> + Sensor analog supply. Must be 2.8 volts.
>> +
>> + reset-gpios:
>> + description:
>> + Reference to the GPIO connected to the reset pin, if any.
>> + This is an active low signal to the vgxy61.
>> +
>> + invert-gpios-polarity:
>
> Vendor-specific properties should have a vendor prefix (e.g.
> st,inver-gpios-polarity).
>
>> + description:
>> + If gpios polarity should be inversed
>
> What is this though, what GPIOs does it invert ?
>
This inverts every strobe GPIO polarity.
I will rename it to st,strobe-gpios-polarity, so that it better reflects what it truly is, and add a better comment than the current one.
I also renamed slave-mode to st,slave-mode as afaik this is specific to this sensor.
>> + type: boolean
>> +
>> + slave-mode:
>> + description:
>> + If the sensor operates in slave mode
>> + type: boolean
>> +
>> + port:
>> + $ref: /schemas/graph.yaml#/$defs/port-base
>> + additionalProperties: false
>> +
>> + properties:
>> + endpoint:
>> + $ref: /schemas/media/video-interfaces.yaml#
>> + unevaluatedProperties: false
>> +
>> + properties:
>> + data-lanes:
>> + description:
>> + CSI lanes to use
>> + items:
>> + - const: 1
>> + - const: 2
>> + - const: 3
>> + - const: 4
>> +
>> + remote-endpoint: true
>> +
>> + required:
>> + - clock-lane
>> + - data-lanes
>> +
>> +required:
>> + - compatible
>> + - clocks
>> + - clock-names
>> + - VCORE-supply
>> + - VDDIO-supply
>> + - VANA-supply
>
> The port property should be required too.
>
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> + - |
>> + #include <dt-bindings/gpio/gpio.h>
>> + i2c {
>> + #address-cells = <1>;
>> + #size-cells = <0>;
>> + vgxy61: csi2tx@10 {
>> + compatible = "st,st-vgxy61";
>> + reg = <0x10>;
>> + status = "okay";
>
> That's the default, it's not needed in DT examples.
>
>> + clocks = <&clk_ext_camera>;
>
> There's no clock-names. Have you run DT bindings validation ? It should
> have reported an error.
>
I ran again the dt binding validation and it does pop an error. I must have missed it. Sorry about that.
>> + VCORE-supply = <&v1v2>;
>> + VDDIO-supply = <&v1v8>;
>> + VANA-supply = <&v2v8>;
>> + reset-gpios = <&mfxgpio 18 GPIO_ACTIVE_LOW>;
>> + port {
>> + ep0: endpoint {
>> + data-lanes = <1 2 3 4>;
>> + remote-endpoint = <&mipi_csi2_out>;
>> + };
>> + };
>> + };
>> + };
>> +...
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index fd768d43e048..6233e073da30 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -18664,6 +18664,15 @@ S: Maintained
>> F: Documentation/hwmon/stpddc60.rst
>> F: drivers/hwmon/pmbus/stpddc60.c
>>
>> +ST VGXY61 DRIVER
>> +M: Benjamin Mugnier <benjamin.mugnier@foss.st.com>
>> +M: Sylvain Petinot <sylvain.petinot@foss.st.com>
>> +L: linux-media@vger.kernel.org
>> +S: Maintained
>> +T: git git://linuxtv.org/media_tree.git
>> +F: Documentation/devicetree/bindings/media/i2c/st,st-vgxy61.txt
>> +F: drivers/media/i2c/st-vgxy61.c
>> +
>> ST VL53L0X ToF RANGER(I2C) IIO DRIVER
>> M: Song Qiang <songqiang1304521@gmail.com>
>> L: linux-iio@vger.kernel.org
>
new file mode 100644
@@ -0,0 +1,125 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+# Copyright (c) 2022 STMicroelectronics SA.
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/i2c/st,st-vgxy61.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: STMicroelectronics VGxy61 HDR Global Shutter Sensor Family Device Tree Bindings
+
+maintainers:
+ - Benjamin Mugnier <benjamin.mugnier@foss.st.com>
+ - Sylvain Petinot <sylvain.petinot@foss.st.com>
+
+description: |-
+ STMicroelectronics VGxy61 family has a CSI-2 output port. CSI-2 output is a
+ quad lanes 800Mbps per lane.
+ Supported formats are RAW8, RAW10, RAW12, RAW14 and RAW16.
+ Following part number are supported
+ - VG5661 and VG6661 are 1.6 Mpx (1464 x 1104) monochrome and color sensors.
+ Maximum frame rate is 75 fps.
+ - VG5761 and VG6761 are 2.3 Mpx (1944 x 1204) monochrome and color sensors.
+ Maximum frame rate is 60 fps.
+
+properties:
+ compatible:
+ const: st,st-vgxy61
+
+ reg:
+ maxItems: 1
+
+ clocks:
+ maxItems: 1
+
+ clock-names:
+ description:
+ Input clock for the sensor.
+ items:
+ - const: xclk
+
+ VCORE-supply:
+ description:
+ Sensor digital core supply. Must be 1.2 volts.
+
+ VDDIO-supply:
+ description:
+ Sensor digital IO supply. Must be 1.8 volts.
+
+ VANA-supply:
+ description:
+ Sensor analog supply. Must be 2.8 volts.
+
+ reset-gpios:
+ description:
+ Reference to the GPIO connected to the reset pin, if any.
+ This is an active low signal to the vgxy61.
+
+ invert-gpios-polarity:
+ description:
+ If gpios polarity should be inversed
+ type: boolean
+
+ slave-mode:
+ description:
+ If the sensor operates in slave mode
+ type: boolean
+
+ port:
+ $ref: /schemas/graph.yaml#/$defs/port-base
+ additionalProperties: false
+
+ properties:
+ endpoint:
+ $ref: /schemas/media/video-interfaces.yaml#
+ unevaluatedProperties: false
+
+ properties:
+ data-lanes:
+ description:
+ CSI lanes to use
+ items:
+ - const: 1
+ - const: 2
+ - const: 3
+ - const: 4
+
+ remote-endpoint: true
+
+ required:
+ - clock-lane
+ - data-lanes
+
+required:
+ - compatible
+ - clocks
+ - clock-names
+ - VCORE-supply
+ - VDDIO-supply
+ - VANA-supply
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ vgxy61: csi2tx@10 {
+ compatible = "st,st-vgxy61";
+ reg = <0x10>;
+ status = "okay";
+ clocks = <&clk_ext_camera>;
+ VCORE-supply = <&v1v2>;
+ VDDIO-supply = <&v1v8>;
+ VANA-supply = <&v2v8>;
+ reset-gpios = <&mfxgpio 18 GPIO_ACTIVE_LOW>;
+ port {
+ ep0: endpoint {
+ data-lanes = <1 2 3 4>;
+ remote-endpoint = <&mipi_csi2_out>;
+ };
+ };
+ };
+ };
+...
@@ -18664,6 +18664,15 @@ S: Maintained
F: Documentation/hwmon/stpddc60.rst
F: drivers/hwmon/pmbus/stpddc60.c
+ST VGXY61 DRIVER
+M: Benjamin Mugnier <benjamin.mugnier@foss.st.com>
+M: Sylvain Petinot <sylvain.petinot@foss.st.com>
+L: linux-media@vger.kernel.org
+S: Maintained
+T: git git://linuxtv.org/media_tree.git
+F: Documentation/devicetree/bindings/media/i2c/st,st-vgxy61.txt
+F: drivers/media/i2c/st-vgxy61.c
+
ST VL53L0X ToF RANGER(I2C) IIO DRIVER
M: Song Qiang <songqiang1304521@gmail.com>
L: linux-iio@vger.kernel.org