ece309fc06b501f19eb04e409b9f616da33f72a3
[openwrt/openwrt.git] / target / linux / bcm27xx / patches-6.1 / 950-0593-dt-bindings-media-i2c-Add-IMX296-CMOS-sensor-binding.patch
1 From 7ed07a716b1aab15c91a3238dacbc1fc76ace567 Mon Sep 17 00:00:00 2001
2 From: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
3 Date: Tue, 23 Aug 2022 03:58:21 +0300
4 Subject: [PATCH] dt-bindings: media: i2c: Add IMX296 CMOS sensor
5 binding
6
7 Add YAML devicetree binding for IMX296 CMOS image sensor. Let's also
8 add MAINTAINERS entry for the binding and driver.
9
10 Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
11 Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
12 Reviewed-by: Rob Herring <robh@kernel.org>
13 Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
14 ---
15 .../bindings/media/i2c/sony,imx296.yaml | 106 ++++++++++++++++++
16 MAINTAINERS | 8 ++
17 2 files changed, 114 insertions(+)
18 create mode 100644 Documentation/devicetree/bindings/media/i2c/sony,imx296.yaml
19
20 --- /dev/null
21 +++ b/Documentation/devicetree/bindings/media/i2c/sony,imx296.yaml
22 @@ -0,0 +1,106 @@
23 +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
24 +%YAML 1.2
25 +---
26 +$id: http://devicetree.org/schemas/media/i2c/sony,imx296.yaml#
27 +$schema: http://devicetree.org/meta-schemas/core.yaml#
28 +
29 +title: Sony IMX296 1/2.8-Inch CMOS Image Sensor
30 +
31 +maintainers:
32 + - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
33 + - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
34 +
35 +description: |-
36 + The Sony IMX296 is a 1/2.9-Inch active pixel type CMOS Solid-state image
37 + sensor with square pixel array and 1.58 M effective pixels. This chip
38 + features a global shutter with variable charge-integration time. It is
39 + programmable through I2C and 4-wire interfaces. The sensor output is
40 + available via CSI-2 serial data output (1 Lane).
41 +
42 +properties:
43 + compatible:
44 + enum:
45 + - sony,imx296
46 + - sony,imx296ll
47 + - sony,imx296lq
48 + description:
49 + The IMX296 sensor exists in two different models, a colour variant
50 + (IMX296LQ) and a monochrome variant (IMX296LL). The device exposes the
51 + model through registers, allowing for auto-detection with a common
52 + "sony,imx296" compatible string. However, some camera modules disable the
53 + ability to read the sensor model register, which disables this feature.
54 + In those cases, the exact model needs to be specified as "sony,imx296ll"
55 + or "sony,imx296lq".
56 +
57 + reg:
58 + maxItems: 1
59 +
60 + clocks:
61 + maxItems: 1
62 +
63 + clock-names:
64 + description: Input clock (37.125 MHz, 54 MHz or 74.25 MHz)
65 + items:
66 + - const: inck
67 +
68 + avdd-supply:
69 + description: Analog power supply (3.3V)
70 +
71 + dvdd-supply:
72 + description: Digital power supply (1.2V)
73 +
74 + ovdd-supply:
75 + description: Interface power supply (1.8V)
76 +
77 + reset-gpios:
78 + description: Sensor reset (XCLR) GPIO
79 + maxItems: 1
80 +
81 + port:
82 + $ref: /schemas/graph.yaml#/properties/port
83 +
84 +required:
85 + - compatible
86 + - reg
87 + - clocks
88 + - clock-names
89 + - avdd-supply
90 + - dvdd-supply
91 + - ovdd-supply
92 + - port
93 +
94 +additionalProperties: false
95 +
96 +examples:
97 + - |
98 + #include <dt-bindings/gpio/gpio.h>
99 +
100 + i2c {
101 + #address-cells = <1>;
102 + #size-cells = <0>;
103 +
104 + imx296: camera-sensor@1a {
105 + compatible = "sony,imx296";
106 + reg = <0x1a>;
107 +
108 + pinctrl-names = "default";
109 + pinctrl-0 = <&camera_rear_default>;
110 +
111 + clocks = <&gcc 90>;
112 + clock-names = "inck";
113 +
114 + avdd-supply = <&camera_vdda_3v3>;
115 + dvdd-supply = <&camera_vddd_1v2>;
116 + ovdd-supply = <&camera_vddo_1v8>;
117 +
118 + reset-gpios = <&msmgpio 35 GPIO_ACTIVE_LOW>;
119 +
120 + port {
121 + imx296_ep: endpoint {
122 + remote-endpoint = <&csiphy0_ep>;
123 + };
124 + };
125 + };
126 + };
127 +
128 +...
129 --- a/MAINTAINERS
130 +++ b/MAINTAINERS
131 @@ -19274,6 +19274,14 @@ T: git git://linuxtv.org/media_tree.git
132 F: Documentation/devicetree/bindings/media/i2c/imx290.txt
133 F: drivers/media/i2c/imx290.c
134
135 +SONY IMX296 SENSOR DRIVER
136 +M: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
137 +M: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
138 +L: linux-media@vger.kernel.org
139 +S: Maintained
140 +T: git git://linuxtv.org/media_tree.git
141 +F: Documentation/devicetree/bindings/media/i2c/sony,imx296.yaml
142 +
143 SONY IMX319 SENSOR DRIVER
144 M: Bingbu Cao <bingbu.cao@intel.com>
145 L: linux-media@vger.kernel.org