| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/media/nxp,imx7-mipi-csi2.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: NXP i.MX7 Mipi CSI2 |
| |
| maintainers: |
| - Rui Miguel Silva <rmfrfs@gmail.com> |
| |
| description: | |
| This is the device node for the MIPI CSI-2 receiver core in i.MX7 soc. It is |
| compatible with previous version of samsung d-phy. |
| |
| properties: |
| compatible: |
| const: fsl,imx7-mipi-csi2 |
| |
| reg: |
| maxItems: 1 |
| |
| interrupts: |
| maxItems: 1 |
| |
| clocks: |
| minItems: 3 |
| maxItems: 3 |
| |
| clock-names: |
| items: |
| - const: pclk |
| - const: wrap |
| - const: phy |
| |
| power-domains: |
| maxItems: 1 |
| |
| phy-supply: |
| description: |
| Phandle to a regulator that provides power to the PHY. This |
| regulator will be managed during the PHY power on/off sequence. |
| |
| resets: |
| maxItems: 1 |
| |
| reset-names: |
| const: mrst |
| |
| clock-frequency: |
| description: |
| The IP main (system bus) clock frequency in Hertz |
| default: 166000000 |
| |
| fsl,csis-hs-settle: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| description: |
| Differential receiver (HS-RX) settle time |
| |
| ports: |
| type: object |
| description: |
| A node containing input and output port nodes with endpoint definitions |
| as documented in |
| Documentation/devicetree/bindings/media/video-interfaces.txt |
| |
| properties: |
| '#address-cells': |
| const: 1 |
| |
| '#size-cells': |
| const: 0 |
| |
| port@0: |
| type: object |
| description: |
| Input port node, single endpoint describing the CSI-2 transmitter. |
| |
| properties: |
| reg: |
| const: 0 |
| |
| endpoint: |
| type: object |
| |
| properties: |
| data-lanes: |
| $ref: /schemas/types.yaml#/definitions/uint32-array |
| description: See ../video-interfaces.txt |
| oneOf: |
| - items: |
| - const: 1 |
| - items: |
| - const: 1 |
| - const: 2 |
| |
| remote-endpoint: true |
| |
| required: |
| - data-lanes |
| - remote-endpoint |
| |
| additionalProperties: false |
| |
| additionalProperties: false |
| |
| port@1: |
| type: object |
| description: |
| Output port node |
| |
| required: |
| - compatible |
| - reg |
| - interrupts |
| - clocks |
| - clock-names |
| - power-domains |
| - phy-supply |
| - resets |
| - reset-names |
| - ports |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/clock/imx7d-clock.h> |
| #include <dt-bindings/interrupt-controller/arm-gic.h> |
| #include <dt-bindings/interrupt-controller/irq.h> |
| #include <dt-bindings/reset/imx7-reset.h> |
| |
| mipi_csi: mipi-csi@30750000 { |
| compatible = "fsl,imx7-mipi-csi2"; |
| reg = <0x30750000 0x10000>; |
| interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; |
| |
| clocks = <&clks IMX7D_IPG_ROOT_CLK>, |
| <&clks IMX7D_MIPI_CSI_ROOT_CLK>, |
| <&clks IMX7D_MIPI_DPHY_ROOT_CLK>; |
| clock-names = "pclk", "wrap", "phy"; |
| clock-frequency = <166000000>; |
| |
| power-domains = <&pgc_mipi_phy>; |
| phy-supply = <®_1p0d>; |
| resets = <&src IMX7_RESET_MIPI_PHY_MRST>; |
| reset-names = "mrst"; |
| fsl,csis-hs-settle = <3>; |
| |
| ports { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| port@0 { |
| reg = <0>; |
| |
| mipi_from_sensor: endpoint { |
| remote-endpoint = <&ov2680_to_mipi>; |
| data-lanes = <1>; |
| }; |
| }; |
| |
| port@1 { |
| reg = <1>; |
| |
| mipi_vc0_to_csi_mux: endpoint { |
| remote-endpoint = <&csi_mux_from_mipi_vc0>; |
| }; |
| }; |
| }; |
| }; |
| |
| ... |