kernel: bump 5.4 to 5.4.48
[oweals/openwrt.git] / target / linux / bcm27xx / patches-5.4 / 950-0457-media-dt-bindings-media-i2c-Add-IMX219-CMOS-sensor-b.patch
1 From a3ceeebaaa66e6786490e850b5019808da3785c0 Mon Sep 17 00:00:00 2001
2 From: Andrey Konovalov <andrey.konovalov@linaro.org>
3 Date: Mon, 20 Jan 2020 05:15:57 -0300
4 Subject: [PATCH] media: dt-bindings: media: i2c: Add IMX219 CMOS
5  sensor binding
6
7 Commit 9d730f2cf4c0391785855dd231577d2de2594df9 upstream.
8 (Currently on linux-media/master, queued for 5.7)
9
10 Add YAML device tree binding for IMX219 CMOS image sensor, and
11 the relevant MAINTAINERS entries.
12
13 Signed-off-by: Andrey Konovalov <andrey.konovalov@linaro.org>
14 Reviewed-by: Rob Herring <robh@kernel.org>
15 Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
16 Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
17 ---
18  .../devicetree/bindings/media/i2c/imx219.yaml | 114 ++++++++++++++++++
19  MAINTAINERS                                   |   8 ++
20  2 files changed, 122 insertions(+)
21  create mode 100644 Documentation/devicetree/bindings/media/i2c/imx219.yaml
22
23 --- /dev/null
24 +++ b/Documentation/devicetree/bindings/media/i2c/imx219.yaml
25 @@ -0,0 +1,114 @@
26 +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
27 +%YAML 1.2
28 +---
29 +$id: http://devicetree.org/schemas/media/i2c/imx219.yaml#
30 +$schema: http://devicetree.org/meta-schemas/core.yaml#
31 +
32 +title: Sony 1/4.0-Inch 8Mpixel CMOS Digital Image Sensor
33 +
34 +maintainers:
35 +  - Dave Stevenson <dave.stevenson@raspberrypi.com>
36 +
37 +description: |-
38 +  The Sony imx219 is a 1/4.0-inch CMOS active pixel digital image sensor
39 +  with an active array size of 3280H x 2464V. It is programmable through
40 +  I2C interface. The I2C address is fixed to 0x10 as per sensor data sheet.
41 +  Image data is sent through MIPI CSI-2, which is configured as either 2 or
42 +  4 data lanes.
43 +
44 +properties:
45 +  compatible:
46 +    const: sony,imx219
47 +
48 +  reg:
49 +    description: I2C device address
50 +    maxItems: 1
51 +
52 +  clocks:
53 +    maxItems: 1
54 +
55 +  VDIG-supply:
56 +    description:
57 +      Digital I/O voltage supply, 1.8 volts
58 +
59 +  VANA-supply:
60 +    description:
61 +      Analog voltage supply, 2.8 volts
62 +
63 +  VDDL-supply:
64 +    description:
65 +      Digital core voltage supply, 1.2 volts
66 +
67 +  reset-gpios:
68 +    description: |-
69 +      Reference to the GPIO connected to the xclr pin, if any.
70 +      Must be released (set high) after all supplies are applied.
71 +
72 +  # See ../video-interfaces.txt for more details
73 +  port:
74 +    type: object
75 +    properties:
76 +      endpoint:
77 +        type: object
78 +        properties:
79 +          data-lanes:
80 +            description: |-
81 +              The sensor supports either two-lane, or four-lane operation.
82 +              If this property is omitted four-lane operation is assumed.
83 +              For two-lane operation the property must be set to <1 2>.
84 +            items:
85 +              - const: 1
86 +              - const: 2
87 +
88 +          clock-noncontinuous:
89 +            type: boolean
90 +            description: |-
91 +              MIPI CSI-2 clock is non-continuous if this property is present,
92 +              otherwise it's continuous.
93 +
94 +          link-frequencies:
95 +            allOf:
96 +              - $ref: /schemas/types.yaml#/definitions/uint64-array
97 +            description:
98 +              Allowed data bus frequencies.
99 +
100 +        required:
101 +          - link-frequencies
102 +
103 +required:
104 +  - compatible
105 +  - reg
106 +  - clocks
107 +  - VANA-supply
108 +  - VDIG-supply
109 +  - VDDL-supply
110 +  - port
111 +
112 +additionalProperties: false
113 +
114 +examples:
115 +  - |
116 +    i2c0 {
117 +        #address-cells = <1>;
118 +        #size-cells = <0>;
119 +
120 +        imx219: sensor@10 {
121 +            compatible = "sony,imx219";
122 +            reg = <0x10>;
123 +            clocks = <&imx219_clk>;
124 +            VANA-supply = <&imx219_vana>;   /* 2.8v */
125 +            VDIG-supply = <&imx219_vdig>;   /* 1.8v */
126 +            VDDL-supply = <&imx219_vddl>;   /* 1.2v */
127 +
128 +            port {
129 +                imx219_0: endpoint {
130 +                    remote-endpoint = <&csi1_ep>;
131 +                    data-lanes = <1 2>;
132 +                    clock-noncontinuous;
133 +                    link-frequencies = /bits/ 64 <456000000>;
134 +                };
135 +            };
136 +        };
137 +    };
138 +
139 +...
140 --- a/MAINTAINERS
141 +++ b/MAINTAINERS
142 @@ -15142,6 +15142,14 @@ S:     Maintained
143  F:     drivers/media/i2c/imx214.c
144  F:     Documentation/devicetree/bindings/media/i2c/sony,imx214.txt
145  
146 +SONY IMX219 SENSOR DRIVER
147 +M:     Dave Stevenson <dave.stevenson@raspberrypi.com>
148 +L:     linux-media@vger.kernel.org
149 +T:     git git://linuxtv.org/media_tree.git
150 +S:     Maintained
151 +F:     drivers/media/i2c/imx219.c
152 +F:     Documentation/devicetree/bindings/media/i2c/imx219.yaml
153 +
154  SONY IMX258 SENSOR DRIVER
155  M:     Sakari Ailus <sakari.ailus@linux.intel.com>
156  L:     linux-media@vger.kernel.org