Commit 8b7c7828 authored by Rui Miguel Silva's avatar Rui Miguel Silva Committed by Mauro Carvalho Chehab
Browse files

media: dt-bindings: imx7-mipi-csi2: convert bindings to yaml



Convert imx7 mipi csi2 bindings documentation to yaml schema, remove
the textual document and update MAINTAINERS entry.

Signed-off-by: default avatarRui Miguel Silva <rmfrfs@gmail.com>
Reviewed-by: default avatarJacopo Mondi <jacopo+renesas@jmondi.org>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent 338de94d
Loading
Loading
Loading
Loading
+0 −90
Original line number Diff line number Diff line
Freescale i.MX7 Mipi CSI2
=========================

mipi_csi2 node
--------------

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.

Required properties:

- compatible    : "fsl,imx7-mipi-csi2";
- reg           : base address and length of the register set for the device;
- interrupts    : should contain MIPI CSIS interrupt;
- clocks        : list of clock specifiers, see
        Documentation/devicetree/bindings/clock/clock-bindings.txt for details;
- clock-names   : must contain "pclk", "wrap" and "phy" entries, matching
                  entries in the clock property;
- power-domains : a phandle to the power domain, see
          Documentation/devicetree/bindings/power/power_domain.txt for details.
- reset-names   : should include following entry "mrst";
- resets        : a list of phandle, should contain reset entry of
                  reset-names;
- phy-supply    : from the generic phy bindings, a phandle to a regulator that
	          provides power to MIPI CSIS core;

Optional properties:

- clock-frequency : The IP's main (system bus) clock frequency in Hz, default
		    value when this property is not specified is 166 MHz;
- fsl,csis-hs-settle : differential receiver (HS-RX) settle time;

The device node should contain two 'port' child nodes with one child 'endpoint'
node, according to the bindings defined in:
 Documentation/devicetree/bindings/ media/video-interfaces.txt.
 The following are properties specific to those nodes.

port node
---------

- reg		  : (required) can take the values 0 or 1, where 0 shall be
                     related to the sink port and port 1 shall be the source
                     one;

endpoint node
-------------

- data-lanes    : (required) an array specifying active physical MIPI-CSI2
		    data input lanes and their mapping to logical lanes; this
                    shall only be applied to port 0 (sink port), the array's
                    content is unused only its length is meaningful,
                    in this case the maximum length supported is 2;

example:

        mipi_csi: mipi-csi@30750000 {
                #address-cells = <1>;
                #size-cells = <0>;

                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 = <&reg_1p0d>;
                resets = <&src IMX7_RESET_MIPI_PHY_MRST>;
                reset-names = "mrst";
                fsl,csis-hs-settle = <3>;

                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>;
                        };
                };
        };
+173 −0
Original line number Diff line number Diff line
# 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 = <&reg_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>;
                            };
                    };
            };
    };

...
+1 −1
Original line number Diff line number Diff line
@@ -10849,8 +10849,8 @@ L: linux-media@vger.kernel.org
S:	Maintained
T:	git git://linuxtv.org/media_tree.git
F:	Documentation/admin-guide/media/imx7.rst
F:	Documentation/devicetree/bindings/media/imx7-mipi-csi2.txt
F:	Documentation/devicetree/bindings/media/nxp,imx7-csi.yaml
F:	Documentation/devicetree/bindings/media/nxp,imx7-mipi-csi2.yaml
F:	drivers/staging/media/imx/imx7-media-csi.c
F:	drivers/staging/media/imx/imx7-mipi-csis.c