1*833e5d42SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*833e5d42SEmmanuel Vadot%YAML 1.2 3*833e5d42SEmmanuel Vadot--- 4*833e5d42SEmmanuel Vadot$id: http://devicetree.org/schemas/media/fsl,imx8qxp-isi.yaml# 5*833e5d42SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*833e5d42SEmmanuel Vadot 7*833e5d42SEmmanuel Vadottitle: i.MX8QXP Image Sensing Interface 8*833e5d42SEmmanuel Vadot 9*833e5d42SEmmanuel Vadotmaintainers: 10*833e5d42SEmmanuel Vadot - Frank Li <Frank.Li@nxp.com> 11*833e5d42SEmmanuel Vadot 12*833e5d42SEmmanuel Vadotdescription: 13*833e5d42SEmmanuel Vadot The Image Sensing Interface (ISI) combines image processing pipelines with 14*833e5d42SEmmanuel Vadot DMA engines to process and capture frames originating from a variety of 15*833e5d42SEmmanuel Vadot sources. The inputs to the ISI go through Pixel Link interfaces, and their 16*833e5d42SEmmanuel Vadot number and nature is SoC-dependent. They cover both capture interfaces (MIPI 17*833e5d42SEmmanuel Vadot CSI-2 RX, HDMI RX, ...) and display engine outputs for writeback support. 18*833e5d42SEmmanuel Vadot 19*833e5d42SEmmanuel Vadotproperties: 20*833e5d42SEmmanuel Vadot compatible: 21*833e5d42SEmmanuel Vadot enum: 22*833e5d42SEmmanuel Vadot - fsl,imx8qxp-isi 23*833e5d42SEmmanuel Vadot 24*833e5d42SEmmanuel Vadot reg: 25*833e5d42SEmmanuel Vadot maxItems: 1 26*833e5d42SEmmanuel Vadot 27*833e5d42SEmmanuel Vadot clocks: 28*833e5d42SEmmanuel Vadot maxItems: 6 29*833e5d42SEmmanuel Vadot 30*833e5d42SEmmanuel Vadot clock-names: 31*833e5d42SEmmanuel Vadot items: 32*833e5d42SEmmanuel Vadot - const: per0 33*833e5d42SEmmanuel Vadot - const: per1 34*833e5d42SEmmanuel Vadot - const: per2 35*833e5d42SEmmanuel Vadot - const: per3 36*833e5d42SEmmanuel Vadot - const: per4 37*833e5d42SEmmanuel Vadot - const: per5 38*833e5d42SEmmanuel Vadot 39*833e5d42SEmmanuel Vadot interrupts: 40*833e5d42SEmmanuel Vadot maxItems: 6 41*833e5d42SEmmanuel Vadot 42*833e5d42SEmmanuel Vadot power-domains: 43*833e5d42SEmmanuel Vadot maxItems: 6 44*833e5d42SEmmanuel Vadot 45*833e5d42SEmmanuel Vadot ports: 46*833e5d42SEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/ports 47*833e5d42SEmmanuel Vadot properties: 48*833e5d42SEmmanuel Vadot port@2: 49*833e5d42SEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 50*833e5d42SEmmanuel Vadot description: MIPI CSI-2 RX 0 51*833e5d42SEmmanuel Vadot port@6: 52*833e5d42SEmmanuel Vadot $ref: /schemas/graph.yaml#/properties/port 53*833e5d42SEmmanuel Vadot description: CSI-2 Parallel RX 54*833e5d42SEmmanuel Vadot 55*833e5d42SEmmanuel Vadotrequired: 56*833e5d42SEmmanuel Vadot - compatible 57*833e5d42SEmmanuel Vadot - reg 58*833e5d42SEmmanuel Vadot - clocks 59*833e5d42SEmmanuel Vadot - clock-names 60*833e5d42SEmmanuel Vadot - interrupts 61*833e5d42SEmmanuel Vadot - power-domains 62*833e5d42SEmmanuel Vadot - ports 63*833e5d42SEmmanuel Vadot 64*833e5d42SEmmanuel VadotadditionalProperties: false 65*833e5d42SEmmanuel Vadot 66*833e5d42SEmmanuel Vadotexamples: 67*833e5d42SEmmanuel Vadot - | 68*833e5d42SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 69*833e5d42SEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 70*833e5d42SEmmanuel Vadot #include <dt-bindings/clock/imx8-clock.h> 71*833e5d42SEmmanuel Vadot #include <dt-bindings/clock/imx8-lpcg.h> 72*833e5d42SEmmanuel Vadot #include <dt-bindings/firmware/imx/rsrc.h> 73*833e5d42SEmmanuel Vadot 74*833e5d42SEmmanuel Vadot image-controller@58100000 { 75*833e5d42SEmmanuel Vadot compatible = "fsl,imx8qxp-isi"; 76*833e5d42SEmmanuel Vadot reg = <0x58100000 0x60000>; 77*833e5d42SEmmanuel Vadot interrupts = <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>, 78*833e5d42SEmmanuel Vadot <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>, 79*833e5d42SEmmanuel Vadot <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>, 80*833e5d42SEmmanuel Vadot <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>, 81*833e5d42SEmmanuel Vadot <GIC_SPI 301 IRQ_TYPE_LEVEL_HIGH>, 82*833e5d42SEmmanuel Vadot <GIC_SPI 302 IRQ_TYPE_LEVEL_HIGH>; 83*833e5d42SEmmanuel Vadot clocks = <&pdma0_lpcg IMX_LPCG_CLK_0>, 84*833e5d42SEmmanuel Vadot <&pdma1_lpcg IMX_LPCG_CLK_0>, 85*833e5d42SEmmanuel Vadot <&pdma2_lpcg IMX_LPCG_CLK_0>, 86*833e5d42SEmmanuel Vadot <&pdma3_lpcg IMX_LPCG_CLK_0>, 87*833e5d42SEmmanuel Vadot <&pdma4_lpcg IMX_LPCG_CLK_0>, 88*833e5d42SEmmanuel Vadot <&pdma5_lpcg IMX_LPCG_CLK_0>; 89*833e5d42SEmmanuel Vadot clock-names = "per0", "per1", "per2", "per3", "per4", "per5"; 90*833e5d42SEmmanuel Vadot power-domains = <&pd IMX_SC_R_ISI_CH0>, <&pd IMX_SC_R_ISI_CH1>, 91*833e5d42SEmmanuel Vadot <&pd IMX_SC_R_ISI_CH2>, <&pd IMX_SC_R_ISI_CH3>, 92*833e5d42SEmmanuel Vadot <&pd IMX_SC_R_ISI_CH4>, <&pd IMX_SC_R_ISI_CH5>; 93*833e5d42SEmmanuel Vadot 94*833e5d42SEmmanuel Vadot ports { 95*833e5d42SEmmanuel Vadot #address-cells = <1>; 96*833e5d42SEmmanuel Vadot #size-cells = <0>; 97*833e5d42SEmmanuel Vadot 98*833e5d42SEmmanuel Vadot port@2 { 99*833e5d42SEmmanuel Vadot reg = <2>; 100*833e5d42SEmmanuel Vadot endpoint { 101*833e5d42SEmmanuel Vadot remote-endpoint = <&mipi_csi0_out>; 102*833e5d42SEmmanuel Vadot }; 103*833e5d42SEmmanuel Vadot }; 104*833e5d42SEmmanuel Vadot }; 105*833e5d42SEmmanuel Vadot }; 106*833e5d42SEmmanuel Vadot... 107