From mboxrd@z Thu Jan 1 00:00:00 1970
From: Philipp Zabel
Subject: Re: [PATCH v3 10/14] ARM: dts: imx7: Add video mux, csi and
mipi_csi and connections
Date: Wed, 09 May 2018 10:53:46 +0200
Message-ID: <1525856026.5888.4.camel@pengutronix.de>
References: <20180507162152.2545-1-rui.silva@linaro.org>
<20180507162152.2545-11-rui.silva@linaro.org>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Return-path:
In-Reply-To: <20180507162152.2545-11-rui.silva@linaro.org>
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: driverdev-devel-bounces@linuxdriverproject.org
Sender: "devel"
To: Rui Miguel Silva , mchehab@kernel.org, sakari.ailus@linux.intel.com, Steve Longerbeam , Rob Herring
Cc: devel@driverdev.osuosl.org, devicetree@vger.kernel.org, Greg Kroah-Hartman , Ryan Harkin , Fabio Estevam , Shawn Guo , linux-media@vger.kernel.org
List-Id: devicetree@vger.kernel.org
On Mon, 2018-05-07 at 17:21 +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
> ---
> arch/arm/boot/dts/imx7s-warp.dts | 78 ++++++++++++++++++++++++++++++++
> arch/arm/boot/dts/imx7s.dtsi | 28 ++++++++++++
> 2 files changed, 106 insertions(+)
>
> diff --git a/arch/arm/boot/dts/imx7s-warp.dts b/arch/arm/boot/dts/imx7s-warp.dts
> index 8a30b148534d..ffd170ae925a 100644
> --- a/arch/arm/boot/dts/imx7s-warp.dts
> +++ b/arch/arm/boot/dts/imx7s-warp.dts
> @@ -310,6 +310,77 @@
> 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>;
Same comment as for the binding docs, since the CSI only has one port,
it doesn't have to be numbered.
> +
> + csi_from_csi_mux: endpoint {
> + remote-endpoint = <&csi_mux_to_csi>;
> + };
> + };
> +};
> +
> +&mipi_csi {
> + clock-frequency = <166000000>;
> + status = "okay";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + 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>;
> + };
> + };
> +};
> +
> &wdog1 {
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_wdog>;
> @@ -357,6 +428,13 @@
> >;
> };
>
> + pinctrl_mipi_csi: mipi_csi {
> + fsl,pins = <
> + MX7D_PAD_LPSR_GPIO1_IO03__GPIO1_IO3 0x14
This is the ov2680 reset GPIO? I think this belongs into patch 12.
> + MX7D_PAD_ENET1_RGMII_TD0__GPIO7_IO6 0x14
What is this GPIO used for?
> + >;
> + };
> +
> 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 3590dab529f9..0bae41f2944c 100644
> --- a/arch/arm/boot/dts/imx7s.dtsi
> +++ b/arch/arm/boot/dts/imx7s.dtsi
> @@ -46,6 +46,7 @@
> #include
> #include
> #include
> +#include
> #include "imx7d-pinfunc.h"
>
> / {
> @@ -738,6 +739,17 @@
> status = "disabled";
> };
>
> + csi: csi@30710000 {
> + compatible = "fsl,imx7-csi";
> + reg = <0x30710000 0x10000>;
> + interrupts = ;
> + 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>;
> @@ -747,6 +759,22 @@
> clock-names = "pix", "axi";
> status = "disabled";
> };
> +
> + mipi_csi: mipi-csi@30750000 {
> + compatible = "fsl,imx7-mipi-csi2";
> + reg = <0x30750000 0x10000>;
> + interrupts = ;
> + clocks = <&clks IMX7D_IPG_ROOT_CLK>,
> + <&clks IMX7D_MIPI_CSI_ROOT_CLK>,
> + <&clks IMX7D_MIPI_DPHY_ROOT_CLK>;
> + clock-names = "pclk", "wrap", "phy";
> + power-domains = <&pgc_mipi_phy>;
> + phy-supply = <®_1p0d>;
> + resets = <&src IMX7_RESET_MIPI_PHY_MRST>;
> + reset-names = "mrst";
> + bus-width = <2>;
> + status = "disabled";
> + };
> };
>
> aips3: aips-bus@30800000 {
regards
Philipp
From mboxrd@z Thu Jan 1 00:00:00 1970
Return-path:
Received: from metis.ext.pengutronix.de ([85.220.165.71]:56439 "EHLO
metis.ext.pengutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
with ESMTP id S934371AbeEIIxw (ORCPT
); Wed, 9 May 2018 04:53:52 -0400
Message-ID: <1525856026.5888.4.camel@pengutronix.de>
Subject: Re: [PATCH v3 10/14] ARM: dts: imx7: Add video mux, csi and
mipi_csi and connections
From: Philipp Zabel
To: Rui Miguel Silva , mchehab@kernel.org,
sakari.ailus@linux.intel.com,
Steve Longerbeam ,
Rob Herring
Cc: linux-media@vger.kernel.org, devel@driverdev.osuosl.org,
Shawn Guo ,
Fabio Estevam ,
devicetree@vger.kernel.org,
Greg Kroah-Hartman ,
Ryan Harkin
Date: Wed, 09 May 2018 10:53:46 +0200
In-Reply-To: <20180507162152.2545-11-rui.silva@linaro.org>
References: <20180507162152.2545-1-rui.silva@linaro.org>
<20180507162152.2545-11-rui.silva@linaro.org>
Content-Type: text/plain; charset="UTF-8"
Mime-Version: 1.0
Content-Transfer-Encoding: 7bit
Sender: linux-media-owner@vger.kernel.org
List-ID:
On Mon, 2018-05-07 at 17:21 +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
> ---
> arch/arm/boot/dts/imx7s-warp.dts | 78 ++++++++++++++++++++++++++++++++
> arch/arm/boot/dts/imx7s.dtsi | 28 ++++++++++++
> 2 files changed, 106 insertions(+)
>
> diff --git a/arch/arm/boot/dts/imx7s-warp.dts b/arch/arm/boot/dts/imx7s-warp.dts
> index 8a30b148534d..ffd170ae925a 100644
> --- a/arch/arm/boot/dts/imx7s-warp.dts
> +++ b/arch/arm/boot/dts/imx7s-warp.dts
> @@ -310,6 +310,77 @@
> 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>;
Same comment as for the binding docs, since the CSI only has one port,
it doesn't have to be numbered.
> +
> + csi_from_csi_mux: endpoint {
> + remote-endpoint = <&csi_mux_to_csi>;
> + };
> + };
> +};
> +
> +&mipi_csi {
> + clock-frequency = <166000000>;
> + status = "okay";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + 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>;
> + };
> + };
> +};
> +
> &wdog1 {
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_wdog>;
> @@ -357,6 +428,13 @@
> >;
> };
>
> + pinctrl_mipi_csi: mipi_csi {
> + fsl,pins = <
> + MX7D_PAD_LPSR_GPIO1_IO03__GPIO1_IO3 0x14
This is the ov2680 reset GPIO? I think this belongs into patch 12.
> + MX7D_PAD_ENET1_RGMII_TD0__GPIO7_IO6 0x14
What is this GPIO used for?
> + >;
> + };
> +
> 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 3590dab529f9..0bae41f2944c 100644
> --- a/arch/arm/boot/dts/imx7s.dtsi
> +++ b/arch/arm/boot/dts/imx7s.dtsi
> @@ -46,6 +46,7 @@
> #include
> #include
> #include
> +#include
> #include "imx7d-pinfunc.h"
>
> / {
> @@ -738,6 +739,17 @@
> status = "disabled";
> };
>
> + csi: csi@30710000 {
> + compatible = "fsl,imx7-csi";
> + reg = <0x30710000 0x10000>;
> + interrupts = ;
> + 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>;
> @@ -747,6 +759,22 @@
> clock-names = "pix", "axi";
> status = "disabled";
> };
> +
> + mipi_csi: mipi-csi@30750000 {
> + compatible = "fsl,imx7-mipi-csi2";
> + reg = <0x30750000 0x10000>;
> + interrupts = ;
> + clocks = <&clks IMX7D_IPG_ROOT_CLK>,
> + <&clks IMX7D_MIPI_CSI_ROOT_CLK>,
> + <&clks IMX7D_MIPI_DPHY_ROOT_CLK>;
> + clock-names = "pclk", "wrap", "phy";
> + power-domains = <&pgc_mipi_phy>;
> + phy-supply = <®_1p0d>;
> + resets = <&src IMX7_RESET_MIPI_PHY_MRST>;
> + reset-names = "mrst";
> + bus-width = <2>;
> + status = "disabled";
> + };
> };
>
> aips3: aips-bus@30800000 {
regards
Philipp