xref: /openbmc/linux/Documentation/devicetree/bindings/media/i2c/sony,imx214.yaml (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
18d9b35a2SJacopo Mondi# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28d9b35a2SJacopo Mondi%YAML 1.2
38d9b35a2SJacopo Mondi---
48d9b35a2SJacopo Mondi$id: http://devicetree.org/schemas/media/i2c/sony,imx214.yaml#
58d9b35a2SJacopo Mondi$schema: http://devicetree.org/meta-schemas/core.yaml#
68d9b35a2SJacopo Mondi
78d9b35a2SJacopo Mondititle: Sony 1/3.06-Inch 13.13MP CMOS Digital Image Sensor
88d9b35a2SJacopo Mondi
98d9b35a2SJacopo Mondimaintainers:
108d9b35a2SJacopo Mondi  - Ricardo Ribalda <ribalda@kernel.org>
118d9b35a2SJacopo Mondi
128d9b35a2SJacopo Mondidescription: |
138d9b35a2SJacopo Mondi  The Sony IMX214 is a 1/3.06-inch CMOS active pixel digital image sensor with
148d9b35a2SJacopo Mondi  an active array size of 4224H x 3200V. It is programmable through an I2C
158d9b35a2SJacopo Mondi  interface. Image data is sent through MIPI CSI-2, through 2 or 4 lanes at a
168d9b35a2SJacopo Mondi  maximum throughput of 1.2Gbps/lane.
178d9b35a2SJacopo Mondi
18066a94e2SRob HerringallOf:
19066a94e2SRob Herring  - $ref: ../video-interface-devices.yaml#
20066a94e2SRob Herring
218d9b35a2SJacopo Mondiproperties:
228d9b35a2SJacopo Mondi  compatible:
238d9b35a2SJacopo Mondi    const: sony,imx214
248d9b35a2SJacopo Mondi
258d9b35a2SJacopo Mondi  reg:
268d9b35a2SJacopo Mondi    enum:
278d9b35a2SJacopo Mondi      - 0x10
288d9b35a2SJacopo Mondi      - 0x1a
298d9b35a2SJacopo Mondi
308d9b35a2SJacopo Mondi  clocks:
318d9b35a2SJacopo Mondi    description: Reference to the xclk clock.
328d9b35a2SJacopo Mondi    maxItems: 1
338d9b35a2SJacopo Mondi
348d9b35a2SJacopo Mondi  clock-frequency:
358d9b35a2SJacopo Mondi    description: Frequency of the xclk clock in Hz.
368d9b35a2SJacopo Mondi
378d9b35a2SJacopo Mondi  enable-gpios:
388d9b35a2SJacopo Mondi    description: GPIO descriptor for the enable pin.
398d9b35a2SJacopo Mondi    maxItems: 1
408d9b35a2SJacopo Mondi
418d9b35a2SJacopo Mondi  vdddo-supply:
428d9b35a2SJacopo Mondi    description: Chip digital IO regulator (1.8V).
438d9b35a2SJacopo Mondi
448d9b35a2SJacopo Mondi  vdda-supply:
458d9b35a2SJacopo Mondi    description: Chip analog regulator (2.7V).
468d9b35a2SJacopo Mondi
478d9b35a2SJacopo Mondi  vddd-supply:
488d9b35a2SJacopo Mondi    description: Chip digital core regulator (1.12V).
498d9b35a2SJacopo Mondi
50066a94e2SRob Herring  flash-leds: true
51066a94e2SRob Herring  lens-focus: true
528d9b35a2SJacopo Mondi
538d9b35a2SJacopo Mondi  port:
54066a94e2SRob Herring    $ref: /schemas/graph.yaml#/$defs/port-base
558d9b35a2SJacopo Mondi    description: |
56066a94e2SRob Herring      Video output port.
578d9b35a2SJacopo Mondi
588d9b35a2SJacopo Mondi    properties:
598d9b35a2SJacopo Mondi      endpoint:
60066a94e2SRob Herring        $ref: /schemas/media/video-interfaces.yaml#
61066a94e2SRob Herring        unevaluatedProperties: false
628d9b35a2SJacopo Mondi
638d9b35a2SJacopo Mondi        properties:
648d9b35a2SJacopo Mondi          data-lanes:
658d9b35a2SJacopo Mondi            anyOf:
668d9b35a2SJacopo Mondi              - items:
678d9b35a2SJacopo Mondi                  - const: 1
688d9b35a2SJacopo Mondi                  - const: 2
698d9b35a2SJacopo Mondi              - items:
708d9b35a2SJacopo Mondi                  - const: 1
718d9b35a2SJacopo Mondi                  - const: 2
728d9b35a2SJacopo Mondi                  - const: 3
738d9b35a2SJacopo Mondi                  - const: 4
748d9b35a2SJacopo Mondi
75066a94e2SRob Herring          link-frequencies: true
768d9b35a2SJacopo Mondi
778d9b35a2SJacopo Mondi        required:
788d9b35a2SJacopo Mondi          - data-lanes
798d9b35a2SJacopo Mondi          - link-frequencies
808d9b35a2SJacopo Mondi
818d9b35a2SJacopo Mondi    additionalProperties: false
828d9b35a2SJacopo Mondi
838d9b35a2SJacopo Mondirequired:
848d9b35a2SJacopo Mondi  - compatible
858d9b35a2SJacopo Mondi  - reg
868d9b35a2SJacopo Mondi  - clocks
878d9b35a2SJacopo Mondi  - clock-frequency
888d9b35a2SJacopo Mondi  - enable-gpios
898d9b35a2SJacopo Mondi  - vdddo-supply
908d9b35a2SJacopo Mondi  - vdda-supply
918d9b35a2SJacopo Mondi  - vddd-supply
928d9b35a2SJacopo Mondi  - port
938d9b35a2SJacopo Mondi
948d9b35a2SJacopo MondiadditionalProperties: false
958d9b35a2SJacopo Mondi
968d9b35a2SJacopo Mondiexamples:
978d9b35a2SJacopo Mondi  - |
988d9b35a2SJacopo Mondi    #include <dt-bindings/gpio/gpio.h>
998d9b35a2SJacopo Mondi
100*20a72af1SRob Herring    i2c {
1018d9b35a2SJacopo Mondi        #address-cells = <1>;
1028d9b35a2SJacopo Mondi        #size-cells = <0>;
1038d9b35a2SJacopo Mondi
1048d9b35a2SJacopo Mondi        camera-sensor@1a {
1058d9b35a2SJacopo Mondi            compatible = "sony,imx214";
1068d9b35a2SJacopo Mondi            reg = <0x1a>;
1078d9b35a2SJacopo Mondi            vdddo-supply = <&pm8994_lvs1>;
1088d9b35a2SJacopo Mondi            vddd-supply = <&camera_vddd_1v12>;
1098d9b35a2SJacopo Mondi            vdda-supply = <&pm8994_l17>;
1108d9b35a2SJacopo Mondi            lens-focus = <&ad5820>;
1118d9b35a2SJacopo Mondi            enable-gpios = <&msmgpio 25 GPIO_ACTIVE_HIGH>;
1128d9b35a2SJacopo Mondi            clocks = <&camera_clk>;
1138d9b35a2SJacopo Mondi            clock-frequency = <24000000>;
1148d9b35a2SJacopo Mondi
1158d9b35a2SJacopo Mondi            port {
1168d9b35a2SJacopo Mondi                imx214_ep: endpoint {
1178d9b35a2SJacopo Mondi                    data-lanes = <1 2 3 4>;
1188d9b35a2SJacopo Mondi                    link-frequencies = /bits/ 64 <480000000>;
1198d9b35a2SJacopo Mondi                    remote-endpoint = <&csiphy0_ep>;
1208d9b35a2SJacopo Mondi                };
1218d9b35a2SJacopo Mondi            };
1228d9b35a2SJacopo Mondi        };
1238d9b35a2SJacopo Mondi    };
1248d9b35a2SJacopo Mondi
1258d9b35a2SJacopo Mondi...
126