172051783SSakari Ailus# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
272051783SSakari Ailus# Copyright (C) 2014--2020 Intel Corporation
3c4b8c562SZhen Lei%YAML 1.2
4c4b8c562SZhen 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
436904d4a9SSakari Ailus  vcore-supply:
446904d4a9SSakari Ailus    description: Core voltage supply (VCore), sensor dependent.
456904d4a9SSakari Ailus
466904d4a9SSakari Ailus  vio-supply:
476904d4a9SSakari Ailus    description: I/O voltage supply (VIO), sensor dependent.
486904d4a9SSakari Ailus
4972051783SSakari Ailus  clocks:
5072051783SSakari Ailus    description: External clock to the sensor.
5172051783SSakari Ailus    maxItems: 1
5272051783SSakari Ailus
5372051783SSakari Ailus  clock-frequency:
5472051783SSakari Ailus    description: Frequency of the external clock to the sensor in Hz.
5572051783SSakari Ailus
5672051783SSakari Ailus  reset-gpios:
5772051783SSakari Ailus    description: Reset GPIO. Also commonly called XSHUTDOWN in hardware
5872051783SSakari Ailus      documentation.
5972051783SSakari Ailus    maxItems: 1
6072051783SSakari Ailus
6172051783SSakari Ailus  flash-leds:
6272051783SSakari Ailus    description: Flash LED phandles. See ../video-interfaces.txt for details.
6372051783SSakari Ailus
6472051783SSakari Ailus  lens-focus:
6572051783SSakari Ailus    description: Lens focus controller phandles. See ../video-interfaces.txt
6672051783SSakari Ailus      for details.
6772051783SSakari Ailus
6872051783SSakari Ailus  rotation:
6972051783SSakari Ailus    description: Rotation of the sensor.  See ../video-interfaces.txt for
7072051783SSakari Ailus      details.
7172051783SSakari Ailus    enum: [ 0, 180 ]
7272051783SSakari Ailus
7372051783SSakari Ailus  port:
74066a94e2SRob Herring    $ref: /schemas/graph.yaml#/$defs/port-base
75066a94e2SRob Herring    additionalProperties: false
76066a94e2SRob Herring
7772051783SSakari Ailus    properties:
7872051783SSakari Ailus      endpoint:
79066a94e2SRob Herring        $ref: /schemas/media/video-interfaces.yaml#
80066a94e2SRob Herring        unevaluatedProperties: false
81066a94e2SRob Herring
8272051783SSakari Ailus        properties:
83066a94e2SRob Herring          link-frequencies: true
84066a94e2SRob Herring          data-lanes: true
85aab402eaSSakari Ailus          bus-type:
861c3ac086SRob Herring            enum:
871c3ac086SRob Herring              - 1 # CSI-2 C-PHY
881c3ac086SRob Herring              - 3 # CCP2
891c3ac086SRob Herring              - 4 # CSI-2 D-PHY
90aab402eaSSakari Ailus
9172051783SSakari Ailus        required:
9272051783SSakari Ailus          - link-frequencies
9372051783SSakari Ailus          - data-lanes
94aab402eaSSakari Ailus          - bus-type
9572051783SSakari Ailus
9672051783SSakari Ailusrequired:
9772051783SSakari Ailus  - compatible
9872051783SSakari Ailus  - reg
9972051783SSakari Ailus  - clock-frequency
10072051783SSakari Ailus  - clocks
10172051783SSakari Ailus
10272051783SSakari AilusadditionalProperties: false
10372051783SSakari Ailus
10472051783SSakari Ailusexamples:
10572051783SSakari Ailus  - |
10672051783SSakari Ailus    #include <dt-bindings/gpio/gpio.h>
107c4cfd47eSLaurent Pinchart    #include <dt-bindings/media/video-interfaces.h>
10872051783SSakari Ailus
109*20a72af1SRob Herring    i2c {
11072051783SSakari Ailus        #address-cells = <1>;
11172051783SSakari Ailus        #size-cells = <0>;
11272051783SSakari Ailus
11372051783SSakari Ailus        clock-frequency = <400000>;
11472051783SSakari Ailus
11572051783SSakari Ailus        camera-sensor@10 {
11672051783SSakari Ailus            compatible = "mipi-ccs-1.0", "mipi-ccs";
11772051783SSakari Ailus            reg = <0x10>;
11872051783SSakari Ailus            reset-gpios = <&gpio3 20 GPIO_ACTIVE_LOW>;
11972051783SSakari Ailus            vana-supply = <&vaux3>;
12072051783SSakari Ailus            clocks = <&omap3_isp 0>;
12172051783SSakari Ailus            clock-frequency = <9600000>;
12272051783SSakari Ailus            port {
12372051783SSakari Ailus                ccs_ep: endpoint {
12472051783SSakari Ailus                    data-lanes = <1 2>;
12572051783SSakari Ailus                    remote-endpoint = <&csi2a_ep>;
12672051783SSakari Ailus                    link-frequencies = /bits/ 64 <199200000 210000000
12772051783SSakari Ailus                                                  499200000>;
128c4cfd47eSLaurent Pinchart                    bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;
12972051783SSakari Ailus                };
13072051783SSakari Ailus            };
13172051783SSakari Ailus        };
13272051783SSakari Ailus    };
13372051783SSakari Ailus...
134