mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
The ISI module on i.MX91 is reused from i.MX93 and implements one channel and one camera input which only can be connected to parallel camera input. So needn't to select camera source like i.MX93 in gasket ops. Signed-off-by: Alice Yuan <alice.yuan@nxp.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Frank Li <Frank.Li@nxp.com> Signed-off-by: Guoniu Zhou <guoniu.zhou@nxp.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Link: https://patch.msgid.link/20250905-isi_imx93-v2-1-37db5f768c57@nxp.com Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
191 lines
4.7 KiB
YAML
191 lines
4.7 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/media/nxp,imx8-isi.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: i.MX8 Image Sensing Interface
|
|
|
|
maintainers:
|
|
- Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
|
|
|
description: |
|
|
The Image Sensing Interface (ISI) combines image processing pipelines with
|
|
DMA engines to process and capture frames originating from a variety of
|
|
sources. The inputs to the ISI go through Pixel Link interfaces, and their
|
|
number and nature is SoC-dependent. They cover both capture interfaces (MIPI
|
|
CSI-2 RX, HDMI RX, ...) and display engine outputs for writeback support.
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- fsl,imx8mn-isi
|
|
- fsl,imx8mp-isi
|
|
- fsl,imx8ulp-isi
|
|
- fsl,imx91-isi
|
|
- fsl,imx93-isi
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
clocks:
|
|
items:
|
|
- description: The AXI clock
|
|
- description: The APB clock
|
|
# TODO: Check if the per-channel ipg_proc_clk clocks need to be specified
|
|
# as well, in case some SoCs have the ability to control them separately.
|
|
# This may be the case of the i.MX8[DQ]X(P)
|
|
|
|
clock-names:
|
|
items:
|
|
- const: axi
|
|
- const: apb
|
|
|
|
fsl,blk-ctrl:
|
|
$ref: /schemas/types.yaml#/definitions/phandle
|
|
description:
|
|
A phandle referencing the block control that contains the CSIS to ISI
|
|
gasket.
|
|
|
|
interrupts:
|
|
description: Processing pipeline interrupts, one per pipeline
|
|
minItems: 1
|
|
maxItems: 2
|
|
|
|
power-domains:
|
|
maxItems: 1
|
|
|
|
ports:
|
|
$ref: /schemas/graph.yaml#/properties/ports
|
|
description: |
|
|
Ports represent the Pixel Link inputs to the ISI. Their number and
|
|
assignment are model-dependent. Each port shall have a single endpoint.
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- interrupts
|
|
- clocks
|
|
- clock-names
|
|
- ports
|
|
|
|
allOf:
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- fsl,imx8mn-isi
|
|
- fsl,imx8ulp-isi
|
|
- fsl,imx91-isi
|
|
- fsl,imx93-isi
|
|
then:
|
|
properties:
|
|
interrupts:
|
|
maxItems: 1
|
|
ports:
|
|
properties:
|
|
port@0:
|
|
description: MIPI CSI-2 RX
|
|
port@1: false
|
|
required:
|
|
- port@0
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: fsl,imx8mp-isi
|
|
then:
|
|
properties:
|
|
interrupts:
|
|
maxItems: 2
|
|
ports:
|
|
properties:
|
|
port@0:
|
|
description: MIPI CSI-2 RX 0
|
|
port@1:
|
|
description: MIPI CSI-2 RX 1
|
|
required:
|
|
- port@0
|
|
- port@1
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
not:
|
|
contains:
|
|
const: fsl,imx91-isi
|
|
then:
|
|
required:
|
|
- fsl,blk-ctrl
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/clock/imx8mn-clock.h>
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
#include <dt-bindings/power/imx8mn-power.h>
|
|
|
|
isi@32e20000 {
|
|
compatible = "fsl,imx8mn-isi";
|
|
reg = <0x32e20000 0x100>;
|
|
interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&clk IMX8MN_CLK_DISP_AXI_ROOT>,
|
|
<&clk IMX8MN_CLK_DISP_APB_ROOT>;
|
|
clock-names = "axi", "apb";
|
|
fsl,blk-ctrl = <&disp_blk_ctrl>;
|
|
power-domains = <&disp_blk_ctrl IMX8MN_DISPBLK_PD_ISI>;
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
reg = <0>;
|
|
isi_in: endpoint {
|
|
remote-endpoint = <&mipi_csi_out>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
- |
|
|
#include <dt-bindings/clock/imx8mp-clock.h>
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
|
|
isi@32e00000 {
|
|
compatible = "fsl,imx8mp-isi";
|
|
reg = <0x32e00000 0x4000>;
|
|
interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&clk IMX8MP_CLK_MEDIA_AXI_ROOT>,
|
|
<&clk IMX8MP_CLK_MEDIA_APB_ROOT>;
|
|
clock-names = "axi", "apb";
|
|
fsl,blk-ctrl = <&media_blk_ctrl>;
|
|
power-domains = <&mediamix_pd>;
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
reg = <0>;
|
|
isi_in_0: endpoint {
|
|
remote-endpoint = <&mipi_csi_0_out>;
|
|
};
|
|
};
|
|
|
|
port@1 {
|
|
reg = <1>;
|
|
isi_in_1: endpoint {
|
|
remote-endpoint = <&mipi_csi_1_out>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
...
|