# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/media/nxp,imx7-mipi-csi2.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: NXP i.MX7 MIPI CSI-2 receiver maintainers: - Rui Miguel Silva description: |- The NXP i.MX7 SoC family includes a MIPI CSI-2 receiver IP core, documented as "CSIS V3.3". The IP core seems to originate from Samsung, and may be compatible with some of the Exynos4 ad S5P SoCs. While the CSI-2 receiver is separate from the MIPI D-PHY IP core, the PHY is completely wrapped by the CSIS and doesn't expose a control interface of its own. This binding thus covers both IP cores. properties: compatible: const: fsl,imx7-mipi-csi2 reg: maxItems: 1 interrupts: maxItems: 1 clocks: items: - description: The peripheral clock (a.k.a. APB clock) - description: The external clock (optionally used as the pixel clock) - description: The MIPI D-PHY clock clock-names: items: - const: pclk - const: wrap - const: phy power-domains: maxItems: 1 phy-supply: description: The MIPI D-PHY digital power supply resets: items: - description: MIPI D-PHY slave reset clock-frequency: description: The desired external clock ("wrap") frequency, in Hz default: 166000000 ports: $ref: /schemas/graph.yaml#/properties/ports properties: port@0: $ref: /schemas/graph.yaml#/$defs/port-base unevaluatedProperties: false description: Input port node, single endpoint describing the CSI-2 transmitter. properties: endpoint: $ref: video-interfaces.yaml# unevaluatedProperties: false properties: data-lanes: oneOf: - items: - const: 1 - items: - const: 1 - const: 2 required: - data-lanes port@1: $ref: /schemas/graph.yaml#/properties/port description: Output port node required: - compatible - reg - interrupts - clocks - clock-names - power-domains - phy-supply - resets - ports additionalProperties: false examples: - | #include #include #include #include mipi_csi: mipi-csi@30750000 { compatible = "fsl,imx7-mipi-csi2"; reg = <0x30750000 0x10000>; interrupts = ; clocks = <&clks IMX7D_IPG_ROOT_CLK>, <&clks IMX7D_MIPI_CSI_ROOT_CLK>, <&clks IMX7D_MIPI_DPHY_ROOT_CLK>; clock-names = "pclk", "wrap", "phy"; clock-frequency = <166000000>; power-domains = <&pgc_mipi_phy>; phy-supply = <®_1p0d>; resets = <&src IMX7_RESET_MIPI_PHY_MRST>; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; mipi_from_sensor: endpoint { remote-endpoint = <&ov2680_to_mipi>; data-lanes = <1>; }; }; port@1 { reg = <1>; mipi_vc0_to_csi_mux: endpoint { remote-endpoint = <&csi_mux_from_mipi_vc0>; }; }; }; }; ...