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    type: object
75    properties:
76      endpoint:
77        type: object
78        properties:
79          link-frequencies:
80            $ref: /schemas/types.yaml#/definitions/uint64-array
81            description: List of allowed data link frequencies.
82          data-lanes:
83            minItems: 1
84            maxItems: 8
85          bus-type:
86            description: The type of the data bus.
87            oneOf:
88              - const: 1 # CSI-2 C-PHY
89              - const: 3 # CCP2
90              - const: 4 # CSI-2 D-PHY
91
92        required:
93          - link-frequencies
94          - data-lanes
95          - bus-type
96
97required:
98  - compatible
99  - reg
100  - clock-frequency
101  - clocks
102
103additionalProperties: false
104
105examples:
106  - |
107    #include <dt-bindings/gpio/gpio.h>
108
109    i2c2 {
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 = <4>;
129                };
130            };
131        };
132    };
133...
134