From patchwork Fri Nov 25 10:57:17 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thierry Reding X-Patchwork-Id: 9447355 X-Patchwork-Delegate: bhelgaas@google.com Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 4E55960778 for ; Fri, 25 Nov 2016 10:58:01 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4C37927D13 for ; Fri, 25 Nov 2016 10:58:01 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 412E028111; Fri, 25 Nov 2016 10:58:01 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.3 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, RCVD_IN_SORBS_SPAM, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5BF8B27D13 for ; Fri, 25 Nov 2016 10:57:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751541AbcKYK54 (ORCPT ); Fri, 25 Nov 2016 05:57:56 -0500 Received: from mail-pf0-f196.google.com ([209.85.192.196]:35619 "EHLO mail-pf0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750942AbcKYK5z (ORCPT ); Fri, 25 Nov 2016 05:57:55 -0500 Received: by mail-pf0-f196.google.com with SMTP id i88so2911754pfk.2; Fri, 25 Nov 2016 02:57:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=W6J3uypRGth3Mgl8fEyw9Z2ByhKlTtymENxctoq41J8=; b=RpOpcf0wKi3v3KRS1EWXiRP0+zDYf1nUTDkcAWgBQqfmg+kyfg9YZQC/ZCSsgVFIkF so5xJMOTH2p+qAYldqKCZ7DJ0kGUqEGIrFpS0Jy3QPWxuj6k8R060AYo55PruDxCbbLr fmfLXCD10pBzbgLjAJUnKZTWV4GcQFxTxpaW0qO6QfDGuspPzljn50iaKWUOBGgks2kq rnGTGzF9QAjsCBsD129Z0pNzqj4E8p1cbSqDD5QLdLX7bsewtUdjcKvOVROXyl4TqeVG D8hsr82Z0+LqugrtALBerR42oKjlRE0D7k9tX1KZfj9jYHNQ5OANIb4xSEQIVsSfbNiB GkKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=W6J3uypRGth3Mgl8fEyw9Z2ByhKlTtymENxctoq41J8=; b=l2TJWE+Xg2WyTxzVeNhTNV/Kvlg3mLpRNmhO9VSOj2Q1aL8BcEh4kSjaNS7u0om7XN xAF30ccAYl3ax7QrXX1JduQe+i9+n4QjB9AMEYqWsUn+mQwnv6sgucySNMBODH7/BA0C jFeqnlGQkA3Ej8sqGTZTzGNflX1HvGva2jHxMhJu4dZZRRoqnj2rC7UgEHAjTqDHmJkl e45YyZ6KpgM3n8QlHAoR9oYi5Qe8MS4bvuVG9Yg4YuPa30mSDPSpKTXmzp8y3ssELjdk HBIrWx+h4ATK7fVMVLzsEuBYvjkwkd5/OhxSP45o0fhOgtZYj4aajYDXNzuLlh7XEctk 0WQA== X-Gm-Message-State: AKaTC03qvyldQvzDN552ExJ6TmofEyd5NiCd8MgSTWTNpcLGMCOLXjII7FDfthXOYInmcw== X-Received: by 10.99.245.21 with SMTP id w21mr13100704pgh.5.1480071474839; Fri, 25 Nov 2016 02:57:54 -0800 (PST) Received: from localhost (port-2820.pppoe.wtnet.de. [84.46.11.15]) by smtp.gmail.com with ESMTPSA id 135sm49021855pgc.7.2016.11.25.02.57.52 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 25 Nov 2016 02:57:54 -0800 (PST) From: Thierry Reding To: Bjorn Helgaas Cc: Arnd Bergmann , Tomasz Nowicki , Liviu Dudau , Lorenzo Pieralisi , Vidya Sagar , linux-pci@vger.kernel.org, linux-tegra@vger.kernel.org Subject: [PATCH v4 09/10] arm64: tegra: Add PCIe host bridge on Tegra210 Date: Fri, 25 Nov 2016 11:57:17 +0100 Message-Id: <20161125105718.3866-9-thierry.reding@gmail.com> X-Mailer: git-send-email 2.10.2 In-Reply-To: <20161125105718.3866-1-thierry.reding@gmail.com> References: <20161125105718.3866-1-thierry.reding@gmail.com> Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Thierry Reding Add the PCIe host bridge found on Tegra X1. It implements two root ports that support x4 and x1 configurations, respectively. Signed-off-by: Thierry Reding --- arch/arm64/boot/dts/nvidia/tegra210.dtsi | 63 ++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/arch/arm64/boot/dts/nvidia/tegra210.dtsi b/arch/arm64/boot/dts/nvidia/tegra210.dtsi index 46045fe719da..2f832df29da8 100644 --- a/arch/arm64/boot/dts/nvidia/tegra210.dtsi +++ b/arch/arm64/boot/dts/nvidia/tegra210.dtsi @@ -11,6 +11,69 @@ #address-cells = <2>; #size-cells = <2>; + pcie-controller@01003000 { + compatible = "nvidia,tegra210-pcie"; + device_type = "pci"; + reg = <0x0 0x01003000 0x0 0x00000800 /* PADS registers */ + 0x0 0x01003800 0x0 0x00000800 /* AFI registers */ + 0x0 0x02000000 0x0 0x10000000>; /* configuration space */ + reg-names = "pads", "afi", "cs"; + interrupts = , /* controller interrupt */ + ; /* MSI interrupt */ + interrupt-names = "intr", "msi"; + + #interrupt-cells = <1>; + interrupt-map-mask = <0 0 0 0>; + interrupt-map = <0 0 0 0 &gic GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>; + + bus-range = <0x00 0xff>; + #address-cells = <3>; + #size-cells = <2>; + + ranges = <0x82000000 0 0x01000000 0x0 0x01000000 0 0x00001000 /* port 0 configuration space */ + 0x82000000 0 0x01001000 0x0 0x01001000 0 0x00001000 /* port 1 configuration space */ + 0x81000000 0 0x0 0x0 0x12000000 0 0x00010000 /* downstream I/O (64 KiB) */ + 0x82000000 0 0x13000000 0x0 0x13000000 0 0x0d000000 /* non-prefetchable memory (208 MiB) */ + 0xc2000000 0 0x20000000 0x0 0x20000000 0 0x20000000>; /* prefetchable memory (512 MiB) */ + + clocks = <&tegra_car TEGRA210_CLK_PCIE>, + <&tegra_car TEGRA210_CLK_AFI>, + <&tegra_car TEGRA210_CLK_PLL_E>, + <&tegra_car TEGRA210_CLK_CML0>; + clock-names = "pex", "afi", "pll_e", "cml"; + resets = <&tegra_car 70>, + <&tegra_car 72>, + <&tegra_car 74>; + reset-names = "pex", "afi", "pcie_x"; + status = "disabled"; + + pci@1,0 { + device_type = "pci"; + assigned-addresses = <0x82000800 0 0x01000000 0 0x1000>; + reg = <0x000800 0 0 0 0>; + status = "disabled"; + + #address-cells = <3>; + #size-cells = <2>; + ranges; + + nvidia,num-lanes = <4>; + }; + + pci@2,0 { + device_type = "pci"; + assigned-addresses = <0x82001000 0 0x01001000 0 0x1000>; + reg = <0x001000 0 0 0 0>; + status = "disabled"; + + #address-cells = <3>; + #size-cells = <2>; + ranges; + + nvidia,num-lanes = <1>; + }; + }; + host1x@50000000 { compatible = "nvidia,tegra210-host1x", "simple-bus"; reg = <0x0 0x50000000 0x0 0x00034000>;