blob: 34147127192fd830c92d4f5e0fc657e5ce2ce4f1 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/media/st,stm32-dcmi.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: STMicroelectronics STM32 Digital Camera Memory Interface (DCMI)
8
9maintainers:
10 - Hugues Fruchet <hugues.fruchet@foss.st.com>
11
12properties:
13 compatible:
14 const: st,stm32-dcmi
15
16 reg:
17 maxItems: 1
18
19 interrupts:
20 maxItems: 1
21
22 clocks:
23 maxItems: 1
24
25 clock-names:
26 items:
27 - const: mclk
28
29 dmas:
30 maxItems: 1
31
32 dma-names:
33 items:
34 - const: tx
35
36 resets:
37 maxItems: 1
38
Tom Rini762f85b2024-07-20 11:15:10 -060039 access-controllers:
40 minItems: 1
41 maxItems: 2
42
Tom Rini53633a82024-02-29 12:33:36 -050043 port:
44 $ref: /schemas/graph.yaml#/$defs/port-base
45 unevaluatedProperties: false
46 description:
47 DCMI supports a single port node with parallel bus.
48
49 properties:
50 endpoint:
51 $ref: video-interfaces.yaml#
52 unevaluatedProperties: false
53
54 properties:
55 bus-type:
56 enum: [5, 6]
57 default: 5
58
59 bus-width:
60 enum: [8, 10, 12, 14]
61 default: 8
62
63 allOf:
64 - if:
65 properties:
66 bus-type:
67 const: 6
68
69 then:
70 properties:
71 hsync-active: false
72 vsync-active: false
73 bus-width:
74 enum: [8]
75
76 required:
77 - bus-type
78 - pclk-sample
79
80required:
81 - compatible
82 - reg
83 - interrupts
84 - clocks
85 - clock-names
86 - resets
87 - dmas
88 - dma-names
89 - port
90
91additionalProperties: false
92
93examples:
94 - |
95 #include <dt-bindings/interrupt-controller/arm-gic.h>
96 #include <dt-bindings/clock/stm32mp1-clks.h>
97 #include <dt-bindings/media/video-interfaces.h>
98 #include <dt-bindings/reset/stm32mp1-resets.h>
99
100 dcmi: dcmi@4c006000 {
101 compatible = "st,stm32-dcmi";
102 reg = <0x4c006000 0x400>;
103 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
104 resets = <&rcc CAMITF_R>;
105 clocks = <&rcc DCMI>;
106 clock-names = "mclk";
107 dmas = <&dmamux1 75 0x400 0x0d>;
108 dma-names = "tx";
109
110 port {
111 dcmi_0: endpoint {
112 remote-endpoint = <&ov5640_0>;
113 bus-type = <MEDIA_BUS_TYPE_PARALLEL>;
114 bus-width = <8>;
115 hsync-active = <0>;
116 vsync-active = <0>;
117 pclk-sample = <1>;
118 };
119 };
120 };
121
122...