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 240ac186e3SGuoniu.zhou - fsl,imx93-isi 25b28e2418SLaurent Pinchart 26b28e2418SLaurent Pinchart reg: 27b28e2418SLaurent Pinchart maxItems: 1 28b28e2418SLaurent Pinchart 29b28e2418SLaurent Pinchart clocks: 30b28e2418SLaurent Pinchart items: 31b28e2418SLaurent Pinchart - description: The AXI clock 32b28e2418SLaurent Pinchart - description: The APB clock 33b28e2418SLaurent Pinchart # TODO: Check if the per-channel ipg_proc_clk clocks need to be specified 34b28e2418SLaurent Pinchart # as well, in case some SoCs have the ability to control them separately. 35b28e2418SLaurent Pinchart # This may be the case of the i.MX8[DQ]X(P) 36b28e2418SLaurent Pinchart 37b28e2418SLaurent Pinchart clock-names: 38b28e2418SLaurent Pinchart items: 39b28e2418SLaurent Pinchart - const: axi 40b28e2418SLaurent Pinchart - const: apb 41b28e2418SLaurent Pinchart 42b28e2418SLaurent Pinchart fsl,blk-ctrl: 43b28e2418SLaurent Pinchart $ref: /schemas/types.yaml#/definitions/phandle 44b28e2418SLaurent Pinchart description: 45b28e2418SLaurent Pinchart A phandle referencing the block control that contains the CSIS to ISI 46b28e2418SLaurent Pinchart gasket. 47b28e2418SLaurent Pinchart 48b28e2418SLaurent Pinchart interrupts: 49b28e2418SLaurent Pinchart description: Processing pipeline interrupts, one per pipeline 50b28e2418SLaurent Pinchart minItems: 1 51b28e2418SLaurent Pinchart maxItems: 2 52b28e2418SLaurent Pinchart 53b28e2418SLaurent Pinchart power-domains: 54b28e2418SLaurent Pinchart maxItems: 1 55b28e2418SLaurent Pinchart 56b28e2418SLaurent Pinchart ports: 57b28e2418SLaurent Pinchart $ref: /schemas/graph.yaml#/properties/ports 58b28e2418SLaurent Pinchart description: | 59b28e2418SLaurent Pinchart Ports represent the Pixel Link inputs to the ISI. Their number and 60b28e2418SLaurent Pinchart assignment are model-dependent. Each port shall have a single endpoint. 61b28e2418SLaurent Pinchart 62b28e2418SLaurent Pinchartrequired: 63b28e2418SLaurent Pinchart - compatible 64b28e2418SLaurent Pinchart - reg 65b28e2418SLaurent Pinchart - interrupts 66b28e2418SLaurent Pinchart - clocks 67b28e2418SLaurent Pinchart - clock-names 68b28e2418SLaurent Pinchart - fsl,blk-ctrl 69b28e2418SLaurent Pinchart - ports 70b28e2418SLaurent Pinchart 71b28e2418SLaurent PinchartallOf: 72b28e2418SLaurent Pinchart - if: 73b28e2418SLaurent Pinchart properties: 74b28e2418SLaurent Pinchart compatible: 75b28e2418SLaurent Pinchart contains: 760ac186e3SGuoniu.zhou enum: 770ac186e3SGuoniu.zhou - fsl,imx8mn-isi 780ac186e3SGuoniu.zhou - fsl,imx93-isi 79b28e2418SLaurent Pinchart then: 80b28e2418SLaurent Pinchart properties: 81b28e2418SLaurent Pinchart interrupts: 82b28e2418SLaurent Pinchart maxItems: 1 83b28e2418SLaurent Pinchart ports: 84b28e2418SLaurent Pinchart properties: 85b28e2418SLaurent Pinchart port@0: 86b28e2418SLaurent Pinchart description: MIPI CSI-2 RX 87*459a5cb1SAlexander Stein port@1: false 88b28e2418SLaurent Pinchart required: 89b28e2418SLaurent Pinchart - port@0 90b28e2418SLaurent Pinchart 91b28e2418SLaurent Pinchart - if: 92b28e2418SLaurent Pinchart properties: 93b28e2418SLaurent Pinchart compatible: 94b28e2418SLaurent Pinchart contains: 95b28e2418SLaurent Pinchart const: fsl,imx8mp-isi 96b28e2418SLaurent Pinchart then: 97b28e2418SLaurent Pinchart properties: 98b28e2418SLaurent Pinchart interrupts: 99b28e2418SLaurent Pinchart maxItems: 2 100b28e2418SLaurent Pinchart ports: 101b28e2418SLaurent Pinchart properties: 102b28e2418SLaurent Pinchart port@0: 103b28e2418SLaurent Pinchart description: MIPI CSI-2 RX 0 104b28e2418SLaurent Pinchart port@1: 105b28e2418SLaurent Pinchart description: MIPI CSI-2 RX 1 106b28e2418SLaurent Pinchart required: 107b28e2418SLaurent Pinchart - port@0 108b28e2418SLaurent Pinchart - port@1 109b28e2418SLaurent Pinchart 110b28e2418SLaurent PinchartadditionalProperties: false 111b28e2418SLaurent Pinchart 112b28e2418SLaurent Pinchartexamples: 113b28e2418SLaurent Pinchart - | 114b28e2418SLaurent Pinchart #include <dt-bindings/clock/imx8mn-clock.h> 115b28e2418SLaurent Pinchart #include <dt-bindings/interrupt-controller/arm-gic.h> 116b28e2418SLaurent Pinchart #include <dt-bindings/interrupt-controller/irq.h> 117b28e2418SLaurent Pinchart #include <dt-bindings/power/imx8mn-power.h> 118b28e2418SLaurent Pinchart 119b28e2418SLaurent Pinchart isi@32e20000 { 120b28e2418SLaurent Pinchart compatible = "fsl,imx8mn-isi"; 121b28e2418SLaurent Pinchart reg = <0x32e20000 0x100>; 122b28e2418SLaurent Pinchart interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 123b28e2418SLaurent Pinchart clocks = <&clk IMX8MN_CLK_DISP_AXI_ROOT>, 124b28e2418SLaurent Pinchart <&clk IMX8MN_CLK_DISP_APB_ROOT>; 125b28e2418SLaurent Pinchart clock-names = "axi", "apb"; 126b28e2418SLaurent Pinchart fsl,blk-ctrl = <&disp_blk_ctrl>; 127b28e2418SLaurent Pinchart power-domains = <&disp_blk_ctrl IMX8MN_DISPBLK_PD_ISI>; 128b28e2418SLaurent Pinchart 129b28e2418SLaurent Pinchart ports { 130b28e2418SLaurent Pinchart #address-cells = <1>; 131b28e2418SLaurent Pinchart #size-cells = <0>; 132b28e2418SLaurent Pinchart 133b28e2418SLaurent Pinchart port@0 { 134b28e2418SLaurent Pinchart reg = <0>; 135b28e2418SLaurent Pinchart isi_in: endpoint { 136b28e2418SLaurent Pinchart remote-endpoint = <&mipi_csi_out>; 137b28e2418SLaurent Pinchart }; 138b28e2418SLaurent Pinchart }; 139b28e2418SLaurent Pinchart }; 140b28e2418SLaurent Pinchart }; 141b28e2418SLaurent Pinchart 142b28e2418SLaurent Pinchart - | 143b28e2418SLaurent Pinchart #include <dt-bindings/clock/imx8mp-clock.h> 144b28e2418SLaurent Pinchart #include <dt-bindings/interrupt-controller/arm-gic.h> 145b28e2418SLaurent Pinchart #include <dt-bindings/interrupt-controller/irq.h> 146b28e2418SLaurent Pinchart 147b28e2418SLaurent Pinchart isi@32e00000 { 148b28e2418SLaurent Pinchart compatible = "fsl,imx8mp-isi"; 149b28e2418SLaurent Pinchart reg = <0x32e00000 0x4000>; 150b28e2418SLaurent Pinchart interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>, 151b28e2418SLaurent Pinchart <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>; 152b28e2418SLaurent Pinchart clocks = <&clk IMX8MP_CLK_MEDIA_AXI_ROOT>, 153b28e2418SLaurent Pinchart <&clk IMX8MP_CLK_MEDIA_APB_ROOT>; 154b28e2418SLaurent Pinchart clock-names = "axi", "apb"; 155b28e2418SLaurent Pinchart fsl,blk-ctrl = <&media_blk_ctrl>; 156b28e2418SLaurent Pinchart power-domains = <&mediamix_pd>; 157b28e2418SLaurent Pinchart 158b28e2418SLaurent Pinchart ports { 159b28e2418SLaurent Pinchart #address-cells = <1>; 160b28e2418SLaurent Pinchart #size-cells = <0>; 161b28e2418SLaurent Pinchart 162b28e2418SLaurent Pinchart port@0 { 163b28e2418SLaurent Pinchart reg = <0>; 164b28e2418SLaurent Pinchart isi_in_0: endpoint { 165b28e2418SLaurent Pinchart remote-endpoint = <&mipi_csi_0_out>; 166b28e2418SLaurent Pinchart }; 167b28e2418SLaurent Pinchart }; 168b28e2418SLaurent Pinchart 169b28e2418SLaurent Pinchart port@1 { 170b28e2418SLaurent Pinchart reg = <1>; 171b28e2418SLaurent Pinchart isi_in_1: endpoint { 172b28e2418SLaurent Pinchart remote-endpoint = <&mipi_csi_1_out>; 173b28e2418SLaurent Pinchart }; 174b28e2418SLaurent Pinchart }; 175b28e2418SLaurent Pinchart }; 176b28e2418SLaurent Pinchart }; 177b28e2418SLaurent Pinchart... 178