[PATCH v3 1/2] Add bindings for ams Mira220 cmos image sensor

From: philippe baetens
Date: Tue Jul 01 2025 - 11:13:29 EST


Mira220 is a global shutter NIR-enhanced image sensor made by AMS.
Driver is submitted in the next patch of this series and verified on a raspberry pi.

Signed-off-by: philippe baetens <philippebaetens@xxxxxxxxx>
---
Changes in v3:
- Improve commit message
- add mailing list for device tree.

Changes in v2:
- add maintainers and Documentation.yaml

---
.../bindings/media/i2c/ams,mira220.yaml | 125 ++++++++++++++++++
MAINTAINERS | 6 +
2 files changed, 131 insertions(+)
create mode 100644 Documentation/devicetree/bindings/media/i2c/ams,mira220.yaml

diff --git a/Documentation/devicetree/bindings/media/i2c/ams,mira220.yaml b/Documentation/devicetree/bindings/media/i2c/ams,mira220.yaml
new file mode 100644
index 000000000..21a55ff07
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/i2c/ams,mira220.yaml
@@ -0,0 +1,125 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/i2c/ams,mira220.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: ams 2.2 MP NIR enhanced global shutter image sensor
+
+maintainers:
+ - Philippe Baetens <philippebaetens@xxxxxxxxx>
+
+description: |-
+ 2.2 MP NIR enhanced global shutter image sensor designed for 2D and 3D
+ consumer and industrial machine vision applications.
+ Due to its small size, configurability and high sensitivity both
+ in visual as well as NIR, the Mira220 is well suited for 2D and
+ 3D applications, which include Active Stereo Vision,
+ Structured Light Vision for Robotics and AR/VR.
+
+properties:
+ compatible:
+ const: ams,mira220
+
+ reg:
+ maxItems: 1
+
+ clocks:
+ maxItems: 1
+
+ clock-names:
+ description: Input clock (38.4 MHz)
+ items:
+ - const: inck
+
+ vdig-supply:
+ description:
+ Digital I/O voltage supply, 1.35 volts
+
+ vana1-supply:
+ description:
+ Analog1 voltage supply, 2.8 volts
+
+ vana2-supply:
+ description:
+ Analog2 voltage supply, 1.8 volts
+
+ vddl-supply:
+ description:
+ Digital core voltage supply, 1.8 volts
+
+ reset-gpios:
+ description: Sensor reset (XCLR) GPIO
+ maxItems: 1
+
+ port:
+ $ref: /schemas/graph.yaml#/$defs/port-base
+ description: |
+ Video output port
+
+ 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
+
+ link-frequencies: true
+
+ required:
+ - data-lanes
+ - link-frequencies
+
+ additionalProperties: false
+
+required:
+ - compatible
+ - reg
+ - clocks
+ - clock-names
+ - vdig-supply
+ - vana-supply
+ - vddl-supply
+ - port
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ mira220: camera-sensor@1a {
+ compatible = "ams,mira220";
+ reg = <0x54>;
+
+ clocks = <&cam1_clk>;
+ clock-names = "xclk";
+
+ vana-supply = <&cam1_reg>; /* 2.5v */
+ vdig-supply = <&cam_dummy_reg>; /* 1.8v */
+ vddl-supply = <&cam_dummy_reg>; /* 1.35v */
+
+ port {
+ mira220_ep: endpoint {
+ clock-lanes = <0>;
+ data-lanes = <1 2>;
+ link-frequencies = /bits/ 64 <750000000>;
+ };
+ };
+ };
+ };
+...
diff --git a/MAINTAINERS b/MAINTAINERS
index da34c7227..5cb93390f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1330,6 +1330,12 @@ S: Maintained
F: Documentation/devicetree/bindings/iio/light/ams,as73211.yaml
F: drivers/iio/light/as73211.c

+AMS MIRA220 DRIVER
+M: Philippe Baetens <philippebaetens@xxxxxxxxx>
+S: Maintained
+F: Documentation/devicetree/bindings/media/i2c/ams,mira220.yaml
+F: drivers/media/i2c/mira220.c
+
AMT (Automatic Multicast Tunneling)
M: Taehee Yoo <ap420073@xxxxxxxxx>
L: netdev@xxxxxxxxxxxxxxx
--
2.39.5