xref: /linux/Documentation/devicetree/bindings/media/cdns,csi2rx.yaml (revision cdb175144aad4983395607d986a482bdb02a9174)
19536cc94SJack Zhu# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
29536cc94SJack Zhu%YAML 1.2
39536cc94SJack Zhu---
49536cc94SJack Zhu$id: http://devicetree.org/schemas/media/cdns,csi2rx.yaml#
59536cc94SJack Zhu$schema: http://devicetree.org/meta-schemas/core.yaml#
69536cc94SJack Zhu
79536cc94SJack Zhutitle: Cadence MIPI-CSI2 RX controller
89536cc94SJack Zhu
99536cc94SJack Zhumaintainers:
109536cc94SJack Zhu  - Maxime Ripard <mripard@kernel.org>
119536cc94SJack Zhu
129536cc94SJack Zhudescription:
139536cc94SJack Zhu  The Cadence MIPI-CSI2 RX controller is a CSI-2 bridge supporting up to 4 CSI
149536cc94SJack Zhu  lanes in input, and 4 different pixel streams in output.
159536cc94SJack Zhu
169536cc94SJack Zhuproperties:
179536cc94SJack Zhu  compatible:
189536cc94SJack Zhu    items:
199536cc94SJack Zhu      - enum:
209536cc94SJack Zhu          - starfive,jh7110-csi2rx
21*cdb17514SJai Luthra          - ti,j721e-csi2rx
229536cc94SJack Zhu      - const: cdns,csi2rx
239536cc94SJack Zhu
249536cc94SJack Zhu  reg:
259536cc94SJack Zhu    maxItems: 1
269536cc94SJack Zhu
279536cc94SJack Zhu  clocks:
289536cc94SJack Zhu    items:
299536cc94SJack Zhu      - description: CSI2Rx system clock
309536cc94SJack Zhu      - description: Gated Register bank clock for APB interface
319536cc94SJack Zhu      - description: pixel Clock for Stream interface 0
329536cc94SJack Zhu      - description: pixel Clock for Stream interface 1
339536cc94SJack Zhu      - description: pixel Clock for Stream interface 2
349536cc94SJack Zhu      - description: pixel Clock for Stream interface 3
359536cc94SJack Zhu
369536cc94SJack Zhu  clock-names:
379536cc94SJack Zhu    items:
389536cc94SJack Zhu      - const: sys_clk
399536cc94SJack Zhu      - const: p_clk
409536cc94SJack Zhu      - const: pixel_if0_clk
419536cc94SJack Zhu      - const: pixel_if1_clk
429536cc94SJack Zhu      - const: pixel_if2_clk
439536cc94SJack Zhu      - const: pixel_if3_clk
449536cc94SJack Zhu
45ae08124dSJack Zhu  resets:
46ae08124dSJack Zhu    items:
47ae08124dSJack Zhu      - description: CSI2Rx system reset
48ae08124dSJack Zhu      - description: Gated Register bank reset for APB interface
49ae08124dSJack Zhu      - description: pixel reset for Stream interface 0
50ae08124dSJack Zhu      - description: pixel reset for Stream interface 1
51ae08124dSJack Zhu      - description: pixel reset for Stream interface 2
52ae08124dSJack Zhu      - description: pixel reset for Stream interface 3
53ae08124dSJack Zhu
54ae08124dSJack Zhu  reset-names:
55ae08124dSJack Zhu    items:
56ae08124dSJack Zhu      - const: sys
57ae08124dSJack Zhu      - const: reg_bank
58ae08124dSJack Zhu      - const: pixel_if0
59ae08124dSJack Zhu      - const: pixel_if1
60ae08124dSJack Zhu      - const: pixel_if2
61ae08124dSJack Zhu      - const: pixel_if3
62ae08124dSJack Zhu
639536cc94SJack Zhu  phys:
649536cc94SJack Zhu    maxItems: 1
659536cc94SJack Zhu    description: MIPI D-PHY
669536cc94SJack Zhu
679536cc94SJack Zhu  phy-names:
689536cc94SJack Zhu    items:
699536cc94SJack Zhu      - const: dphy
709536cc94SJack Zhu
719536cc94SJack Zhu  ports:
729536cc94SJack Zhu    $ref: /schemas/graph.yaml#/properties/ports
739536cc94SJack Zhu
749536cc94SJack Zhu    properties:
759536cc94SJack Zhu      port@0:
769536cc94SJack Zhu        $ref: /schemas/graph.yaml#/$defs/port-base
779536cc94SJack Zhu        unevaluatedProperties: false
789536cc94SJack Zhu        description:
799536cc94SJack Zhu          Input port node, single endpoint describing the CSI-2 transmitter.
809536cc94SJack Zhu
819536cc94SJack Zhu        properties:
829536cc94SJack Zhu          endpoint:
839536cc94SJack Zhu            $ref: video-interfaces.yaml#
849536cc94SJack Zhu            unevaluatedProperties: false
859536cc94SJack Zhu
869536cc94SJack Zhu            properties:
879536cc94SJack Zhu              bus-type:
889536cc94SJack Zhu                const: 4
899536cc94SJack Zhu
909536cc94SJack Zhu              clock-lanes:
919536cc94SJack Zhu                const: 0
929536cc94SJack Zhu
939536cc94SJack Zhu              data-lanes:
949536cc94SJack Zhu                minItems: 1
959536cc94SJack Zhu                maxItems: 4
969536cc94SJack Zhu                items:
979536cc94SJack Zhu                  maximum: 4
989536cc94SJack Zhu
999536cc94SJack Zhu            required:
1009536cc94SJack Zhu              - data-lanes
1019536cc94SJack Zhu
1029536cc94SJack Zhu      port@1:
1039536cc94SJack Zhu        $ref: /schemas/graph.yaml#/properties/port
1049536cc94SJack Zhu        description:
1059536cc94SJack Zhu          Stream 0 Output port node
1069536cc94SJack Zhu
1079536cc94SJack Zhu      port@2:
1089536cc94SJack Zhu        $ref: /schemas/graph.yaml#/properties/port
1099536cc94SJack Zhu        description:
1109536cc94SJack Zhu          Stream 1 Output port node
1119536cc94SJack Zhu
1129536cc94SJack Zhu      port@3:
1139536cc94SJack Zhu        $ref: /schemas/graph.yaml#/properties/port
1149536cc94SJack Zhu        description:
1159536cc94SJack Zhu          Stream 2 Output port node
1169536cc94SJack Zhu
1179536cc94SJack Zhu      port@4:
1189536cc94SJack Zhu        $ref: /schemas/graph.yaml#/properties/port
1199536cc94SJack Zhu        description:
1209536cc94SJack Zhu          Stream 3 Output port node
1219536cc94SJack Zhu
1229536cc94SJack Zhu    required:
1239536cc94SJack Zhu      - port@0
1249536cc94SJack Zhu
1259536cc94SJack Zhurequired:
1269536cc94SJack Zhu  - compatible
1279536cc94SJack Zhu  - reg
1289536cc94SJack Zhu  - clocks
1299536cc94SJack Zhu  - clock-names
1309536cc94SJack Zhu  - ports
1319536cc94SJack Zhu
1329536cc94SJack ZhuadditionalProperties: false
1339536cc94SJack Zhu
1349536cc94SJack Zhuexamples:
1359536cc94SJack Zhu  - |
1369536cc94SJack Zhu    csi@d060000 {
1379536cc94SJack Zhu        compatible = "starfive,jh7110-csi2rx", "cdns,csi2rx";
1389536cc94SJack Zhu        reg = <0x0d060000 0x1000>;
1399536cc94SJack Zhu        clocks = <&byteclock 7>, <&byteclock 6>,
1409536cc94SJack Zhu                 <&coreclock 8>, <&coreclock 9>,
1419536cc94SJack Zhu                 <&coreclock 10>, <&coreclock 11>;
1429536cc94SJack Zhu        clock-names = "sys_clk", "p_clk",
1439536cc94SJack Zhu                      "pixel_if0_clk", "pixel_if1_clk",
1449536cc94SJack Zhu                      "pixel_if2_clk", "pixel_if3_clk";
145ae08124dSJack Zhu        resets = <&bytereset 9>, <&bytereset 4>,
146ae08124dSJack Zhu                 <&corereset 5>, <&corereset 6>,
147ae08124dSJack Zhu                 <&corereset 7>, <&corereset 8>;
148ae08124dSJack Zhu        reset-names = "sys", "reg_bank",
149ae08124dSJack Zhu                      "pixel_if0", "pixel_if1",
150ae08124dSJack Zhu                      "pixel_if2", "pixel_if3";
1519536cc94SJack Zhu        phys = <&csi_phy>;
1529536cc94SJack Zhu        phy-names = "dphy";
1539536cc94SJack Zhu
1549536cc94SJack Zhu        ports {
1559536cc94SJack Zhu                #address-cells = <1>;
1569536cc94SJack Zhu                #size-cells = <0>;
1579536cc94SJack Zhu
1589536cc94SJack Zhu                port@0 {
1599536cc94SJack Zhu                    reg = <0>;
1609536cc94SJack Zhu
1619536cc94SJack Zhu                    csi2rx_in_sensor: endpoint {
1629536cc94SJack Zhu                        remote-endpoint = <&sensor_out_csi2rx>;
1639536cc94SJack Zhu                        clock-lanes = <0>;
1649536cc94SJack Zhu                        data-lanes = <1 2>;
1659536cc94SJack Zhu                    };
1669536cc94SJack Zhu                };
1679536cc94SJack Zhu
1689536cc94SJack Zhu                port@1 {
1699536cc94SJack Zhu                    reg = <1>;
1709536cc94SJack Zhu
1719536cc94SJack Zhu                    csi2rx_out_grabber0: endpoint {
1729536cc94SJack Zhu                        remote-endpoint = <&grabber0_in_csi2rx>;
1739536cc94SJack Zhu                    };
1749536cc94SJack Zhu                };
1759536cc94SJack Zhu
1769536cc94SJack Zhu                port@2 {
1779536cc94SJack Zhu                    reg = <2>;
1789536cc94SJack Zhu
1799536cc94SJack Zhu                    csi2rx_out_grabber1: endpoint {
1809536cc94SJack Zhu                        remote-endpoint = <&grabber1_in_csi2rx>;
1819536cc94SJack Zhu                    };
1829536cc94SJack Zhu                };
1839536cc94SJack Zhu
1849536cc94SJack Zhu                port@3 {
1859536cc94SJack Zhu                    reg = <3>;
1869536cc94SJack Zhu
1879536cc94SJack Zhu                    csi2rx_out_grabber2: endpoint {
1889536cc94SJack Zhu                        remote-endpoint = <&grabber2_in_csi2rx>;
1899536cc94SJack Zhu                    };
1909536cc94SJack Zhu                };
1919536cc94SJack Zhu
1929536cc94SJack Zhu                port@4 {
1939536cc94SJack Zhu                    reg = <4>;
1949536cc94SJack Zhu
1959536cc94SJack Zhu                    csi2rx_out_grabber3: endpoint {
1969536cc94SJack Zhu                        remote-endpoint = <&grabber3_in_csi2rx>;
1979536cc94SJack Zhu                    };
1989536cc94SJack Zhu                };
1999536cc94SJack Zhu        };
2009536cc94SJack Zhu    };
2019536cc94SJack Zhu
2029536cc94SJack Zhu...
203