137255747SMartin Kepplinger# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 237255747SMartin Kepplinger%YAML 1.2 337255747SMartin Kepplinger--- 437255747SMartin Kepplinger$id: http://devicetree.org/schemas/media/nxp,imx8mq-mipi-csi2.yaml# 537255747SMartin Kepplinger$schema: http://devicetree.org/meta-schemas/core.yaml# 637255747SMartin Kepplinger 737255747SMartin Kepplingertitle: NXP i.MX8MQ MIPI CSI-2 receiver 837255747SMartin Kepplinger 937255747SMartin Kepplingermaintainers: 1037255747SMartin Kepplinger - Martin Kepplinger <martin.kepplinger@puri.sm> 1137255747SMartin Kepplinger 1237255747SMartin Kepplingerdescription: |- 1337255747SMartin Kepplinger This binding covers the CSI-2 RX PHY and host controller included in the 1437255747SMartin Kepplinger NXP i.MX8MQ SoC. It handles the sensor/image input and process for all the 1537255747SMartin Kepplinger input imaging devices. 1637255747SMartin Kepplinger 1737255747SMartin Kepplingerproperties: 1837255747SMartin Kepplinger compatible: 1937255747SMartin Kepplinger enum: 2037255747SMartin Kepplinger - fsl,imx8mq-mipi-csi2 2137255747SMartin Kepplinger 2237255747SMartin Kepplinger reg: 2337255747SMartin Kepplinger maxItems: 1 2437255747SMartin Kepplinger 2537255747SMartin Kepplinger clocks: 2637255747SMartin Kepplinger items: 2737255747SMartin Kepplinger - description: core is the RX Controller Core Clock input. This clock 2837255747SMartin Kepplinger must be exactly equal to or faster than the receive 2937255747SMartin Kepplinger byteclock from the RX DPHY. 3037255747SMartin Kepplinger - description: esc is the Rx Escape Clock. This must be the same escape 3137255747SMartin Kepplinger clock that the RX DPHY receives. 3237255747SMartin Kepplinger - description: ui is the pixel clock (phy_ref up to 333Mhz). 3337255747SMartin Kepplinger See the reference manual for details. 3437255747SMartin Kepplinger 3537255747SMartin Kepplinger clock-names: 3637255747SMartin Kepplinger items: 3737255747SMartin Kepplinger - const: core 3837255747SMartin Kepplinger - const: esc 3937255747SMartin Kepplinger - const: ui 4037255747SMartin Kepplinger 4137255747SMartin Kepplinger power-domains: 4237255747SMartin Kepplinger maxItems: 1 4337255747SMartin Kepplinger 4437255747SMartin Kepplinger resets: 4537255747SMartin Kepplinger items: 4637255747SMartin Kepplinger - description: CORE_RESET reset register bit definition 4737255747SMartin Kepplinger - description: PHY_REF_RESET reset register bit definition 4837255747SMartin Kepplinger - description: ESC_RESET reset register bit definition 4937255747SMartin Kepplinger 5037255747SMartin Kepplinger fsl,mipi-phy-gpr: 5137255747SMartin Kepplinger description: | 5237255747SMartin Kepplinger The phandle to the imx8mq syscon iomux-gpr with the register 5337255747SMartin Kepplinger for setting RX_ENABLE for the mipi receiver. 5437255747SMartin Kepplinger 5537255747SMartin Kepplinger The format should be as follows: 5637255747SMartin Kepplinger <gpr req_gpr> 5737255747SMartin Kepplinger gpr is the phandle to general purpose register node. 5837255747SMartin Kepplinger req_gpr is the gpr register offset of RX_ENABLE for the mipi phy. 5937255747SMartin Kepplinger $ref: /schemas/types.yaml#/definitions/phandle-array 6037255747SMartin Kepplinger items: 61*39bd2b6aSRob Herring - items: 6237255747SMartin Kepplinger - description: The 'gpr' is the phandle to general purpose register node. 6337255747SMartin Kepplinger - description: The 'req_gpr' is the gpr register offset containing 6437255747SMartin Kepplinger CSI2_1_RX_ENABLE or CSI2_2_RX_ENABLE respectively. 6537255747SMartin Kepplinger maximum: 0xff 6637255747SMartin Kepplinger 6737255747SMartin Kepplinger interconnects: 6837255747SMartin Kepplinger maxItems: 1 6937255747SMartin Kepplinger 7037255747SMartin Kepplinger interconnect-names: 7137255747SMartin Kepplinger const: dram 7237255747SMartin Kepplinger 7337255747SMartin Kepplinger ports: 7437255747SMartin Kepplinger $ref: /schemas/graph.yaml#/properties/ports 7537255747SMartin Kepplinger 7637255747SMartin Kepplinger properties: 7737255747SMartin Kepplinger port@0: 7837255747SMartin Kepplinger $ref: /schemas/graph.yaml#/$defs/port-base 7937255747SMartin Kepplinger unevaluatedProperties: false 8037255747SMartin Kepplinger description: 8137255747SMartin Kepplinger Input port node, single endpoint describing the CSI-2 transmitter. 8237255747SMartin Kepplinger 8337255747SMartin Kepplinger properties: 8437255747SMartin Kepplinger endpoint: 8537255747SMartin Kepplinger $ref: video-interfaces.yaml# 8637255747SMartin Kepplinger unevaluatedProperties: false 8737255747SMartin Kepplinger 8837255747SMartin Kepplinger properties: 8937255747SMartin Kepplinger data-lanes: 9037255747SMartin Kepplinger minItems: 1 9137255747SMartin Kepplinger items: 9237255747SMartin Kepplinger - const: 1 9337255747SMartin Kepplinger - const: 2 9437255747SMartin Kepplinger - const: 3 9537255747SMartin Kepplinger - const: 4 9637255747SMartin Kepplinger 9737255747SMartin Kepplinger required: 9837255747SMartin Kepplinger - data-lanes 9937255747SMartin Kepplinger 10037255747SMartin Kepplinger port@1: 10137255747SMartin Kepplinger $ref: /schemas/graph.yaml#/properties/port 10237255747SMartin Kepplinger description: 10337255747SMartin Kepplinger Output port node 10437255747SMartin Kepplinger 10537255747SMartin Kepplinger required: 10637255747SMartin Kepplinger - port@0 10737255747SMartin Kepplinger - port@1 10837255747SMartin Kepplinger 10937255747SMartin Kepplingerrequired: 11037255747SMartin Kepplinger - compatible 11137255747SMartin Kepplinger - reg 11237255747SMartin Kepplinger - clocks 11337255747SMartin Kepplinger - clock-names 11437255747SMartin Kepplinger - power-domains 11537255747SMartin Kepplinger - resets 11637255747SMartin Kepplinger - fsl,mipi-phy-gpr 11737255747SMartin Kepplinger - ports 11837255747SMartin Kepplinger 11937255747SMartin KepplingeradditionalProperties: false 12037255747SMartin Kepplinger 12137255747SMartin Kepplingerexamples: 12237255747SMartin Kepplinger - | 12337255747SMartin Kepplinger #include <dt-bindings/clock/imx8mq-clock.h> 12437255747SMartin Kepplinger #include <dt-bindings/interconnect/imx8mq.h> 12537255747SMartin Kepplinger #include <dt-bindings/reset/imx8mq-reset.h> 12637255747SMartin Kepplinger 12737255747SMartin Kepplinger csi@30a70000 { 12837255747SMartin Kepplinger compatible = "fsl,imx8mq-mipi-csi2"; 12937255747SMartin Kepplinger reg = <0x30a70000 0x1000>; 13037255747SMartin Kepplinger clocks = <&clk IMX8MQ_CLK_CSI1_CORE>, 13137255747SMartin Kepplinger <&clk IMX8MQ_CLK_CSI1_ESC>, 13237255747SMartin Kepplinger <&clk IMX8MQ_CLK_CSI1_PHY_REF>; 13337255747SMartin Kepplinger clock-names = "core", "esc", "ui"; 13437255747SMartin Kepplinger assigned-clocks = <&clk IMX8MQ_CLK_CSI1_CORE>, 13537255747SMartin Kepplinger <&clk IMX8MQ_CLK_CSI1_PHY_REF>, 13637255747SMartin Kepplinger <&clk IMX8MQ_CLK_CSI1_ESC>; 13737255747SMartin Kepplinger assigned-clock-rates = <266000000>, <200000000>, <66000000>; 13837255747SMartin Kepplinger assigned-clock-parents = <&clk IMX8MQ_SYS1_PLL_266M>, 13937255747SMartin Kepplinger <&clk IMX8MQ_SYS2_PLL_1000M>, 14037255747SMartin Kepplinger <&clk IMX8MQ_SYS1_PLL_800M>; 14137255747SMartin Kepplinger power-domains = <&pgc_mipi_csi1>; 14237255747SMartin Kepplinger resets = <&src IMX8MQ_RESET_MIPI_CSI1_CORE_RESET>, 14337255747SMartin Kepplinger <&src IMX8MQ_RESET_MIPI_CSI1_PHY_REF_RESET>, 14437255747SMartin Kepplinger <&src IMX8MQ_RESET_MIPI_CSI1_ESC_RESET>; 14537255747SMartin Kepplinger fsl,mipi-phy-gpr = <&iomuxc_gpr 0x88>; 14637255747SMartin Kepplinger interconnects = <&noc IMX8MQ_ICM_CSI1 &noc IMX8MQ_ICS_DRAM>; 14737255747SMartin Kepplinger interconnect-names = "dram"; 14837255747SMartin Kepplinger 14937255747SMartin Kepplinger ports { 15037255747SMartin Kepplinger #address-cells = <1>; 15137255747SMartin Kepplinger #size-cells = <0>; 15237255747SMartin Kepplinger 15337255747SMartin Kepplinger port@0 { 15437255747SMartin Kepplinger reg = <0>; 15537255747SMartin Kepplinger 15637255747SMartin Kepplinger imx8mm_mipi_csi_in: endpoint { 15737255747SMartin Kepplinger remote-endpoint = <&imx477_out>; 15837255747SMartin Kepplinger data-lanes = <1 2 3 4>; 15937255747SMartin Kepplinger }; 16037255747SMartin Kepplinger }; 16137255747SMartin Kepplinger 16237255747SMartin Kepplinger port@1 { 16337255747SMartin Kepplinger reg = <1>; 16437255747SMartin Kepplinger 16537255747SMartin Kepplinger imx8mm_mipi_csi_out: endpoint { 16637255747SMartin Kepplinger remote-endpoint = <&csi_in>; 16737255747SMartin Kepplinger }; 16837255747SMartin Kepplinger }; 16937255747SMartin Kepplinger }; 17037255747SMartin Kepplinger }; 17137255747SMartin Kepplinger 17237255747SMartin Kepplinger... 173