xref: /freebsd/sys/contrib/device-tree/Bindings/media/st,stm32mp25-csi.yaml (revision 8ccc0d235c226d84112561d453c49904398d085c)
12846c905SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
22846c905SEmmanuel Vadot%YAML 1.2
32846c905SEmmanuel Vadot---
42846c905SEmmanuel Vadot$id: http://devicetree.org/schemas/media/st,stm32mp25-csi.yaml#
52846c905SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
62846c905SEmmanuel Vadot
72846c905SEmmanuel Vadottitle: STMicroelectronics STM32 CSI controller
82846c905SEmmanuel Vadot
92846c905SEmmanuel Vadotdescription:
10*8ccc0d23SEmmanuel Vadot  The STM32 CSI controller, coupled with a D-PHY allows connecting a CSI-2
11*8ccc0d23SEmmanuel Vadot  based camera to the DCMIPP camera pipeline.
122846c905SEmmanuel Vadot
132846c905SEmmanuel Vadotmaintainers:
142846c905SEmmanuel Vadot  - Alain Volmat <alain.volmat@foss.st.com>
152846c905SEmmanuel Vadot
162846c905SEmmanuel Vadotproperties:
172846c905SEmmanuel Vadot  compatible:
182846c905SEmmanuel Vadot    enum:
192846c905SEmmanuel Vadot      - st,stm32mp25-csi
202846c905SEmmanuel Vadot
212846c905SEmmanuel Vadot  reg:
222846c905SEmmanuel Vadot    maxItems: 1
232846c905SEmmanuel Vadot
242846c905SEmmanuel Vadot  interrupts:
252846c905SEmmanuel Vadot    maxItems: 1
262846c905SEmmanuel Vadot
272846c905SEmmanuel Vadot  clocks:
282846c905SEmmanuel Vadot    maxItems: 3
292846c905SEmmanuel Vadot
302846c905SEmmanuel Vadot  clock-names:
312846c905SEmmanuel Vadot    items:
322846c905SEmmanuel Vadot      - const: pclk
332846c905SEmmanuel Vadot      - const: txesc
342846c905SEmmanuel Vadot      - const: csi2phy
352846c905SEmmanuel Vadot
362846c905SEmmanuel Vadot  resets:
372846c905SEmmanuel Vadot    maxItems: 1
382846c905SEmmanuel Vadot
392846c905SEmmanuel Vadot  vdd-supply:
402846c905SEmmanuel Vadot    description: Digital core power supply (0.91V)
412846c905SEmmanuel Vadot
422846c905SEmmanuel Vadot  vdda18-supply:
432846c905SEmmanuel Vadot    description: System analog power supply (1.8V)
442846c905SEmmanuel Vadot
452846c905SEmmanuel Vadot  access-controllers:
462846c905SEmmanuel Vadot    minItems: 1
472846c905SEmmanuel Vadot    maxItems: 2
482846c905SEmmanuel Vadot
492846c905SEmmanuel Vadot  ports:
502846c905SEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
512846c905SEmmanuel Vadot
522846c905SEmmanuel Vadot    properties:
532846c905SEmmanuel Vadot      port@0:
542846c905SEmmanuel Vadot        $ref: /schemas/graph.yaml#/$defs/port-base
552846c905SEmmanuel Vadot        unevaluatedProperties: false
562846c905SEmmanuel Vadot        description:
572846c905SEmmanuel Vadot          Input port node
582846c905SEmmanuel Vadot
592846c905SEmmanuel Vadot        properties:
602846c905SEmmanuel Vadot          endpoint:
612846c905SEmmanuel Vadot            $ref: video-interfaces.yaml#
622846c905SEmmanuel Vadot            unevaluatedProperties: false
632846c905SEmmanuel Vadot
642846c905SEmmanuel Vadot            properties:
652846c905SEmmanuel Vadot              data-lanes:
662846c905SEmmanuel Vadot                minItems: 1
672846c905SEmmanuel Vadot                items:
682846c905SEmmanuel Vadot                  - const: 1
692846c905SEmmanuel Vadot                  - const: 2
702846c905SEmmanuel Vadot
712846c905SEmmanuel Vadot            required:
722846c905SEmmanuel Vadot              - data-lanes
732846c905SEmmanuel Vadot
742846c905SEmmanuel Vadot      port@1:
752846c905SEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
762846c905SEmmanuel Vadot        description:
772846c905SEmmanuel Vadot          Output port node
782846c905SEmmanuel Vadot
792846c905SEmmanuel Vadotrequired:
802846c905SEmmanuel Vadot  - compatible
812846c905SEmmanuel Vadot  - reg
822846c905SEmmanuel Vadot  - interrupts
832846c905SEmmanuel Vadot  - clocks
842846c905SEmmanuel Vadot  - clock-names
852846c905SEmmanuel Vadot  - resets
862846c905SEmmanuel Vadot  - ports
872846c905SEmmanuel Vadot
882846c905SEmmanuel VadotadditionalProperties: false
892846c905SEmmanuel Vadot
902846c905SEmmanuel Vadotexamples:
912846c905SEmmanuel Vadot  - |
922846c905SEmmanuel Vadot    #include <dt-bindings/clock/st,stm32mp25-rcc.h>
932846c905SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
942846c905SEmmanuel Vadot    #include <dt-bindings/media/video-interfaces.h>
952846c905SEmmanuel Vadot    #include <dt-bindings/reset/st,stm32mp25-rcc.h>
962846c905SEmmanuel Vadot    csi@48020000 {
972846c905SEmmanuel Vadot        compatible = "st,stm32mp25-csi";
982846c905SEmmanuel Vadot        reg = <0x48020000 0x2000>;
992846c905SEmmanuel Vadot        interrupts = <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>;
1002846c905SEmmanuel Vadot        resets = <&rcc CSI_R>;
1012846c905SEmmanuel Vadot        clocks = <&rcc CK_KER_CSI>, <&rcc CK_KER_CSITXESC>, <&rcc CK_KER_CSIPHY>;
1022846c905SEmmanuel Vadot        clock-names = "pclk", "txesc", "csi2phy";
1032846c905SEmmanuel Vadot
1042846c905SEmmanuel Vadot        ports {
1052846c905SEmmanuel Vadot            #address-cells = <1>;
1062846c905SEmmanuel Vadot            #size-cells = <0>;
1072846c905SEmmanuel Vadot            port@0 {
1082846c905SEmmanuel Vadot                reg = <0>;
1092846c905SEmmanuel Vadot                endpoint {
1102846c905SEmmanuel Vadot                    remote-endpoint = <&imx335_ep>;
1112846c905SEmmanuel Vadot                    data-lanes = <1 2>;
1122846c905SEmmanuel Vadot                };
1132846c905SEmmanuel Vadot            };
1142846c905SEmmanuel Vadot
1152846c905SEmmanuel Vadot            port@1 {
1162846c905SEmmanuel Vadot                reg = <1>;
1172846c905SEmmanuel Vadot                endpoint {
1182846c905SEmmanuel Vadot                    remote-endpoint = <&dcmipp_0>;
1192846c905SEmmanuel Vadot                };
1202846c905SEmmanuel Vadot            };
1212846c905SEmmanuel Vadot        };
1222846c905SEmmanuel Vadot    };
1232846c905SEmmanuel Vadot
1242846c905SEmmanuel Vadot...
125