1b28e2418SLaurent Pinchart# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2b28e2418SLaurent Pinchart%YAML 1.2 3b28e2418SLaurent Pinchart--- 4b28e2418SLaurent Pinchart$id: http://devicetree.org/schemas/media/nxp,imx8-isi.yaml# 5b28e2418SLaurent Pinchart$schema: http://devicetree.org/meta-schemas/core.yaml# 6b28e2418SLaurent Pinchart 7b28e2418SLaurent Pincharttitle: i.MX8 Image Sensing Interface 8b28e2418SLaurent Pinchart 9b28e2418SLaurent Pinchartmaintainers: 10b28e2418SLaurent Pinchart - Laurent Pinchart <laurent.pinchart@ideasonboard.com> 11b28e2418SLaurent Pinchart 12b28e2418SLaurent Pinchartdescription: | 13b28e2418SLaurent Pinchart The Image Sensing Interface (ISI) combines image processing pipelines with 14b28e2418SLaurent Pinchart DMA engines to process and capture frames originating from a variety of 15b28e2418SLaurent Pinchart sources. The inputs to the ISI go through Pixel Link interfaces, and their 16b28e2418SLaurent Pinchart number and nature is SoC-dependent. They cover both capture interfaces (MIPI 17b28e2418SLaurent Pinchart CSI-2 RX, HDMI RX, ...) and display engine outputs for writeback support. 18b28e2418SLaurent Pinchart 19b28e2418SLaurent Pinchartproperties: 20b28e2418SLaurent Pinchart compatible: 21b28e2418SLaurent Pinchart enum: 22b28e2418SLaurent Pinchart - fsl,imx8mn-isi 23b28e2418SLaurent Pinchart - fsl,imx8mp-isi 24*288517a3SGuoniu.zhou - fsl,imx8ulp-isi 250ac186e3SGuoniu.zhou - fsl,imx93-isi 26b28e2418SLaurent Pinchart 27b28e2418SLaurent Pinchart reg: 28b28e2418SLaurent Pinchart maxItems: 1 29b28e2418SLaurent Pinchart 30b28e2418SLaurent Pinchart clocks: 31b28e2418SLaurent Pinchart items: 32b28e2418SLaurent Pinchart - description: The AXI clock 33b28e2418SLaurent Pinchart - description: The APB clock 34b28e2418SLaurent Pinchart # TODO: Check if the per-channel ipg_proc_clk clocks need to be specified 35b28e2418SLaurent Pinchart # as well, in case some SoCs have the ability to control them separately. 36b28e2418SLaurent Pinchart # This may be the case of the i.MX8[DQ]X(P) 37b28e2418SLaurent Pinchart 38b28e2418SLaurent Pinchart clock-names: 39b28e2418SLaurent Pinchart items: 40b28e2418SLaurent Pinchart - const: axi 41b28e2418SLaurent Pinchart - const: apb 42b28e2418SLaurent Pinchart 43b28e2418SLaurent Pinchart fsl,blk-ctrl: 44b28e2418SLaurent Pinchart $ref: /schemas/types.yaml#/definitions/phandle 45b28e2418SLaurent Pinchart description: 46b28e2418SLaurent Pinchart A phandle referencing the block control that contains the CSIS to ISI 47b28e2418SLaurent Pinchart gasket. 48b28e2418SLaurent Pinchart 49b28e2418SLaurent Pinchart interrupts: 50b28e2418SLaurent Pinchart description: Processing pipeline interrupts, one per pipeline 51b28e2418SLaurent Pinchart minItems: 1 52b28e2418SLaurent Pinchart maxItems: 2 53b28e2418SLaurent Pinchart 54b28e2418SLaurent Pinchart power-domains: 55b28e2418SLaurent Pinchart maxItems: 1 56b28e2418SLaurent Pinchart 57b28e2418SLaurent Pinchart ports: 58b28e2418SLaurent Pinchart $ref: /schemas/graph.yaml#/properties/ports 59b28e2418SLaurent Pinchart description: | 60b28e2418SLaurent Pinchart Ports represent the Pixel Link inputs to the ISI. Their number and 61b28e2418SLaurent Pinchart assignment are model-dependent. Each port shall have a single endpoint. 62b28e2418SLaurent Pinchart 63b28e2418SLaurent Pinchartrequired: 64b28e2418SLaurent Pinchart - compatible 65b28e2418SLaurent Pinchart - reg 66b28e2418SLaurent Pinchart - interrupts 67b28e2418SLaurent Pinchart - clocks 68b28e2418SLaurent Pinchart - clock-names 69b28e2418SLaurent Pinchart - fsl,blk-ctrl 70b28e2418SLaurent Pinchart - ports 71b28e2418SLaurent Pinchart 72b28e2418SLaurent PinchartallOf: 73b28e2418SLaurent Pinchart - if: 74b28e2418SLaurent Pinchart properties: 75b28e2418SLaurent Pinchart compatible: 76b28e2418SLaurent Pinchart contains: 770ac186e3SGuoniu.zhou enum: 780ac186e3SGuoniu.zhou - fsl,imx8mn-isi 79*288517a3SGuoniu.zhou - fsl,imx8ulp-isi 800ac186e3SGuoniu.zhou - fsl,imx93-isi 81b28e2418SLaurent Pinchart then: 82b28e2418SLaurent Pinchart properties: 83b28e2418SLaurent Pinchart interrupts: 84b28e2418SLaurent Pinchart maxItems: 1 85b28e2418SLaurent Pinchart ports: 86b28e2418SLaurent Pinchart properties: 87b28e2418SLaurent Pinchart port@0: 88b28e2418SLaurent Pinchart description: MIPI CSI-2 RX 89459a5cb1SAlexander Stein port@1: false 90b28e2418SLaurent Pinchart required: 91b28e2418SLaurent Pinchart - port@0 92b28e2418SLaurent Pinchart 93b28e2418SLaurent Pinchart - if: 94b28e2418SLaurent Pinchart properties: 95b28e2418SLaurent Pinchart compatible: 96b28e2418SLaurent Pinchart contains: 97b28e2418SLaurent Pinchart const: fsl,imx8mp-isi 98b28e2418SLaurent Pinchart then: 99b28e2418SLaurent Pinchart properties: 100b28e2418SLaurent Pinchart interrupts: 101b28e2418SLaurent Pinchart maxItems: 2 102b28e2418SLaurent Pinchart ports: 103b28e2418SLaurent Pinchart properties: 104b28e2418SLaurent Pinchart port@0: 105b28e2418SLaurent Pinchart description: MIPI CSI-2 RX 0 106b28e2418SLaurent Pinchart port@1: 107b28e2418SLaurent Pinchart description: MIPI CSI-2 RX 1 108b28e2418SLaurent Pinchart required: 109b28e2418SLaurent Pinchart - port@0 110b28e2418SLaurent Pinchart - port@1 111b28e2418SLaurent Pinchart 112b28e2418SLaurent PinchartadditionalProperties: false 113b28e2418SLaurent Pinchart 114b28e2418SLaurent Pinchartexamples: 115b28e2418SLaurent Pinchart - | 116b28e2418SLaurent Pinchart #include <dt-bindings/clock/imx8mn-clock.h> 117b28e2418SLaurent Pinchart #include <dt-bindings/interrupt-controller/arm-gic.h> 118b28e2418SLaurent Pinchart #include <dt-bindings/interrupt-controller/irq.h> 119b28e2418SLaurent Pinchart #include <dt-bindings/power/imx8mn-power.h> 120b28e2418SLaurent Pinchart 121b28e2418SLaurent Pinchart isi@32e20000 { 122b28e2418SLaurent Pinchart compatible = "fsl,imx8mn-isi"; 123b28e2418SLaurent Pinchart reg = <0x32e20000 0x100>; 124b28e2418SLaurent Pinchart interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 125b28e2418SLaurent Pinchart clocks = <&clk IMX8MN_CLK_DISP_AXI_ROOT>, 126b28e2418SLaurent Pinchart <&clk IMX8MN_CLK_DISP_APB_ROOT>; 127b28e2418SLaurent Pinchart clock-names = "axi", "apb"; 128b28e2418SLaurent Pinchart fsl,blk-ctrl = <&disp_blk_ctrl>; 129b28e2418SLaurent Pinchart power-domains = <&disp_blk_ctrl IMX8MN_DISPBLK_PD_ISI>; 130b28e2418SLaurent Pinchart 131b28e2418SLaurent Pinchart ports { 132b28e2418SLaurent Pinchart #address-cells = <1>; 133b28e2418SLaurent Pinchart #size-cells = <0>; 134b28e2418SLaurent Pinchart 135b28e2418SLaurent Pinchart port@0 { 136b28e2418SLaurent Pinchart reg = <0>; 137b28e2418SLaurent Pinchart isi_in: endpoint { 138b28e2418SLaurent Pinchart remote-endpoint = <&mipi_csi_out>; 139b28e2418SLaurent Pinchart }; 140b28e2418SLaurent Pinchart }; 141b28e2418SLaurent Pinchart }; 142b28e2418SLaurent Pinchart }; 143b28e2418SLaurent Pinchart 144b28e2418SLaurent Pinchart - | 145b28e2418SLaurent Pinchart #include <dt-bindings/clock/imx8mp-clock.h> 146b28e2418SLaurent Pinchart #include <dt-bindings/interrupt-controller/arm-gic.h> 147b28e2418SLaurent Pinchart #include <dt-bindings/interrupt-controller/irq.h> 148b28e2418SLaurent Pinchart 149b28e2418SLaurent Pinchart isi@32e00000 { 150b28e2418SLaurent Pinchart compatible = "fsl,imx8mp-isi"; 151b28e2418SLaurent Pinchart reg = <0x32e00000 0x4000>; 152b28e2418SLaurent Pinchart interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>, 153b28e2418SLaurent Pinchart <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 154b28e2418SLaurent Pinchart clocks = <&clk IMX8MP_CLK_MEDIA_AXI_ROOT>, 155b28e2418SLaurent Pinchart <&clk IMX8MP_CLK_MEDIA_APB_ROOT>; 156b28e2418SLaurent Pinchart clock-names = "axi", "apb"; 157b28e2418SLaurent Pinchart fsl,blk-ctrl = <&media_blk_ctrl>; 158b28e2418SLaurent Pinchart power-domains = <&mediamix_pd>; 159b28e2418SLaurent Pinchart 160b28e2418SLaurent Pinchart ports { 161b28e2418SLaurent Pinchart #address-cells = <1>; 162b28e2418SLaurent Pinchart #size-cells = <0>; 163b28e2418SLaurent Pinchart 164b28e2418SLaurent Pinchart port@0 { 165b28e2418SLaurent Pinchart reg = <0>; 166b28e2418SLaurent Pinchart isi_in_0: endpoint { 167b28e2418SLaurent Pinchart remote-endpoint = <&mipi_csi_0_out>; 168b28e2418SLaurent Pinchart }; 169b28e2418SLaurent Pinchart }; 170b28e2418SLaurent Pinchart 171b28e2418SLaurent Pinchart port@1 { 172b28e2418SLaurent Pinchart reg = <1>; 173b28e2418SLaurent Pinchart isi_in_1: endpoint { 174b28e2418SLaurent Pinchart remote-endpoint = <&mipi_csi_1_out>; 175b28e2418SLaurent Pinchart }; 176b28e2418SLaurent Pinchart }; 177b28e2418SLaurent Pinchart }; 178b28e2418SLaurent Pinchart }; 179b28e2418SLaurent Pinchart... 180