xref: /linux/Documentation/devicetree/bindings/media/st,stm32mp25-csi.yaml (revision 184a0997fb77f4a9527fc867fcd16806776c27ce)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/media/st,stm32mp25-csi.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: STMicroelectronics STM32 CSI controller
8
9description:
10  The STM32 CSI controller allows connecting a CSI based
11  camera to the DCMIPP camera pipeline.
12
13maintainers:
14  - Alain Volmat <alain.volmat@foss.st.com>
15
16properties:
17  compatible:
18    enum:
19      - st,stm32mp25-csi
20
21  reg:
22    maxItems: 1
23
24  interrupts:
25    maxItems: 1
26
27  clocks:
28    maxItems: 3
29
30  clock-names:
31    items:
32      - const: pclk
33      - const: txesc
34      - const: csi2phy
35
36  resets:
37    maxItems: 1
38
39  vdd-supply:
40    description: Digital core power supply (0.91V)
41
42  vdda18-supply:
43    description: System analog power supply (1.8V)
44
45  access-controllers:
46    minItems: 1
47    maxItems: 2
48
49  ports:
50    $ref: /schemas/graph.yaml#/properties/ports
51
52    properties:
53      port@0:
54        $ref: /schemas/graph.yaml#/$defs/port-base
55        unevaluatedProperties: false
56        description:
57          Input port node
58
59        properties:
60          endpoint:
61            $ref: video-interfaces.yaml#
62            unevaluatedProperties: false
63
64            properties:
65              data-lanes:
66                minItems: 1
67                items:
68                  - const: 1
69                  - const: 2
70
71            required:
72              - data-lanes
73
74      port@1:
75        $ref: /schemas/graph.yaml#/properties/port
76        description:
77          Output port node
78
79required:
80  - compatible
81  - reg
82  - interrupts
83  - clocks
84  - clock-names
85  - resets
86  - ports
87
88additionalProperties: false
89
90examples:
91  - |
92    #include <dt-bindings/clock/st,stm32mp25-rcc.h>
93    #include <dt-bindings/interrupt-controller/arm-gic.h>
94    #include <dt-bindings/media/video-interfaces.h>
95    #include <dt-bindings/reset/st,stm32mp25-rcc.h>
96    csi@48020000 {
97        compatible = "st,stm32mp25-csi";
98        reg = <0x48020000 0x2000>;
99        interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>;
100        resets = <&rcc CSI_R>;
101        clocks = <&rcc CK_KER_CSI>, <&rcc CK_KER_CSITXESC>, <&rcc CK_KER_CSIPHY>;
102        clock-names = "pclk", "txesc", "csi2phy";
103
104        ports {
105            #address-cells = <1>;
106            #size-cells = <0>;
107            port@0 {
108                reg = <0>;
109                endpoint {
110                    remote-endpoint = <&imx335_ep>;
111                    data-lanes = <1 2>;
112                    bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;
113                };
114            };
115
116            port@1 {
117                reg = <1>;
118                endpoint {
119                    remote-endpoint = <&dcmipp_0>;
120                };
121            };
122        };
123    };
124
125...
126