xref: /freebsd/sys/contrib/device-tree/Bindings/media/st,stm32-dcmipp.yaml (revision 2846c90520eb4cc74e24d586a0ea0f4a0006bc73)
18d13bc63SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28d13bc63SEmmanuel Vadot%YAML 1.2
38d13bc63SEmmanuel Vadot---
48d13bc63SEmmanuel Vadot$id: http://devicetree.org/schemas/media/st,stm32-dcmipp.yaml#
58d13bc63SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
68d13bc63SEmmanuel Vadot
78d13bc63SEmmanuel Vadottitle: STMicroelectronics STM32 DCMIPP Digital Camera Memory Interface Pixel Processor
88d13bc63SEmmanuel Vadot
98d13bc63SEmmanuel Vadotmaintainers:
108d13bc63SEmmanuel Vadot  - Hugues Fruchet <hugues.fruchet@foss.st.com>
118d13bc63SEmmanuel Vadot  - Alain Volmat <alain.volmat@foss.st.com>
128d13bc63SEmmanuel Vadot
138d13bc63SEmmanuel Vadotproperties:
148d13bc63SEmmanuel Vadot  compatible:
15*2846c905SEmmanuel Vadot    enum:
16*2846c905SEmmanuel Vadot      - st,stm32mp13-dcmipp
17*2846c905SEmmanuel Vadot      - st,stm32mp25-dcmipp
188d13bc63SEmmanuel Vadot
198d13bc63SEmmanuel Vadot  reg:
208d13bc63SEmmanuel Vadot    maxItems: 1
218d13bc63SEmmanuel Vadot
228d13bc63SEmmanuel Vadot  interrupts:
238d13bc63SEmmanuel Vadot    maxItems: 1
248d13bc63SEmmanuel Vadot
258d13bc63SEmmanuel Vadot  clocks:
26*2846c905SEmmanuel Vadot    items:
27*2846c905SEmmanuel Vadot      - description: bus clock
28*2846c905SEmmanuel Vadot      - description: csi clock
29*2846c905SEmmanuel Vadot    minItems: 1
30*2846c905SEmmanuel Vadot
31*2846c905SEmmanuel Vadot  clock-names:
32*2846c905SEmmanuel Vadot    items:
33*2846c905SEmmanuel Vadot      - const: kclk
34*2846c905SEmmanuel Vadot      - const: mclk
35*2846c905SEmmanuel Vadot    minItems: 1
368d13bc63SEmmanuel Vadot
378d13bc63SEmmanuel Vadot  resets:
388d13bc63SEmmanuel Vadot    maxItems: 1
398d13bc63SEmmanuel Vadot
40*2846c905SEmmanuel Vadot  access-controllers:
41*2846c905SEmmanuel Vadot    minItems: 1
42*2846c905SEmmanuel Vadot    maxItems: 2
43*2846c905SEmmanuel Vadot
448d13bc63SEmmanuel Vadot  port:
458d13bc63SEmmanuel Vadot    $ref: /schemas/graph.yaml#/$defs/port-base
468d13bc63SEmmanuel Vadot    unevaluatedProperties: false
478d13bc63SEmmanuel Vadot    description:
488d13bc63SEmmanuel Vadot      DCMIPP supports a single port node with parallel bus.
498d13bc63SEmmanuel Vadot
508d13bc63SEmmanuel Vadot    properties:
518d13bc63SEmmanuel Vadot      endpoint:
528d13bc63SEmmanuel Vadot        $ref: video-interfaces.yaml#
538d13bc63SEmmanuel Vadot        unevaluatedProperties: false
548d13bc63SEmmanuel Vadot
558d13bc63SEmmanuel Vadot        properties:
568d13bc63SEmmanuel Vadot          bus-type:
57*2846c905SEmmanuel Vadot            enum: [4, 5, 6]
588d13bc63SEmmanuel Vadot            default: 5
598d13bc63SEmmanuel Vadot
608d13bc63SEmmanuel Vadot          bus-width:
618d13bc63SEmmanuel Vadot            enum: [8, 10, 12, 14]
628d13bc63SEmmanuel Vadot            default: 8
638d13bc63SEmmanuel Vadot
648d13bc63SEmmanuel Vadot          pclk-sample: true
658d13bc63SEmmanuel Vadot          hsync-active: true
668d13bc63SEmmanuel Vadot          vsync-active: true
678d13bc63SEmmanuel Vadot
688d13bc63SEmmanuel Vadotrequired:
698d13bc63SEmmanuel Vadot  - compatible
708d13bc63SEmmanuel Vadot  - reg
718d13bc63SEmmanuel Vadot  - interrupts
728d13bc63SEmmanuel Vadot  - clocks
738d13bc63SEmmanuel Vadot  - resets
748d13bc63SEmmanuel Vadot  - port
758d13bc63SEmmanuel Vadot
76*2846c905SEmmanuel VadotallOf:
77*2846c905SEmmanuel Vadot  - if:
78*2846c905SEmmanuel Vadot      properties:
79*2846c905SEmmanuel Vadot        compatible:
80*2846c905SEmmanuel Vadot          contains:
81*2846c905SEmmanuel Vadot            enum:
82*2846c905SEmmanuel Vadot              - st,stm32mp13-dcmipp
83*2846c905SEmmanuel Vadot    then:
84*2846c905SEmmanuel Vadot      properties:
85*2846c905SEmmanuel Vadot        clocks:
86*2846c905SEmmanuel Vadot          maxItems: 1
87*2846c905SEmmanuel Vadot
88*2846c905SEmmanuel Vadot        clock-names:
89*2846c905SEmmanuel Vadot          maxItems: 1
90*2846c905SEmmanuel Vadot
91*2846c905SEmmanuel Vadot        port:
92*2846c905SEmmanuel Vadot          properties:
93*2846c905SEmmanuel Vadot            endpoint:
94*2846c905SEmmanuel Vadot              properties:
95*2846c905SEmmanuel Vadot                bus-type:
96*2846c905SEmmanuel Vadot                  enum: [5, 6]
97*2846c905SEmmanuel Vadot    else:
98*2846c905SEmmanuel Vadot      properties:
99*2846c905SEmmanuel Vadot        clocks:
100*2846c905SEmmanuel Vadot          minItems: 2
101*2846c905SEmmanuel Vadot
102*2846c905SEmmanuel Vadot        clock-names:
103*2846c905SEmmanuel Vadot          minItems: 2
104*2846c905SEmmanuel Vadot
1058d13bc63SEmmanuel VadotadditionalProperties: false
1068d13bc63SEmmanuel Vadot
1078d13bc63SEmmanuel Vadotexamples:
1088d13bc63SEmmanuel Vadot  - |
1098d13bc63SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
1108d13bc63SEmmanuel Vadot    #include <dt-bindings/clock/stm32mp13-clks.h>
1118d13bc63SEmmanuel Vadot    #include <dt-bindings/reset/stm32mp13-resets.h>
1128d13bc63SEmmanuel Vadot    dcmipp@5a000000 {
1138d13bc63SEmmanuel Vadot        compatible = "st,stm32mp13-dcmipp";
1148d13bc63SEmmanuel Vadot        reg = <0x5a000000 0x400>;
1158d13bc63SEmmanuel Vadot        interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
1168d13bc63SEmmanuel Vadot        resets = <&rcc DCMIPP_R>;
1178d13bc63SEmmanuel Vadot        clocks = <&rcc DCMIPP_K>;
1188d13bc63SEmmanuel Vadot
1198d13bc63SEmmanuel Vadot        port {
1208d13bc63SEmmanuel Vadot             endpoint {
1218d13bc63SEmmanuel Vadot                   remote-endpoint = <&mipid02_2>;
1228d13bc63SEmmanuel Vadot                   bus-width = <8>;
1238d13bc63SEmmanuel Vadot                   hsync-active = <0>;
1248d13bc63SEmmanuel Vadot                   vsync-active = <0>;
1258d13bc63SEmmanuel Vadot                   pclk-sample = <0>;
1268d13bc63SEmmanuel Vadot             };
1278d13bc63SEmmanuel Vadot        };
1288d13bc63SEmmanuel Vadot    };
1298d13bc63SEmmanuel Vadot
1308d13bc63SEmmanuel Vadot...
131