1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2# Copyright (C) 2014--2020 Intel Corporation
3%YAML 1.2
4---
5$id: http://devicetree.org/schemas/media/i2c/mipi-ccs.yaml#
6$schema: http://devicetree.org/meta-schemas/core.yaml#
7
8title: MIPI CCS, SMIA++ and SMIA compliant camera sensors
9
10maintainers:
11  - Sakari Ailus <sakari.ailus@linux.intel.com>
12
13description:
14
15  CCS (Camera Command Set) is a raw Bayer camera sensor standard defined by the
16  MIPI Alliance; see
17  <URL:https://www.mipi.org/specifications/camera-command-set>.
18
19  SMIA (Standard Mobile Imaging Architecture) is an image sensor standard
20  defined jointly by Nokia and ST. SMIA++, defined by Nokia, is an extension of
21  that.
22
23  More detailed documentation can be found in
24  Documentation/devicetree/bindings/media/video-interfaces.txt .
25
26properties:
27  compatible:
28    oneOf:
29      - items:
30          - const: mipi-ccs-1.1
31          - const: mipi-ccs
32      - items:
33          - const: mipi-ccs-1.0
34          - const: mipi-ccs
35      - const: nokia,smia
36
37  reg:
38    maxItems: 1
39
40  vana-supply:
41    description: Analogue voltage supply (VANA), sensor dependent.
42
43  vcore-supply:
44    description: Core voltage supply (VCore), sensor dependent.
45
46  vio-supply:
47    description: I/O voltage supply (VIO), sensor dependent.
48
49  clocks:
50    description: External clock to the sensor.
51    maxItems: 1
52
53  clock-frequency:
54    description: Frequency of the external clock to the sensor in Hz.
55
56  reset-gpios:
57    description: Reset GPIO. Also commonly called XSHUTDOWN in hardware
58      documentation.
59    maxItems: 1
60
61  flash-leds:
62    description: Flash LED phandles. See ../video-interfaces.txt for details.
63
64  lens-focus:
65    description: Lens focus controller phandles. See ../video-interfaces.txt
66      for details.
67
68  rotation:
69    description: Rotation of the sensor.  See ../video-interfaces.txt for
70      details.
71    enum: [ 0, 180 ]
72
73  port:
74    $ref: /schemas/graph.yaml#/$defs/port-base
75    additionalProperties: false
76
77    properties:
78      endpoint:
79        $ref: /schemas/media/video-interfaces.yaml#
80        unevaluatedProperties: false
81
82        properties:
83          link-frequencies: true
84          data-lanes: true
85          bus-type:
86            enum:
87              - 1 # CSI-2 C-PHY
88              - 3 # CCP2
89              - 4 # CSI-2 D-PHY
90
91        required:
92          - link-frequencies
93          - data-lanes
94          - bus-type
95
96required:
97  - compatible
98  - reg
99  - clock-frequency
100  - clocks
101
102additionalProperties: false
103
104examples:
105  - |
106    #include <dt-bindings/gpio/gpio.h>
107    #include <dt-bindings/media/video-interfaces.h>
108
109    i2c {
110        #address-cells = <1>;
111        #size-cells = <0>;
112
113        clock-frequency = <400000>;
114
115        camera-sensor@10 {
116            compatible = "mipi-ccs-1.0", "mipi-ccs";
117            reg = <0x10>;
118            reset-gpios = <&gpio3 20 GPIO_ACTIVE_LOW>;
119            vana-supply = <&vaux3>;
120            clocks = <&omap3_isp 0>;
121            clock-frequency = <9600000>;
122            port {
123                ccs_ep: endpoint {
124                    data-lanes = <1 2>;
125                    remote-endpoint = <&csi2a_ep>;
126                    link-frequencies = /bits/ 64 <199200000 210000000
127                                                  499200000>;
128                    bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;
129                };
130            };
131        };
132    };
133...
134