linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Thierry Reding <thierry.reding@gmail.com>
To: Bjorn Helgaas <bhelgaas@google.com>,
	Stephen Warren <swarren@wwwdotorg.org>
Cc: Russell King <linux@arm.linux.org.uk>,
	Jason Cooper <jason@lakedaemon.net>,
	Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
	Jay Agarwal <jagarwal@nvidia.com>,
	linux-pci@vger.kernel.org, linux-tegra@vger.kernel.org,
	devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH v5 10/16] ARM: tegra: Add Tegra30 PCIe support
Date: Thu, 25 Jul 2013 10:53:24 -0700	[thread overview]
Message-ID: <1374774810-18459-11-git-send-email-thierry.reding@gmail.com> (raw)
In-Reply-To: <1374774810-18459-1-git-send-email-thierry.reding@gmail.com>

From: Thierry Reding <treding@nvidia.com>

Add the top-level pcie-controller node for the Tegra30 SoC. Tegra30 has
three root ports that can use different lane layouts.

Signed-off-by: Jay Agarwal <jagarwal@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
---
Changes in v5:
- use symbolic constants for interrupts and clocks

 arch/arm/boot/dts/tegra30.dtsi | 70 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 70 insertions(+)

diff --git a/arch/arm/boot/dts/tegra30.dtsi b/arch/arm/boot/dts/tegra30.dtsi
index d8783f0..c8facca 100644
--- a/arch/arm/boot/dts/tegra30.dtsi
+++ b/arch/arm/boot/dts/tegra30.dtsi
@@ -16,6 +16,76 @@
 		serial4 = &uarte;
 	};
 
+	pcie-controller {
+		compatible = "nvidia,tegra30-pcie";
+		device_type = "pci";
+		reg = <0x00003000 0x00000800   /* PADS registers */
+		       0x00003800 0x00000200   /* AFI registers */
+		       0x10000000 0x10000000>; /* configuration space */
+		reg-names = "pads", "afi", "cs";
+		interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH   /* controller interrupt */
+			      GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
+		interrupt-names = "intr", "msi";
+
+		bus-range = <0x00 0xff>;
+		#address-cells = <3>;
+		#size-cells = <2>;
+
+		ranges = <0x82000000 0 0x00000000 0x00000000 0 0x00001000   /* port 0 configuration space */
+			  0x82000000 0 0x00001000 0x00001000 0 0x00001000   /* port 1 configuration space */
+			  0x82000000 0 0x00004000 0x00004000 0 0x00001000   /* port 2 configuration space */
+			  0x81000000 0 0          0x02000000 0 0x00010000   /* downstream I/O */
+			  0x82000000 0 0x20000000 0x20000000 0 0x10000000   /* non-prefetchable memory */
+			  0xc2000000 0 0x30000000 0x30000000 0 0x10000000>; /* prefetchable memory */
+
+		clocks = <&tegra_car TEGRA30_CLK_PCIE>,
+			 <&tegra_car TEGRA30_CLK_AFI>,
+			 <&tegra_car TEGRA30_CLK_PCIEX>,
+			 <&tegra_car TEGRA30_CLK_PLL_E>,
+			 <&tegra_car TEGRA30_CLK_CML0>;
+		clock-names = "pex", "afi", "pcie_xclk", "pll_e", "cml";
+		status = "disabled";
+
+		pci@1,0 {
+			device_type = "pci";
+			assigned-addresses = <0x82000800 0 0x00000000 0 0x1000>;
+			reg = <0x000800 0 0 0 0>;
+			status = "disabled";
+
+			#address-cells = <3>;
+			#size-cells = <2>;
+			ranges;
+
+			nvidia,num-lanes = <2>;
+		};
+
+		pci@2,0 {
+			device_type = "pci";
+			assigned-addresses = <0x82001000 0 0x00001000 0 0x1000>;
+			reg = <0x001000 0 0 0 0>;
+			status = "disabled";
+
+			#address-cells = <3>;
+			#size-cells = <2>;
+			ranges;
+
+			nvidia,num-lanes = <2>;
+		};
+
+		pci@3,0 {
+			device_type = "pci";
+			assigned-addresses = <0x82001800 0 0x00004000 0 0x1000>;
+			reg = <0x001800 0 0 0 0>;
+			status = "disabled";
+
+			#address-cells = <3>;
+			#size-cells = <2>;
+			ranges;
+
+			nvidia,num-lanes = <2>;
+		};
+	};
+
 	host1x {
 		compatible = "nvidia,tegra30-host1x", "simple-bus";
 		reg = <0x50000000 0x00024000>;
-- 
1.8.1.5


  parent reply	other threads:[~2013-07-25 17:53 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-25 17:53 [PATCH v5 00/16] Rewrite Tegra PCIe driver Thierry Reding
2013-07-25 17:53 ` [PATCH v5 01/16] ARM: tegra: Move tegra_pcie_xclk_clamp() to PMC Thierry Reding
2013-07-25 17:53 ` [PATCH v5 02/16] ARM: tegra: Move pmc.h to include/linux/tegra-pmc.h Thierry Reding
2013-07-25 17:53 ` [PATCH v5 03/16] PCI: tegra: Move PCIe driver to drivers/pci/host Thierry Reding
2013-07-25 18:00   ` Bjorn Helgaas
2013-07-25 17:53 ` [PATCH v5 04/16] ARM: tegra: tamonten: Add PCIe support Thierry Reding
2013-07-25 17:53 ` [PATCH v5 05/16] ARM: tegra: tec: " Thierry Reding
2013-07-25 17:53 ` [PATCH v5 06/16] ARM: tegra: harmony: Initialize PCIe from DT Thierry Reding
2013-07-25 17:53 ` [PATCH v5 07/16] ARM: tegra: trimslice: " Thierry Reding
2013-07-25 17:53 ` [PATCH v5 08/16] PCI: tegra: Add Tegra 30 PCIe support Thierry Reding
2013-07-25 18:00   ` Bjorn Helgaas
2013-07-25 17:53 ` [PATCH v5 09/16] PCI: tegra: set up PADS_REFCLK_CFG1 Thierry Reding
2013-07-25 18:01   ` Bjorn Helgaas
2013-07-25 17:53 ` Thierry Reding [this message]
2013-07-25 17:53 ` [PATCH v5 11/16] ARM: tegra: Enable PCIe controller on Cardhu Thierry Reding
2013-07-25 17:53 ` [PATCH v5 12/16] ARM: tegra: Enable PCIe controller on Beaver Thierry Reding
2013-07-25 17:53 ` [PATCH v5 13/16] ARM: tegra: Fix Beaver's PCIe lane configuration Thierry Reding
2013-07-25 17:53 ` [PATCH v5 14/16] ARM: tegra: Update default configuration (PCIe) Thierry Reding
2013-07-25 17:53 ` [PATCH v5 15/16] ARM: dts: tegra: Increase prefetchable PCI memory space Thierry Reding
2013-07-25 17:53 ` [PATCH v5 16/16] MAINTAINERS: Add myself as Tegra PCIe maintainer Thierry Reding

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=1374774810-18459-11-git-send-email-thierry.reding@gmail.com \
    --to=thierry.reding@gmail.com \
    --cc=bhelgaas@google.com \
    --cc=devicetree@vger.kernel.org \
    --cc=jagarwal@nvidia.com \
    --cc=jason@lakedaemon.net \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=swarren@wwwdotorg.org \
    --cc=thomas.petazzoni@free-electrons.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).