aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/media/i2c/st,vd56g3.yaml
blob: c6673b8539dbcf16d035025e676f7f7250a5643a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
# Copyright (c) 2024 STMicroelectronics SA.
%YAML 1.2
---
$id: http://devicetree.org/schemas/media/i2c/st,vd56g3.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: STMicroelectronics VD56G3 Global Shutter Image Sensor

maintainers:
  - Benjamin Mugnier <benjamin.mugnier@foss.st.com>
  - Sylvain Petinot <sylvain.petinot@foss.st.com>

description: |-
  The STMicroelectronics VD56G3 is a 1.5 M pixel global shutter image sensor
  with an active array size of 1124 x 1364 (portrait orientation). It is
  programmable through I2C, the address is fixed to 0x10. The sensor output is
  available via CSI-2, which is configured as either 1 or 2 data lanes. The
  sensor provides 8 GPIOS that can be used for external LED signal
  (synchronized with sensor integration periods)

allOf:
  - $ref: /schemas/media/video-interface-devices.yaml#

properties:
  compatible:
    enum:
      - st,vd56g3
      - st,vd66gy
    description:
      Two variants are availables; VD56G3 is a monochrome sensor while VD66GY
      is a colour variant.

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  vcore-supply:
    description: Digital core power supply (1.15V)

  vddio-supply:
    description: Digital IO power supply (1.8V)

  vana-supply:
    description: Analog power supply (2.8V)

  reset-gpios:
    description: Sensor reset active low GPIO (XSHUTDOWN)
    maxItems: 1

  st,leds:
    description:
      List sensor's GPIOs used to control strobe light sources during exposure
      time. The numbers identify the sensor pin on which the illumination system
      is connected. GPIOs are active-high.
    $ref: /schemas/types.yaml#/definitions/uint32-array
    minItems: 1
    maxItems: 8
    items:
      minimum: 0
      maximum: 7

  port:
    $ref: /schemas/graph.yaml#/$defs/port-base
    additionalProperties: false

    properties:
      endpoint:
        $ref: /schemas/media/video-interfaces.yaml#
        unevaluatedProperties: false

        properties:
          data-lanes:
            minItems: 1
            maxItems: 2
            items:
              enum: [1, 2]

          link-frequencies:
            maxItems: 1
            items:
              enum: [402000000, 750000000]

          lane-polarities:
            minItems: 1
            maxItems: 3
            description: Any lane can be inverted or not.

        required:
          - data-lanes
          - link-frequencies

required:
  - compatible
  - reg
  - clocks
  - vcore-supply
  - vddio-supply
  - vana-supply
  - reset-gpios
  - port

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>

    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        camera-sensor@10 {
            compatible = "st,vd56g3";
            reg = <0x10>;

            clocks = <&camera_clk_12M>;

            vcore-supply = <&camera_vcore_v1v15>;
            vddio-supply = <&camera_vddio_v1v8>;
            vana-supply = <&camera_vana_v2v8>;

            reset-gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
            st,leds = <6>;

            orientation = <2>;
            rotation = <0>;

            port {
                endpoint {
                    data-lanes = <1 2>;
                    link-frequencies = /bits/ 64 <402000000>;
                    remote-endpoint = <&csiphy0_ep>;
                };
            };
        };
    };