devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Philipp Zabel <p.zabel@pengutronix.de>
To: Rui Miguel Silva <rui.silva@linaro.org>,
	mchehab@kernel.org, sakari.ailus@linux.intel.com,
	Steve Longerbeam <slongerbeam@gmail.com>,
	Rob Herring <robh+dt@kernel.org>
Cc: devel@driverdev.osuosl.org, devicetree@vger.kernel.org,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Ryan Harkin <ryan.harkin@linaro.org>,
	Fabio Estevam <fabio.estevam@nxp.com>,
	Shawn Guo <shawnguo@kernel.org>,
	linux-media@vger.kernel.org
Subject: Re: [PATCH v2 11/15] ARM: dts: imx7: Add video mux, csi and mipi_csi and connections
Date: Mon, 23 Apr 2018 17:46:33 +0200	[thread overview]
Message-ID: <1524498393.3396.4.camel@pengutronix.de> (raw)
In-Reply-To: <20180423134750.30403-12-rui.silva@linaro.org>

On Mon, 2018-04-23 at 14:47 +0100, Rui Miguel Silva wrote:
> This patch adds the device tree nodes for csi, video multiplexer and mipi-csi
> besides the graph connecting the necessary endpoints to make the media capture
> entities to work in imx7 Warp board.
> 
> Also add the pin control related with the mipi_csi in that board.
> 
> Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
> ---
>  arch/arm/boot/dts/imx7s-warp.dts | 80 ++++++++++++++++++++++++++++++++
>  arch/arm/boot/dts/imx7s.dtsi     | 27 +++++++++++
>  2 files changed, 107 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/imx7s-warp.dts b/arch/arm/boot/dts/imx7s-warp.dts
> index 8a30b148534d..91d06adf7c24 100644
> --- a/arch/arm/boot/dts/imx7s-warp.dts
> +++ b/arch/arm/boot/dts/imx7s-warp.dts
> @@ -310,6 +310,79 @@
>  	status = "okay";
>  };
>  
> +&gpr {
> +	csi_mux {
> +		compatible = "video-mux";
> +		mux-controls = <&mux 0>;
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		port@0 {
> +			reg = <0>;
> +
> +			csi_mux_from_parallel_sensor: endpoint {
> +			};
> +		};
> +
> +		port@1 {
> +			reg = <1>;
> +
> +			csi_mux_from_mipi_vc0: endpoint {
> +				remote-endpoint = <&mipi_vc0_to_csi_mux>;
> +			};
> +		};
> +
> +		port@2 {
> +			reg = <2>;
> +
> +			csi_mux_to_csi: endpoint {
> +				remote-endpoint = <&csi_from_csi_mux>;
> +			};
> +		};
> +	};
> +};
> +
> +&csi {
> +	status = "okay";
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +
> +	port@0 {
> +		reg = <0>;
> +
> +		csi_from_csi_mux: endpoint {
> +			remote-endpoint = <&csi_mux_to_csi>;
> +		};
> +	};
> +};
> +
> +&mipi_csi {
> +	clock-frequency = <166000000>;
> +	status = "okay";
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +
> +	port@0 {
> +		reg = <0>;
> +
> +		mipi_from_sensor: endpoint {
> +			remote-endpoint = <&ov2680_to_mipi>;
> +			data-lanes = <1>;
> +			csis-hs-settle = <3>;
> +			csis-clk-settle = <0>;
> +			csis-wclk;

Why is this an endpoint property? Under which condition would a board
designer choose PCLK instead of WRAP_CLK as pixel clock source?

I'd naively assume that the driver should set this bit automatically
whenever a "wrap" clock is provided via device tree.

> +		};
> +	};
> +
> +	port@1 {
> +		reg = <1>;
> +
> +		mipi_vc0_to_csi_mux: endpoint {
> +			remote-endpoint = <&csi_mux_from_mipi_vc0>;
> +		};
> +	};
> +};
> +
>  &wdog1 {
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&pinctrl_wdog>;
> @@ -357,6 +430,13 @@
>  		>;
>  	};
>  
> +	pinctrl_mipi_csi: mipi_csi {
> +		fsl,pins = <
> +			MX7D_PAD_LPSR_GPIO1_IO03__GPIO1_IO3	0x14
> +			MX7D_PAD_ENET1_RGMII_TD0__GPIO7_IO6	0x14
> +		>;
> +	};
> +

Unrelated change?

>  	pinctrl_sai1: sai1grp {
>  		fsl,pins = <
>  			MX7D_PAD_SAI1_RX_DATA__SAI1_RX_DATA0	0x1f
> diff --git a/arch/arm/boot/dts/imx7s.dtsi b/arch/arm/boot/dts/imx7s.dtsi
> index 3027d6a62021..6b49b73053f9 100644
> --- a/arch/arm/boot/dts/imx7s.dtsi
> +++ b/arch/arm/boot/dts/imx7s.dtsi
> @@ -46,6 +46,7 @@
>  #include <dt-bindings/gpio/gpio.h>
>  #include <dt-bindings/input/input.h>
>  #include <dt-bindings/interrupt-controller/arm-gic.h>
> +#include <dt-bindings/reset/imx7-reset.h>
>  #include "imx7d-pinfunc.h"
>  
>  / {
> @@ -753,6 +754,17 @@
>  				status = "disabled";
>  			};
>  
> +			csi: csi@30710000 {
> +				compatible = "fsl,imx7-csi";
> +				reg = <0x30710000 0x10000>;
> +				interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
> +				clocks = <&clks IMX7D_CLK_DUMMY>,
> +						<&clks IMX7D_CSI_MCLK_ROOT_CLK>,
> +						<&clks IMX7D_CLK_DUMMY>;
> +				clock-names = "axi", "mclk", "dcic";
> +				status = "disabled";
> +			};
> +
>  			lcdif: lcdif@30730000 {
>  				compatible = "fsl,imx7d-lcdif", "fsl,imx28-lcdif";
>  				reg = <0x30730000 0x10000>;
> @@ -762,6 +774,21 @@
>  				clock-names = "pix", "axi";
>  				status = "disabled";
>  			};
> +
> +			mipi_csi: mipi-csi@30750000 {
> +				compatible = "fsl,imx7-mipi-csi2";
> +				reg = <0x30750000 0x10000>;
> +				interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
> +				clocks = <&clks IMX7D_MIPI_CSI_ROOT_CLK>,
> +						<&clks IMX7D_MIPI_DPHY_ROOT_CLK>;
> +				clock-names = "mipi", "phy";

The i.MX7Dual and i.MX7Solo reference manuals mention three clock inputs
to the MIPI CSI: mipi_csi.ipg_clk_s, mipi_csi.I_PCLK, and
mipi.csi.I_WRAP_CLK (all three gated by CCGR100).
The MIPI_CSI2 chapters mention I_PCLK and I_WRAP_CLK again. Shouldn't at
least those two be used in place of just "mipi"?

> +				power-domains = <&pgc_mipi_phy>;
> +				phy-supply = <&reg_1p0d>;
> +				resets = <&src IMX7_RESET_MIPI_PHY_MRST>;
> +				reset-names = "mrst";
> +				bus-width = <4>;

It looks to me like both i.MX7Dual and i.MX7Solo only have two data
lanes connected.

> +				status = "disabled";
> +			};
>  		};
>  
>  		aips3: aips-bus@30800000 {

regards
Philipp

  reply	other threads:[~2018-04-23 15:46 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-23 13:47 [PATCH v2 00/15] media: staging/imx7: add i.MX7 media driver Rui Miguel Silva
2018-04-23 13:47 ` [PATCH v2 01/15] media: staging/imx: add support to media dev for no IPU systems Rui Miguel Silva
2018-04-23 13:47 ` [PATCH v2 02/15] media: staging/imx7: add imx7 CSI subdev driver Rui Miguel Silva
2018-04-23 13:47 ` [PATCH v2 03/15] clk: imx7d: fix mipi dphy div parent Rui Miguel Silva
2018-05-01 22:11   ` Stephen Boyd
2018-05-03  1:08   ` Shawn Guo
2018-05-03  1:50     ` A.s. Dong
2018-04-23 13:47 ` [PATCH v2 04/15] clk: imx7d: reset parent for mipi csi root Rui Miguel Silva
2018-05-03  2:27   ` Shawn Guo
2018-04-23 13:47 ` [PATCH v2 05/15] media: staging/imx7: add MIPI CSI-2 receiver subdev for i.MX7 Rui Miguel Silva
2018-04-23 13:47 ` [PATCH v2 06/15] media: staging/imx: add imx7 capture subsystem Rui Miguel Silva
2018-04-23 15:48   ` Philipp Zabel
2018-04-24  8:46     ` Rui Miguel Silva
2018-04-23 13:47 ` [PATCH v2 07/15] ARM: dts: increase default cma size to 40MB Rui Miguel Silva
2018-05-03  2:40   ` Shawn Guo
2018-04-23 13:47 ` [PATCH v2 08/15] media: dt-bindings: add bindings for i.MX7 media driver Rui Miguel Silva
2018-04-27 19:06   ` Rob Herring
2018-05-07 16:28     ` Rui Miguel Silva
2018-04-23 13:47 ` [PATCH v2 09/15] ARM: dts: imx7s: add mipi phy power domain Rui Miguel Silva
2018-04-23 13:47 ` [PATCH v2 10/15] ARM: dts: imx7s: add multiplexer controls Rui Miguel Silva
2018-05-03  3:05   ` Shawn Guo
2018-04-23 13:47 ` [PATCH v2 11/15] ARM: dts: imx7: Add video mux, csi and mipi_csi and connections Rui Miguel Silva
2018-04-23 15:46   ` Philipp Zabel [this message]
2018-04-24  8:50     ` Rui Miguel Silva
2018-04-23 13:47 ` [PATCH v2 12/15] ARM: dts: imx7s: add capture subsystem Rui Miguel Silva
2018-04-23 13:47 ` [PATCH v2 13/15] ARM: dts: imx7s-warp: add ov2680 sensor node Rui Miguel Silva
2018-04-23 13:47 ` [PATCH v2 14/15] media: imx7.rst: add documentation for i.MX7 media driver Rui Miguel Silva
2018-04-23 13:47 ` [PATCH v2 15/15] media: staging/imx: add i.MX7 entries to TODO file Rui Miguel Silva

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1524498393.3396.4.camel@pengutronix.de \
    --to=p.zabel@pengutronix.de \
    --cc=devel@driverdev.osuosl.org \
    --cc=devicetree@vger.kernel.org \
    --cc=fabio.estevam@nxp.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=rui.silva@linaro.org \
    --cc=ryan.harkin@linaro.org \
    --cc=sakari.ailus@linux.intel.com \
    --cc=shawnguo@kernel.org \
    --cc=slongerbeam@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).