xref: /openbmc/linux/Documentation/devicetree/bindings/media/i2c/mipi-ccs.yaml (revision c4b8c562a75f568026038c001cfa7737dac272da)
172051783SSakari Ailus# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
272051783SSakari Ailus# Copyright (C) 2014--2020 Intel Corporation
3*c4b8c562SZhen Lei%YAML 1.2
4*c4b8c562SZhen Lei---
572051783SSakari Ailus$id: http://devicetree.org/schemas/media/i2c/mipi-ccs.yaml#
672051783SSakari Ailus$schema: http://devicetree.org/meta-schemas/core.yaml#
772051783SSakari Ailus
872051783SSakari Ailustitle: MIPI CCS, SMIA++ and SMIA compliant camera sensors
972051783SSakari Ailus
1072051783SSakari Ailusmaintainers:
1172051783SSakari Ailus  - Sakari Ailus <sakari.ailus@linux.intel.com>
1272051783SSakari Ailus
1372051783SSakari Ailusdescription:
1472051783SSakari Ailus
1572051783SSakari Ailus  CCS (Camera Command Set) is a raw Bayer camera sensor standard defined by the
1672051783SSakari Ailus  MIPI Alliance; see
1772051783SSakari Ailus  <URL:https://www.mipi.org/specifications/camera-command-set>.
1872051783SSakari Ailus
1972051783SSakari Ailus  SMIA (Standard Mobile Imaging Architecture) is an image sensor standard
2072051783SSakari Ailus  defined jointly by Nokia and ST. SMIA++, defined by Nokia, is an extension of
2172051783SSakari Ailus  that.
2272051783SSakari Ailus
2372051783SSakari Ailus  More detailed documentation can be found in
2472051783SSakari Ailus  Documentation/devicetree/bindings/media/video-interfaces.txt .
2572051783SSakari Ailus
2672051783SSakari Ailusproperties:
2772051783SSakari Ailus  compatible:
2872051783SSakari Ailus    oneOf:
2972051783SSakari Ailus      - items:
3072051783SSakari Ailus          - const: mipi-ccs-1.1
3172051783SSakari Ailus          - const: mipi-ccs
3272051783SSakari Ailus      - items:
3372051783SSakari Ailus          - const: mipi-ccs-1.0
3472051783SSakari Ailus          - const: mipi-ccs
3572051783SSakari Ailus      - const: nokia,smia
3672051783SSakari Ailus
3772051783SSakari Ailus  reg:
3872051783SSakari Ailus    maxItems: 1
3972051783SSakari Ailus
4072051783SSakari Ailus  vana-supply:
4187e4b53fSSakari Ailus    description: Analogue voltage supply (VANA), sensor dependent.
4272051783SSakari Ailus    maxItems: 1
4372051783SSakari Ailus
446904d4a9SSakari Ailus  vcore-supply:
456904d4a9SSakari Ailus    description: Core voltage supply (VCore), sensor dependent.
466904d4a9SSakari Ailus    maxItems: 1
476904d4a9SSakari Ailus
486904d4a9SSakari Ailus  vio-supply:
496904d4a9SSakari Ailus    description: I/O voltage supply (VIO), sensor dependent.
506904d4a9SSakari Ailus    maxItems: 1
516904d4a9SSakari Ailus
5272051783SSakari Ailus  clocks:
5372051783SSakari Ailus    description: External clock to the sensor.
5472051783SSakari Ailus    maxItems: 1
5572051783SSakari Ailus
5672051783SSakari Ailus  clock-frequency:
5772051783SSakari Ailus    description: Frequency of the external clock to the sensor in Hz.
5872051783SSakari Ailus
5972051783SSakari Ailus  reset-gpios:
6072051783SSakari Ailus    description: Reset GPIO. Also commonly called XSHUTDOWN in hardware
6172051783SSakari Ailus      documentation.
6272051783SSakari Ailus    maxItems: 1
6372051783SSakari Ailus
6472051783SSakari Ailus  flash-leds:
6572051783SSakari Ailus    description: Flash LED phandles. See ../video-interfaces.txt for details.
6672051783SSakari Ailus
6772051783SSakari Ailus  lens-focus:
6872051783SSakari Ailus    description: Lens focus controller phandles. See ../video-interfaces.txt
6972051783SSakari Ailus      for details.
7072051783SSakari Ailus
7172051783SSakari Ailus  rotation:
7272051783SSakari Ailus    description: Rotation of the sensor.  See ../video-interfaces.txt for
7372051783SSakari Ailus      details.
7472051783SSakari Ailus    enum: [ 0, 180 ]
7572051783SSakari Ailus
7672051783SSakari Ailus  port:
7772051783SSakari Ailus    type: object
7872051783SSakari Ailus    properties:
7972051783SSakari Ailus      endpoint:
8072051783SSakari Ailus        type: object
8172051783SSakari Ailus        properties:
8272051783SSakari Ailus          link-frequencies:
8372051783SSakari Ailus            $ref: /schemas/types.yaml#/definitions/uint64-array
8472051783SSakari Ailus            description: List of allowed data link frequencies.
8572051783SSakari Ailus          data-lanes:
8672051783SSakari Ailus            minItems: 1
8772051783SSakari Ailus            maxItems: 8
88aab402eaSSakari Ailus          bus-type:
89aab402eaSSakari Ailus            description: The type of the data bus.
90aab402eaSSakari Ailus            oneOf:
91aab402eaSSakari Ailus              - const: 1 # CSI-2 C-PHY
92aab402eaSSakari Ailus              - const: 3 # CCP2
93aab402eaSSakari Ailus              - const: 4 # CSI-2 D-PHY
94aab402eaSSakari Ailus
9572051783SSakari Ailus        required:
9672051783SSakari Ailus          - link-frequencies
9772051783SSakari Ailus          - data-lanes
98aab402eaSSakari Ailus          - bus-type
9972051783SSakari Ailus
10072051783SSakari Ailusrequired:
10172051783SSakari Ailus  - compatible
10272051783SSakari Ailus  - reg
10372051783SSakari Ailus  - clock-frequency
10472051783SSakari Ailus  - clocks
10572051783SSakari Ailus
10672051783SSakari AilusadditionalProperties: false
10772051783SSakari Ailus
10872051783SSakari Ailusexamples:
10972051783SSakari Ailus  - |
11072051783SSakari Ailus    #include <dt-bindings/gpio/gpio.h>
11172051783SSakari Ailus
11272051783SSakari Ailus    i2c2 {
11372051783SSakari Ailus        #address-cells = <1>;
11472051783SSakari Ailus        #size-cells = <0>;
11572051783SSakari Ailus
11672051783SSakari Ailus        clock-frequency = <400000>;
11772051783SSakari Ailus
11872051783SSakari Ailus        camera-sensor@10 {
11972051783SSakari Ailus            compatible = "mipi-ccs-1.0", "mipi-ccs";
12072051783SSakari Ailus            reg = <0x10>;
12172051783SSakari Ailus            reset-gpios = <&gpio3 20 GPIO_ACTIVE_LOW>;
12272051783SSakari Ailus            vana-supply = <&vaux3>;
12372051783SSakari Ailus            clocks = <&omap3_isp 0>;
12472051783SSakari Ailus            clock-frequency = <9600000>;
12572051783SSakari Ailus            port {
12672051783SSakari Ailus                ccs_ep: endpoint {
12772051783SSakari Ailus                    data-lanes = <1 2>;
12872051783SSakari Ailus                    remote-endpoint = <&csi2a_ep>;
12972051783SSakari Ailus                    link-frequencies = /bits/ 64 <199200000 210000000
13072051783SSakari Ailus                                                  499200000>;
131aab402eaSSakari Ailus                    bus-type = <4>;
13272051783SSakari Ailus                };
13372051783SSakari Ailus            };
13472051783SSakari Ailus        };
13572051783SSakari Ailus    };
13672051783SSakari Ailus...
137