Linux Tegra architecture development
 help / color / mirror / Atom feed
From: Sowjanya Komatineni <skomatineni@nvidia.com>
To: skomatineni@nvidia.com, thierry.reding@gmail.com,
	jonathanh@nvidia.com, frankc@nvidia.com, hverkuil@xs4all.nl,
	sakari.ailus@iki.fi, helen.koike@collabora.com
Cc: digetx@gmail.com, sboyd@kernel.org, linux-media@vger.kernel.org,
	devicetree@vger.kernel.org, linux-clk@vger.kernel.org,
	linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [RFC PATCH v9 5/9] dt-binding: tegra: Add VI and CSI bindings
Date: Tue, 21 Apr 2020 23:18:55 -0700	[thread overview]
Message-ID: <1587536339-4030-6-git-send-email-skomatineni@nvidia.com> (raw)
In-Reply-To: <1587536339-4030-1-git-send-email-skomatineni@nvidia.com>

Tegra contains VI controller which can support up to 6 MIPI CSI
camera sensors.

Each Tegra CSI port from CSI unit can be one-to-one mapper to
VI channel and can capture from an external camera sensor or
from built-in test pattern generator.

This patch adds dt-bindings for Tegra VI and CSI.

Acked-by: Thierry Reding <treding@nvidia.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
---
 .../display/tegra/nvidia,tegra20-host1x.txt        | 73 ++++++++++++++++++----
 1 file changed, 60 insertions(+), 13 deletions(-)

diff --git a/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.txt b/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.txt
index 9999255..4731921 100644
--- a/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.txt
+++ b/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.txt
@@ -40,14 +40,30 @@ of the following host1x client modules:
 
   Required properties:
   - compatible: "nvidia,tegra<chip>-vi"
-  - reg: Physical base address and length of the controller's registers.
+  - reg: Physical base address and length of the controller registers.
   - interrupts: The interrupt outputs from the controller.
-  - clocks: Must contain one entry, for the module clock.
+  - clocks: clocks: Must contain one entry, for the module clock.
     See ../clocks/clock-bindings.txt for details.
-  - resets: Must contain an entry for each entry in reset-names.
-    See ../reset/reset.txt for details.
-  - reset-names: Must include the following entries:
-    - vi
+  - Tegra20/Tegra30/Tegra114/Tegra124:
+    - resets: Must contain an entry for each entry in reset-names.
+      See ../reset/reset.txt for details.
+    - reset-names: Must include the following entries:
+      - vi
+  - Tegra210:
+    - power-domains: Must include venc powergate node as vi is in VE partition.
+  - Tegra210 has CSI part of VI sharing same host interface and register space.
+    So, VI device node should have CSI child node.
+
+    - csi: mipi csi interface to vi
+
+      Required properties:
+      - compatible: "nvidia,tegra210-csi"
+      - reg: Physical base address offset to parent and length of the controller
+        registers.
+      - clocks: Must contain entries csi, cilab, cilcd, cile, csi_tpg clocks.
+        See ../clocks/clock-bindings.txt for details.
+      - power-domains: Must include sor powergate node as csicil is in
+        SOR partition.
 
 - epp: encoder pre-processor
 
@@ -309,13 +325,44 @@ Example:
 			reset-names = "mpe";
 		};
 
-		vi {
-			compatible = "nvidia,tegra20-vi";
-			reg = <0x54080000 0x00040000>;
-			interrupts = <0 69 0x04>;
-			clocks = <&tegra_car TEGRA20_CLK_VI>;
-			resets = <&tegra_car 100>;
-			reset-names = "vi";
+		vi@54080000 {
+			compatible = "nvidia,tegra210-vi";
+			reg = <0x0 0x54080000 0x0 0x700>;
+			interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
+			assigned-clocks = <&tegra_car TEGRA210_CLK_VI>;
+			assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>;
+
+			clocks = <&tegra_car TEGRA210_CLK_VI>;
+			power-domains = <&pd_venc>;
+
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			ranges = <0x0 0x0 0x54080000 0x2000>;
+
+			csi@838 {
+				compatible = "nvidia,tegra210-csi";
+				reg = <0x838 0x1300>;
+				assigned-clocks = <&tegra_car TEGRA210_CLK_CILAB>,
+						  <&tegra_car TEGRA210_CLK_CILCD>,
+						  <&tegra_car TEGRA210_CLK_CILE>,
+						  <&tegra_car TEGRA210_CLK_CSI_TPG>;
+				assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_P>,
+							 <&tegra_car TEGRA210_CLK_PLL_P>,
+							 <&tegra_car TEGRA210_CLK_PLL_P>;
+				assigned-clock-rates = <102000000>,
+						       <102000000>,
+						       <102000000>,
+						       <972000000>;
+
+				clocks = <&tegra_car TEGRA210_CLK_CSI>,
+					 <&tegra_car TEGRA210_CLK_CILAB>,
+					 <&tegra_car TEGRA210_CLK_CILCD>,
+					 <&tegra_car TEGRA210_CLK_CILE>,
+					 <&tegra_car TEGRA210_CLK_CSI_TPG>;
+				clock-names = "csi", "cilab", "cilcd", "cile", "csi_tpg";
+				power-domains = <&pd_sor>;
+			};
 		};
 
 		epp {
-- 
2.7.4

  parent reply	other threads:[~2020-04-22  6:18 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-22  6:18 [RFC PATCH v9 0/9] Add Tegra driver for video capture Sowjanya Komatineni
2020-04-22  6:18 ` [RFC PATCH v9 1/9] arm64: tegra: Fix sor powergate clocks and reset Sowjanya Komatineni
2020-04-22  6:18 ` [RFC PATCH v9 2/9] arm64: tegra: Add reset-cells to mc Sowjanya Komatineni
2020-04-22  6:18 ` [RFC PATCH v9 3/9] dt-bindings: clock: tegra: Add clk id for CSI TPG clock Sowjanya Komatineni
2020-04-22  6:18 ` Sowjanya Komatineni [this message]
2020-04-22 17:20   ` [RFC PATCH v9 5/9] dt-binding: tegra: Add VI and CSI bindings Laurent Pinchart
     [not found]     ` <20200422172047.GA18765-N3hz7ZxfLydczECFQUw77jytWr6r+dGw0E9HWUfgJXw@public.gmane.org>
2020-04-22 17:26       ` Sowjanya Komatineni
     [not found]         ` <1ae63b2e-17f0-ca0e-23fa-9aa63eafe01b-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-04-22 17:47           ` Laurent Pinchart
     [not found]             ` <20200422174750.GH28105-N3hz7ZxfLydczECFQUw77jytWr6r+dGw0E9HWUfgJXw@public.gmane.org>
2020-04-22 17:57               ` Sowjanya Komatineni
     [not found] ` <1587536339-4030-1-git-send-email-skomatineni-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-04-22  6:18   ` [RFC PATCH v9 4/9] clk: tegra: Add Tegra210 CSI TPG clock gate Sowjanya Komatineni
2020-04-22  6:18   ` [RFC PATCH v9 6/9] media: tegra: Add Tegra210 Video input driver Sowjanya Komatineni
2020-04-23  7:48     ` Hans Verkuil
     [not found]       ` <ae6dfd6b-4b0b-db73-54cf-a16e59476f38-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org>
2020-04-23 16:50         ` Sowjanya Komatineni
     [not found]           ` <3115a959-045e-7b27-94fb-a11a8b5f4a6a-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-04-23 22:55             ` Dmitry Osipenko
2020-04-23 22:59               ` Sowjanya Komatineni
     [not found]                 ` <843d1276-1281-7f02-ce08-d0dad52bb681-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-04-23 23:03                   ` Dmitry Osipenko
2020-04-23 23:14                     ` Dmitry Osipenko
2020-04-23 23:16     ` Dmitry Osipenko
     [not found]       ` <7e473fa9-0409-d868-e818-2e7928a8acca-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-04-23 23:19         ` Sowjanya Komatineni
2020-04-23 23:20           ` Sowjanya Komatineni
2020-04-23 23:25             ` Dmitry Osipenko
     [not found]               ` <fce6dfbb-0b8d-319b-2d6f-976953a3c36c-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-04-23 23:50                 ` Sowjanya Komatineni
     [not found]                   ` <a2672be9-93c1-8363-6c0e-6d43c2bd59bc-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-04-24  0:42                     ` Dmitry Osipenko
     [not found]                       ` <492dafac-42aa-3caf-4d32-ba0e434b19c3-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-04-24  0:51                         ` Sowjanya Komatineni
     [not found]                           ` <39402a49-f39f-256c-31e7-afaa25d55664-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-04-24  1:08                             ` Sowjanya Komatineni
2020-04-24  2:09                               ` Dmitry Osipenko
     [not found]                                 ` <5ad77b67-0dc6-3c6d-7df3-4c21c68b2b1e-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-04-24  2:12                                   ` Sowjanya Komatineni
2020-04-22  6:18   ` [RFC PATCH v9 7/9] MAINTAINERS: Add Tegra Video driver section Sowjanya Komatineni
2020-04-22  6:18   ` [RFC PATCH v9 9/9] arm64: tegra: Add Tegra VI CSI support in device tree Sowjanya Komatineni
2020-04-22  6:18 ` [RFC PATCH v9 8/9] dt-bindings: reset: Add ID for Tegra210 VI reset Sowjanya Komatineni

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=1587536339-4030-6-git-send-email-skomatineni@nvidia.com \
    --to=skomatineni@nvidia.com \
    --cc=devicetree@vger.kernel.org \
    --cc=digetx@gmail.com \
    --cc=frankc@nvidia.com \
    --cc=helen.koike@collabora.com \
    --cc=hverkuil@xs4all.nl \
    --cc=jonathanh@nvidia.com \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=sakari.ailus@iki.fi \
    --cc=sboyd@kernel.org \
    --cc=thierry.reding@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