dt-bindings: media: convert imx.txt to yaml format

Convert binding doc imx.txt to yaml format. Create two yaml files:
fsl,imx6-mipi-csi2.yaml and fsl,imx-capture-subsystem.yaml.

Additional changes:
- add example for fsl,imx6-mipi-csi2
- add irq err1 and err2 description
- update MAINTAINERS

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
[hverkuil: drop empty line at the end of the yaml files]
This commit is contained in:
Frank Li
2025-04-16 11:47:27 -04:00
committed by Hans Verkuil
parent 108955cd24
commit 48dbb76cef
4 changed files with 181 additions and 54 deletions

View File

@@ -0,0 +1,37 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/media/fsl,imx-capture-subsystem.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Freescale i.MX Media Video Device
description:
This is the media controller node for video capture support. It is a
virtual device that lists the camera serial interface nodes that the
media device will control
maintainers:
- Frank Li <Frank.Li@nxp.com>
properties:
compatible:
const: fsl,imx-capture-subsystem
ports:
$ref: /schemas/types.yaml#/definitions/phandle-array
description:
Should contain a list of phandles pointing to camera
sensor interface ports of IPU devices.
required:
- compatible
additionalProperties: false
examples:
- |
capture-subsystem {
compatible = "fsl,imx-capture-subsystem";
ports = <&ipu1_csi0>, <&ipu1_csi1>;
};

View File

@@ -0,0 +1,143 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/media/fsl,imx6-mipi-csi2.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: MIPI CSI-2 Receiver core in the i.MX SoC
description:
This is the device node for the MIPI CSI-2 Receiver core in the i.MX
SoC. This is a Synopsys Designware MIPI CSI-2 host controller core
combined with a D-PHY core mixed into the same register block. In
addition this device consists of an i.MX-specific "CSI2IPU gasket"
glue logic, also controlled from the same register block. The CSI2IPU
gasket demultiplexes the four virtual channel streams from the host
controller's 32-bit output image bus onto four 16-bit parallel busses
to the i.MX IPU CSIs.
maintainers:
- Frank Li <Frank.Li@nxp.com>
properties:
compatible:
const: fsl,imx6-mipi-csi2
reg:
maxItems: 1
clocks:
items:
- description: hsi_tx (the D-PHY clock)
- description: video_27m (D-PHY PLL reference clock)
- description: eim_podf;
clock-names:
items:
- const: dphy
- const: ref
- const: pix
interrupts:
items:
- description: CSI-2 ERR1 irq
- description: CSI-2 ERR2 irq
'#address-cells':
const: 1
'#size-cells':
const: 0
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:
clock-lanes:
const: 0
data-lanes:
minItems: 1
items:
- const: 1
- const: 2
- const: 3
- const: 4
required:
- data-lanes
patternProperties:
'^port@[1-4]$':
$ref: /schemas/graph.yaml#/$defs/port-base
unevaluatedProperties: false
description:
ports 1 through 4 are output ports connecting with parallel bus sink
endpoint nodes and correspond to the four MIPI CSI-2 virtual channel
outputs.
properties:
endpoint@0:
$ref: video-interfaces.yaml#
unevaluatedProperties: false
endpoint@1:
$ref: video-interfaces.yaml#
unevaluatedProperties: false
required:
- compatible
- reg
- clocks
- clock-names
additionalProperties: false
examples:
- |
#include <dt-bindings/clock/imx6qdl-clock.h>
mipi@21dc000 {
compatible = "fsl,imx6-mipi-csi2";
reg = <0x021dc000 0x4000>;
#address-cells = <1>;
#size-cells = <0>;
clocks = <&clks IMX6QDL_CLK_HSI_TX>,
<&clks IMX6QDL_CLK_VIDEO_27M>,
<&clks IMX6QDL_CLK_EIM_PODF>;
clock-names = "dphy", "ref", "pix";
port@0 {
reg = <0>;
endpoint {
remote-endpoint = <&ov5640_to_mipi_csi2>;
clock-lanes = <0>;
data-lanes = <1 2>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
endpoint@0 {
reg = <0>;
remote-endpoint = <&ipu1_csi0_mux_from_mipi_vc0>;
};
endpoint@1 {
reg = <1>;
remote-endpoint = <&ipu1_csi1_mux_from_mipi_vc0>;
};
};
};

View File

@@ -1,53 +0,0 @@
Freescale i.MX Media Video Device
=================================
Video Media Controller node
---------------------------
This is the media controller node for video capture support. It is a
virtual device that lists the camera serial interface nodes that the
media device will control.
Required properties:
- compatible : "fsl,imx-capture-subsystem";
- ports : Should contain a list of phandles pointing to camera
sensor interface ports of IPU devices
example:
capture-subsystem {
compatible = "fsl,imx-capture-subsystem";
ports = <&ipu1_csi0>, <&ipu1_csi1>;
};
mipi_csi2 node
--------------
This is the device node for the MIPI CSI-2 Receiver core in the i.MX
SoC. This is a Synopsys Designware MIPI CSI-2 host controller core
combined with a D-PHY core mixed into the same register block. In
addition this device consists of an i.MX-specific "CSI2IPU gasket"
glue logic, also controlled from the same register block. The CSI2IPU
gasket demultiplexes the four virtual channel streams from the host
controller's 32-bit output image bus onto four 16-bit parallel busses
to the i.MX IPU CSIs.
Required properties:
- compatible : "fsl,imx6-mipi-csi2";
- reg : physical base address and length of the register set;
- clocks : the MIPI CSI-2 receiver requires three clocks: hsi_tx
(the D-PHY clock), video_27m (D-PHY PLL reference
clock), and eim_podf;
- clock-names : must contain "dphy", "ref", "pix";
- port@* : five port nodes must exist, containing endpoints
connecting to the source and sink devices according to
of_graph bindings. The first port is an input port,
connecting with a MIPI CSI-2 source, and ports 1
through 4 are output ports connecting with parallel
bus sink endpoint nodes and correspond to the four
MIPI CSI-2 virtual channel outputs.
Optional properties:
- interrupts : must contain two level-triggered interrupts,
in order: 100 and 101;

View File

@@ -14776,7 +14776,7 @@ L: linux-media@vger.kernel.org
S: Maintained
T: git git://linuxtv.org/media.git
F: Documentation/admin-guide/media/imx.rst
F: Documentation/devicetree/bindings/media/imx.txt
F: Documentation/devicetree/bindings/media/fsl,imx6-mipi-csi2.yaml
F: drivers/staging/media/imx/
F: include/linux/imx-media.h
F: include/media/imx.h