aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/media/i2c/st,vd55g1.yaml
blob: 3c071e6fbea613e560f63d38af579421daee0efb (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
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
# Copyright (c) 2025 STMicroelectronics SA.
%YAML 1.2
---
$id: http://devicetree.org/schemas/media/i2c/st,vd55g1.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: STMicroelectronics VD55G1 Global Shutter Image Sensor

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

description: |-
 The STMicroelectronics VD55G1 is a global shutter image sensor with an active
 array size of 804H x 704V. It is programmable through I2C interface. The I2C
 address is fixed to 0x10.

 Image data is sent through MIPI CSI-2, which is configured as only 1 data
 lane. The sensor provides 4 GPIOS that can be used for external LED signal
 (synchronized with sensor integration periods).

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

properties:
  compatible:
    const: st,vd55g1

  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: 4
    items:
      minimum: 0
      maximum: 3

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

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

        properties:
          data-lanes:
            items:
              - const: 1

          link-frequencies:
            maxItems: 1
            items:
              minimum: 125000000
              maximum: 600000000

          lane-polarities:
            minItems: 1
            maxItems: 2

        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,vd55g1";
            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 = <2>;

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

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