[PATCH 1/4] media: dt-bindings: Add Sony IMX728

Sebastian LaVine
2025-02-12T19:57:23Z

Adds bindings for the Sony IMX728.

Signed-off-by: Sebastian LaVine <slavine@d3embedded.com>
Mentored-by: Stuart Burtner <sburtner@d3embedded.com>
---
.../bindings/media/i2c/sony,imx728.yaml | 96 +++++++++++++++++++
MAINTAINERS | 6 ++
2 files changed, 102 insertions(+)
create mode 100644 Documentation/devicetree/bindings/media/i2c/sony,imx728.yaml

diff --git a/Documentation/devicetree/bindings/media/i2c/sony,imx728.yaml b/Documentation/devicetree/bindings/media/i2c/sony,imx728.yaml
new file mode 100644
index 000000000000..f76000ed7bff
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/i2c/sony,imx728.yaml
@@ -0,0 +1,96 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/i2c/sony,imx728.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Sony IMX728 Camera Sensor
+
+maintainers:
+ - Stuart Burtner <sburtner@d3embedded.com>
+
+description:
+ The Sony IMX728 is a 1/1.72-Inch CMOS Solid-state image sensor with a
+ color square pixel array and 8.39M active pixels. It is programmed
+ through an I2C interface.
+
+ The sensor can output up to 3840x2160 at a maximum of 45 frames/s over
+ a CSI-2 serial interface. It supports RAW24/20/16/12 and 10.
+
+properties:
+ compatible:
+ enum:
+ - sony,imx728
+
+ reg:
+ maxItems: 1
+
+ clocks:
+ description: Clock frequency from 18 to 30MHz
+ maxItems: 1
+
+ clock-names:
+ const: inck
+
+ reset-gpios:
+ maxItems: 1
+ description:
+ Specifier for the GPIO connected to the XCLR (System Reset) pin.
+
+ error0-gpios:
+ maxItems: 1
+ description:
+ Specifier for the GPIO connected to the XWRN pin.
+
+ error1-gpios:
+ maxItems: 1
+ description:
+ Specifier for the GPIO connected to the XERR pin.
+
+ port:
+ $ref: /schemas/graph.yaml#/properties/port
+ additionalProperties: false
+
+ properties:
+ endpoint:
+ $ref: ../video-interfaces.yaml#
+ unevaluatedProperties: false
+
+required:
+ - compatible
+ - reg
+ - clocks
+ - clock-names
+ - port
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+
+ i2c {
+ clock-frequency = <400000>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ camera@1a {
+ compatible = "sony,imx728";
+ reg = <0x1a>;
+
+ clocks = <&fixed_clock>;
+ clock-names = "inck";
+
+ reset-gpios = <&gpio4 17 GPIO_ACTIVE_LOW>;
+ error0-gpios = <&sens_exp 1 GPIO_ACTIVE_HIGH>;
+ error1-gpios = <&sens_exp 2 GPIO_ACTIVE_HIGH>;
+
+ port {
+ camera1: endpoint {
+ remote-endpoint = <&vin1a_ep>;
+ };
+ };
+ };
+ };
+
+...
diff --git a/MAINTAINERS b/MAINTAINERS
index 575f0e6f0532..50bff3558d7d 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -21885,6 +21885,12 @@ T: git git://linuxtv.org/media.git
F: Documentation/devicetree/bindings/media/i2c/sony,imx415.yaml
F: drivers/media/i2c/imx415.c

+SONY IMX728 SENSOR DRIVER
+M: Stuart Burtner <sburtner@d3embedded.com>
+L: linux-media@vger.kernel.org
+S: Odd Fixes
+F: Documentation/devicetree/bindings/media/i2c/sony,imx728.yaml
+
SONY MEMORYSTICK SUBSYSTEM
M: Maxim Levitsky <maximlevitsky@gmail.com>
M: Alex Dubov <oakad@yahoo.com>
--
2.34.1