Skip to contentSkip to conversation

media: dt-bindings: media: i2c: Add mlx7502x camera sensor binding

PATCH Superseded Volodymyr Kharuk 2 participants 3 messages Jun 20, 2022 – Jun 22, 2022

Subsystems (2)

v1 of 6 Superseded Latest is v6 →

lore
Share & tools
lore
#0 lore raw

PATCH 5/6 media: dt-bindings: media: i2c: Add mlx7502x camera sensor binding

From: Volodymyr Kharuk <[email protected]>
To: [email protected]
Cc: Volodymyr Kharuk <[email protected]>,
Andrii Kyselov <[email protected]>,
Mauro Carvalho Chehab <[email protected]>,
Rob Herring <[email protected]>,
Krzysztof Kozlowski <[email protected]>,
Hyun Kwon <[email protected]>,
Laurent Pinchart <[email protected]>,
Michal Simek <[email protected]>,
Kieran Bingham <[email protected]>, [email protected]
Subject: [PATCH 5/6] media: dt-bindings: media: i2c: Add mlx7502x camera sensor binding
Date: Mon, 20 Jun 2022 19:24:36 +0300
Message-Id: <fde3ed603f2c605278ab8fe2c0aa03e96ce4fb33.1655738299.git.vkh@melexis.com>
X-Mailer: git-send-email 2.36.1
In-Reply-To: <[email protected]>
References: <[email protected]>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add device tree binding of the mlx7502x and update MAINTAINERS

---
 .../bindings/media/i2c/melexis,mlx7502x.yaml  | 106 ++++++++++++++++++
 MAINTAINERS                                   |   1 +
 2 files changed, 107 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml
Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml new file +106 -0
new file mode 100644
index 000000000000..0cc6e425caec
@@ -0,0 +1,106 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/i2c/melexis,mlx7502x.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Melexis ToF 7502x MIPI CSI-2 Sensor Device Tree Bindings
+
+maintainers:
+  - Volodymyr Kharuk <[email protected]>
+
+description: |-
+  Melexis ToF 7502x sensors has a CSI-2 output. It supports 2 and 4 lanes,
+  and mipi speeds are 300, 600, 704, 800, 904, 960Mbs. Supported format is RAW12.
+  Sensor 75026 is QVGA, while 75027 is VGA sensor.
+
+properties:
+  compatible:
+    const: melexis,mlx7502x
+
+  reg:
+    maxItems: 1
+
+  vcc-supply:
+    description: VCC supply phandle.
+
+  hw-trigger-gpio:
+    maxItems: 1
+    description: Hardware Trigger GPIO Control (active low)
+
+  reset-gpio:
+    maxItems: 1
+    description: Reset Sensor GPIO Control (active low)
+
+  leden-gpio:
+    maxItems: 1
+    description: Led driver enanle GPIO Control (active high)
+
+  port:
+    description: MIPI CSI-2 transmitter port
+    $ref: /schemas/graph.yaml#/$defs/port-base
+
+    properties:
+      endpoint:
+        $ref: /schemas/media/video-interfaces.yaml#
+        unevaluatedProperties: false
+
+        properties:
+          data-lanes:
+            anyOf:
+              - items:
+                  - const: 1
+                  - const: 2
+              - items:
+                  - const: 1
+                  - const: 2
+                  - const: 3
+                  - const: 4
+
+          clock-noncontinuous: true
+          link-frequencies: true
+
+        required:
+          - data-lanes
+          - link-frequencies
+
+required:
+  - compatible
+  - reg
+  - port
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+
+    i2c1 {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        mlx7502x: camera@57 {
+            compatible = "melexis,mlx7502x";
+            reg = <0x57>;
+
+            vcc-supply = <&mlx_7502x_reg>;
+            hw-trigger-gpio = <&gpio_exp 2 GPIO_ACTIVE_HIGH>;
+            reset-gpio = <&gpio_exp 6 GPIO_ACTIVE_HIGH>;
+            leden-gpio = <&gpio_exp 7 GPIO_ACTIVE_HIGH>;
+
+            port {
+                mlx7502x_out_mipi_csi2: endpoint {
+                    remote-endpoint = <&mipi_csi2_from_mlx7502x>;
+                    data-lanes = <1 2 3 4>;
+                    link-frequencies = /bits/ 64 < 960000000
+                                                   904000000
+                                                   800000000
+                                                   704000000
+                                                   600000000
+                                                   300000000 >;
+                };
+            };
+        };
+    };
+
+...
MAINTAINERS +1 -0
index 6b74de976e90..ce052a351fda 100644
@@ -12676,6 +12676,7 @@ M:	Volodymyr Kharuk <[email protected]>
 L:	[email protected]
 S:	Supported
 W:	http://www.melexis.com
+F:	Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml
 F:	include/uapi/linux/mlx7502x.h
 
 MELFAS MIP4 TOUCHSCREEN DRIVER
Signature · 2 lines
BR,
Volodymyr Kharuk
#1 lore raw
Quoted 12 lines · Volodymyr Kharuk

From: Volodymyr Kharuk <[email protected]>
To: [email protected]
Cc: Volodymyr Kharuk <[email protected]>,
Andrii Kyselov <[email protected]>,
Mauro Carvalho Chehab <[email protected]>,
Rob Herring <[email protected]>,
Krzysztof Kozlowski <[email protected]>, Hyun Kwon <[email protected]>,
Laurent Pinchart <[email protected]>, Michal Simek <[email protected]>,
Kieran Bingham <[email protected]>, [email protected]

Quoted 8 lines

Subject: [PATCH 5/6] media: dt-bindings: media: i2c: Add mlx7502x camera sensor binding
Date: Mon, 20 Jun 2022 19:24:36 +0300
Message-Id: <fde3ed603f2c605278ab8fe2c0aa03e96ce4fb33.1655738299.git.vkh@melexis.com>
X-Mailer: git-send-email 2.36.1
In-Reply-To: <[email protected]>
References: <[email protected]>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

I don't think your email is correct... The easiest to create proper patch is to use Git (git format-patch, git send-email).

Quoted 16 lines

Add device tree binding of the mlx7502x and update MAINTAINERS

---
 .../bindings/media/i2c/melexis,mlx7502x.yaml  | 106 ++++++++++++++++++
 MAINTAINERS                                   |   1 +
 2 files changed, 107 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml
Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml new file +0 -0
new file mode 100644
index 000000000000..0cc6e425caec

Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml line 7

Quoted 7 lines
Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml new file +7 -0
@@ -0,0 +1,106 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/i2c/melexis,mlx7502x.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Melexis ToF 7502x MIPI CSI-2 Sensor Device Tree Bindings

s/Device Tree Bindings//

Quoted 10 lines
Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml new file +10 -0
+
+maintainers:
+  - Volodymyr Kharuk <[email protected]>
+
+description: |-
+  Melexis ToF 7502x sensors has a CSI-2 output. It supports 2 and 4 lanes,
+  and mipi speeds are 300, 600, 704, 800, 904, 960Mbs. Supported format is RAW12.
+  Sensor 75026 is QVGA, while 75027 is VGA sensor.
+
+properties:

Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml line 27

Quoted 10 lines
Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml new file +10 -0
+  compatible:
+    const: melexis,mlx7502x
+
+  reg:
+    maxItems: 1
+
+  vcc-supply:
+    description: VCC supply phandle.
+
+  hw-trigger-gpio:

Yoiu need vendor prefix here, because this does not look like standard property. Plus "gpios", not "gpio", so:
melexis,hw-trigger-gpios

Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml line 31

Quoted 4 lines
Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml new file +4 -0
+    maxItems: 1
+    description: Hardware Trigger GPIO Control (active low)
+
+  reset-gpio:

reset-gpios

Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml line 35

Quoted 4 lines
Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml new file +4 -0
+    maxItems: 1
+    description: Reset Sensor GPIO Control (active low)
+
+  leden-gpio:

vendor prefix + gpios, unless this is "enable-gpios" standard property.

Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml line 37

Quoted 2 lines
Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml new file +2 -0
+    maxItems: 1
+    description: Led driver enanle GPIO Control (active high)

enable?

Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml line 50

Quoted 13 lines
Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml new file +13 -0
+
+  port:
+    description: MIPI CSI-2 transmitter port
+    $ref: /schemas/graph.yaml#/$defs/port-base
+
+    properties:
+      endpoint:
+        $ref: /schemas/media/video-interfaces.yaml#
+        unevaluatedProperties: false
+
+        properties:
+          data-lanes:
+            anyOf:

oneOf
although probably has the same effect

Quoted 18 lines
Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml new file +18 -0
+              - items:
+                  - const: 1
+                  - const: 2
+              - items:
+                  - const: 1
+                  - const: 2
+                  - const: 3
+                  - const: 4
+
+          clock-noncontinuous: true
+          link-frequencies: true
+
+        required:
+          - data-lanes
+          - link-frequencies
+
+required:
+  - compatible

Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml line 78

Quoted 10 lines
Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml new file +10 -0
+  - reg
+  - port
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+
+    i2c1 {

Just "i2c"

Quoted 33 lines
Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml new file +28 -0
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        mlx7502x: camera@57 {
+            compatible = "melexis,mlx7502x";
+            reg = <0x57>;
+
+            vcc-supply = <&mlx_7502x_reg>;
+            hw-trigger-gpio = <&gpio_exp 2 GPIO_ACTIVE_HIGH>;
+            reset-gpio = <&gpio_exp 6 GPIO_ACTIVE_HIGH>;
+            leden-gpio = <&gpio_exp 7 GPIO_ACTIVE_HIGH>;
+
+            port {
+                mlx7502x_out_mipi_csi2: endpoint {
+                    remote-endpoint = <&mipi_csi2_from_mlx7502x>;
+                    data-lanes = <1 2 3 4>;
+                    link-frequencies = /bits/ 64 < 960000000
+                                                   904000000
+                                                   800000000
+                                                   704000000
+                                                   600000000
+                                                   300000000 >;
+                };
+            };
+        };
+    };
+
+...
MAINTAINERS +0 -0
index 6b74de976e90..ce052a351fda 100644

MAINTAINERS M: Volodymyr Kharuk <[email protected]> · line 12682

Quoted 7 lines
MAINTAINERS +1 -0
@@ -12676,6 +12676,7 @@ M:	Volodymyr Kharuk <[email protected]>
 L:	[email protected]
 S:	Supported
 W:	http://www.melexis.com
+F:	Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml
 F:	include/uapi/linux/mlx7502x.h
 
 MELFAS MIP4 TOUCHSCREEN DRIVER

Best regards,
Krzysztof

#2 lore raw

Hi Krzysztof,

Thanks for your review,

Quoted 22 lines · Krzysztof Kozlowski
Quoted 12 lines · Volodymyr Kharuk

From: Volodymyr Kharuk <[email protected]>
To: [email protected]
Cc: Volodymyr Kharuk <[email protected]>,
Andrii Kyselov <[email protected]>,
Mauro Carvalho Chehab <[email protected]>,
Rob Herring <[email protected]>,
Krzysztof Kozlowski <[email protected]>, Hyun Kwon <[email protected]>,
Laurent Pinchart <[email protected]>, Michal Simek <[email protected]>,
Kieran Bingham <[email protected]>, [email protected]

Quoted 8 lines

Subject: [PATCH 5/6] media: dt-bindings: media: i2c: Add mlx7502x camera sensor binding
Date: Mon, 20 Jun 2022 19:24:36 +0300
Message-Id: <fde3ed603f2c605278ab8fe2c0aa03e96ce4fb33.1655738299.git.vkh@melexis.com>
X-Mailer: git-send-email 2.36.1
In-Reply-To: <[email protected]>
References: <[email protected]>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Quoted 2 lines

I don't think your email is correct... The easiest to create proper patch is to use Git (git format-patch, git send-email).

Actually I've used git format-patch and git send-email.
I wanted to use mutt as sendmail. Mutt didn't understand the header from git send-email. So now I switched to another sendmail. Now it should be fine.

Quoted 58 lines
Quoted 18 lines

Add device tree binding of the mlx7502x and update MAINTAINERS

---
 .../bindings/media/i2c/melexis,mlx7502x.yaml  | 106 ++++++++++++++++++
 MAINTAINERS                                   |   1 +
 2 files changed, 107 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml
Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml new file +0 -0
new file mode 100644
index 000000000000..0cc6e425caec

Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml line 7

Quoted 7 lines
Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml new file +7 -0
@@ -0,0 +1,106 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/i2c/melexis,mlx7502x.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Melexis ToF 7502x MIPI CSI-2 Sensor Device Tree Bindings

s/Device Tree Bindings//

Quoted 10 lines
Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml new file +10 -0
+
+maintainers:
+  - Volodymyr Kharuk <[email protected]>
+
+description: |-
+  Melexis ToF 7502x sensors has a CSI-2 output. It supports 2 and 4 lanes,
+  and mipi speeds are 300, 600, 704, 800, 904, 960Mbs. Supported format is RAW12.
+  Sensor 75026 is QVGA, while 75027 is VGA sensor.
+
+properties:

Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml line 27

Quoted 10 lines
Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml new file +10 -0
+  compatible:
+    const: melexis,mlx7502x
+
+  reg:
+    maxItems: 1
+
+  vcc-supply:
+    description: VCC supply phandle.
+
+  hw-trigger-gpio:

Yoiu need vendor prefix here, because this does not look like standard property. Plus "gpios", not "gpio", so:
melexis,hw-trigger-gpios

Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml line 31

Quoted 4 lines
Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml new file +4 -0
+    maxItems: 1
+    description: Hardware Trigger GPIO Control (active low)
+
+  reset-gpio:
Quoted 8 lines

reset-gpios

Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml line 35

Quoted 4 lines
Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml new file +4 -0
+    maxItems: 1
+    description: Reset Sensor GPIO Control (active low)
+
+  leden-gpio:

vendor prefix + gpios, unless this is "enable-gpios" standard property.

Yes it is enable for another device(illumination), so it not the standard one.

Quoted 5 lines

Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml line 37

Quoted 3 lines
Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml new file +2 -0
+    maxItems: 1
+    description: Led driver enanle GPIO Control (active high)

enable?

Yeap, thanks

Quoted 17 lines
Quoted 4 lines
Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml new file +3 -0
+
+  port:
+    description: MIPI CSI-2 transmitter port

Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml line 50

Quoted 10 lines
Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml new file +10 -0
+    $ref: /schemas/graph.yaml#/$defs/port-base
+
+    properties:
+      endpoint:
+        $ref: /schemas/media/video-interfaces.yaml#
+        unevaluatedProperties: false
+
+        properties:
+          data-lanes:
+            anyOf:

oneOf
although probably has the same effect

Agree.

Quoted 76 lines
Quoted 19 lines
Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml new file +18 -0
+              - items:
+                  - const: 1
+                  - const: 2
+              - items:
+                  - const: 1
+                  - const: 2
+                  - const: 3
+                  - const: 4
+
+          clock-noncontinuous: true
+          link-frequencies: true
+
+        required:
+          - data-lanes
+          - link-frequencies
+
+required:
+  - compatible

Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml line 78

Quoted 10 lines
Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml new file +10 -0
+  - reg
+  - port
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+
+    i2c1 {

Just "i2c"

Quoted 33 lines
Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml new file +28 -0
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        mlx7502x: camera@57 {
+            compatible = "melexis,mlx7502x";
+            reg = <0x57>;
+
+            vcc-supply = <&mlx_7502x_reg>;
+            hw-trigger-gpio = <&gpio_exp 2 GPIO_ACTIVE_HIGH>;
+            reset-gpio = <&gpio_exp 6 GPIO_ACTIVE_HIGH>;
+            leden-gpio = <&gpio_exp 7 GPIO_ACTIVE_HIGH>;
+
+            port {
+                mlx7502x_out_mipi_csi2: endpoint {
+                    remote-endpoint = <&mipi_csi2_from_mlx7502x>;
+                    data-lanes = <1 2 3 4>;
+                    link-frequencies = /bits/ 64 < 960000000
+                                                   904000000
+                                                   800000000
+                                                   704000000
+                                                   600000000
+                                                   300000000 >;
+                };
+            };
+        };
+    };
+
+...
MAINTAINERS +0 -0
index 6b74de976e90..ce052a351fda 100644

MAINTAINERS M: Volodymyr Kharuk <[email protected]> · line 12682

Quoted 7 lines
MAINTAINERS +1 -0
@@ -12676,6 +12676,7 @@ M:	Volodymyr Kharuk <[email protected]>
 L:	[email protected]
 S:	Supported
 W:	http://www.melexis.com
+F:	Documentation/devicetree/bindings/media/i2c/melexis,mlx7502x.yaml
 F:	include/uapi/linux/mlx7502x.h
 
 MELFAS MIP4 TOUCHSCREEN DRIVER

Best regards,
Krzysztof

Signature · 2 lines
BR,
Volodymyr Kharuk