1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/media/samsung,s5c73m3.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Samsung S5C73M3 8Mp camera ISP
8
9maintainers:
10  - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
11  - Sylwester Nawrocki <s.nawrocki@samsung.com>
12
13description:
14  The S5C73M3 camera ISP supports MIPI CSI-2 and parallel (ITU-R BT.656)
15  video data busses. The I2C bus is the main control bus and additionally the
16  SPI bus is used, mostly for transferring the firmware to and from the
17  device. Two slave device nodes corresponding to these control bus
18  interfaces are required and should be placed under respective bus
19  controller nodes.
20
21properties:
22  compatible:
23    const: samsung,s5c73m3
24
25  reg:
26    maxItems: 1
27
28  clocks:
29    maxItems: 1
30
31  clock-names:
32    items:
33      - const: cis_extclk
34
35  clock-frequency:
36    default: 24000000
37    description: cis_extclk clock frequency.
38
39  standby-gpios:
40    maxItems: 1
41    description: STANDBY pin.
42
43  vdda-supply:
44    description: Analog power supply (1.2V).
45
46  vdd-af-supply:
47    description: lens power supply (2.8V).
48
49  vddio-cis-supply:
50    description: CIS I/O power supply (1.2V to 1.8V).
51
52  vddio-host-supply:
53    description: Host I/O power supply (1.8V to 2.8V).
54
55  vdd-int-supply:
56    description: Digital power supply (1.2V).
57
58  vdd-reg-supply:
59    description: Regulator input power supply (2.8V).
60
61  xshutdown-gpios:
62    maxItems: 1
63    description: XSHUTDOWN pin.
64
65  port:
66    $ref: /schemas/graph.yaml#/$defs/port-base
67    additionalProperties: false
68
69    properties:
70      endpoint:
71        $ref: /schemas/media/video-interfaces.yaml#
72        unevaluatedProperties: false
73
74        properties:
75          data-lanes:
76            items:
77              - const: 1
78              - const: 2
79              - const: 3
80              - const: 4
81
82required:
83  - compatible
84  - reg
85
86allOf:
87  - $ref: /schemas/spi/spi-peripheral-props.yaml#
88  - if:
89      required:
90        - spi-max-frequency
91    then:
92      properties:
93        # The SPI node is simplified firmware-transfer interface only
94        clocks: false
95        clock-names: false
96        standby-gpios: false
97        vdda-supply: false
98        vdd-af-supply: false
99        vddio-cis-supply: false
100        vddio-host-supply: false
101        vdd-int-supply: false
102        vdd-reg-supply: false
103        xshutdown-gpios: false
104        port: false
105    else:
106      required:
107        - clocks
108        - clock-names
109        - standby-gpios
110        - vdda-supply
111        - vdd-af-supply
112        - vddio-cis-supply
113        - vddio-host-supply
114        - vdd-int-supply
115        - vdd-reg-supply
116        - xshutdown-gpios
117        - port
118
119unevaluatedProperties: false
120
121examples:
122  - |
123    #include <dt-bindings/gpio/gpio.h>
124
125    i2c {
126        #address-cells = <1>;
127        #size-cells = <0>;
128
129        image-sensor@3c {
130            compatible = "samsung,s5c73m3";
131            reg = <0x3c>;
132            clock-frequency = <24000000>;
133            clocks = <&camera 0>;
134            clock-names = "cis_extclk";
135            standby-gpios = <&gpm0 6 GPIO_ACTIVE_LOW>;
136            vdda-supply = <&cam_vdda_reg>;
137            vdd-af-supply = <&cam_af_reg>;
138            vddio-cis-supply = <&ldo9_reg>;
139            vddio-host-supply = <&ldo18_reg>;
140            vdd-int-supply = <&buck9_reg>;
141            vdd-reg-supply = <&cam_io_reg>;
142            xshutdown-gpios = <&gpf1 3 GPIO_ACTIVE_LOW>; /* ISP_RESET */
143
144            port {
145                s5c73m3_ep: endpoint {
146                    remote-endpoint = <&csis0_ep>;
147                    data-lanes = <1 2 3 4>;
148                };
149            };
150        };
151    };
152
153    spi {
154        #address-cells = <1>;
155        #size-cells = <0>;
156
157        image-sensor@0 {
158            compatible = "samsung,s5c73m3";
159            reg = <0>;
160            spi-max-frequency = <50000000>;
161            controller-data {
162                samsung,spi-feedback-delay = <2>;
163            };
164        };
165    };
166