From patchwork Wed Jun 3 20:35:10 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Warren X-Patchwork-Id: 481521 X-Patchwork-Delegate: twarren@nvidia.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id E13BA140280 for ; Sat, 6 Jun 2015 04:58:59 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=AeyVJVAY; dkim-atps=neutral Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id E42DF4B632; Fri, 5 Jun 2015 20:58:38 +0200 (CEST) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1qP0Epjvq4VX; Fri, 5 Jun 2015 20:58:38 +0200 (CEST) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 61BFA4B694; Fri, 5 Jun 2015 20:58:23 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id BE2824B617 for ; Wed, 3 Jun 2015 22:34:13 +0200 (CEST) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MulHTIdSxW0F for ; Wed, 3 Jun 2015 22:34:13 +0200 (CEST) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from mail-qg0-f54.google.com (mail-qg0-f54.google.com [209.85.192.54]) by theia.denx.de (Postfix) with ESMTPS id 463974B61C for ; Wed, 3 Jun 2015 22:34:09 +0200 (CEST) Received: by qgf75 with SMTP id 75so8306614qgf.1 for ; Wed, 03 Jun 2015 13:34:08 -0700 (PDT) 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=jZsq7MwZbyamcMYtLz8fiNYWU3B1v1NY+QRDHlew3Uw=; b=AeyVJVAY/+t4kCo04A4QoaGa05WQ6FWdzMbjXpEN4V8jy2FmqTpdYgRARSTyISTxhh YAiWuQLtbziUw9Aof2MR+rLk/hDXMaupGeAMgHGh64AYhcStQRb+F33P+0MUzki49vdQ bsF2bmxKE59mocm/n8fJFNhrN3fbu3aPIjSbMX3V9HMTCdj4edvAkmKkUFkE4QEbStnL EEzO3vxiJ57ewNQYYVU68AKWnu4k+dbLr6DKg2TBX8mZTXibxWR5E17ChY7mXGHP7hVY adhDNdfV9YLjLGW6fmxl9spNuh7TwvgMKbcd+DJe98QOo6KjCjPtsz2CwA4yhKWkQzEk nJ0Q== X-Received: by 10.55.18.155 with SMTP id 27mr63904523qks.36.1433363648391; Wed, 03 Jun 2015 13:34:08 -0700 (PDT) Received: from twarren-ubuntu-new.nvidia.com (searspoint.nvidia.com. [216.228.112.21]) by mx.google.com with ESMTPSA id b31sm1051015qge.5.2015.06.03.13.34.06 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 03 Jun 2015 13:34:07 -0700 (PDT) From: Tom Warren X-Google-Original-From: Tom Warren To: u-boot@lists.denx.de Date: Wed, 3 Jun 2015 13:35:10 -0700 Message-Id: <1433363711-29554-4-git-send-email-twarren@nvidia.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1433363711-29554-1-git-send-email-twarren@nvidia.com> References: <1433363711-29554-1-git-send-email-twarren@nvidia.com> X-NVConfidentiality: public X-Mailman-Approved-At: Fri, 05 Jun 2015 20:58:14 +0200 Cc: swarren@nvidia.com, twarren@nvidia.com Subject: [U-Boot] [PATCH 3/4] P2571: dts: Add DT files for Tegra210/P2571 board X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.15 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Based on T124 Venice2. SDMMC1 is SD-card slot. Using tegra124 compat names for now to get everything working. May need minor work to match the real board. Signed-off-by: Tom Warren --- arch/arm/dts/Makefile | 3 +- .../{tegra124-venice2.dts => tegra210-p2571.dts} | 40 ++++-- arch/arm/dts/{tegra124.dtsi => tegra210.dtsi} | 153 ++++----------------- 3 files changed, 56 insertions(+), 140 deletions(-) copy arch/arm/dts/{tegra124-venice2.dts => tegra210-p2571.dts} (65%) copy arch/arm/dts/{tegra124.dtsi => tegra210.dtsi} (76%) diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile index f897e6d..3e09cb5 100644 --- a/arch/arm/dts/Makefile +++ b/arch/arm/dts/Makefile @@ -33,7 +33,8 @@ dtb-$(CONFIG_TEGRA) += tegra20-harmony.dtb \ tegra114-dalmore.dtb \ tegra124-jetson-tk1.dtb \ tegra124-nyan-big.dtb \ - tegra124-venice2.dtb + tegra124-venice2.dtb \ + tegra210-p2571.dtb dtb-$(CONFIG_ARCH_UNIPHIER) += \ uniphier-ph1-sld3-ref.dtb \ uniphier-ph1-pro4-ref.dtb \ diff --git a/arch/arm/dts/tegra124-venice2.dts b/arch/arm/dts/tegra210-p2571.dts similarity index 65% copy from arch/arm/dts/tegra124-venice2.dts copy to arch/arm/dts/tegra210-p2571.dts index 9e93cf9..ca41390 100644 --- a/arch/arm/dts/tegra124-venice2.dts +++ b/arch/arm/dts/tegra210-p2571.dts @@ -1,10 +1,10 @@ /dts-v1/; -#include "tegra124.dtsi" +#include "tegra210.dtsi" / { - model = "NVIDIA Venice2"; - compatible = "nvidia,venice2", "nvidia,tegra124"; + model = "NVIDIA P2571"; + compatible = "nvidia,p2571", "nvidia,tegra210"; chosen { stdout-path = &uarta; @@ -18,16 +18,15 @@ i2c4 = "/i2c@7000c700"; i2c5 = "/i2c@7000d100"; sdhci0 = "/sdhci@700b0600"; - sdhci1 = "/sdhci@700b0400"; + sdhci1 = "/sdhci@700b0000"; spi0 = "/spi@7000d400"; spi1 = "/spi@7000da00"; + spi2 = "/spi@70410000"; usb0 = "/usb@7d000000"; - usb1 = "/usb@7d008000"; }; memory { - device_type = "memory"; - reg = <0x80000000 0x80000000>; + reg = <0x0 0x80000000 0x0 0xc0000000>; }; i2c@7000c000 { @@ -70,11 +69,15 @@ spi-max-frequency = <25000000>; }; - sdhci@700b0400 { + spi@70410000 { status = "okay"; - cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_HIGH>; - power-gpios = <&gpio TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>; - wp-gpios = <&gpio TEGRA_GPIO(Q, 4) GPIO_ACTIVE_LOW>; + spi-max-frequency = <24000000>; + }; + + sdhci@700b0000 { + status = "okay"; + cd-gpios = <&gpio TEGRA_GPIO(Z, 1) GPIO_ACTIVE_LOW>; + power-gpios = <&gpio TEGRA_GPIO(Z, 4) GPIO_ACTIVE_HIGH>; bus-width = <4>; }; @@ -86,11 +89,18 @@ usb@7d000000 { status = "okay"; dr_mode = "otg"; - nvidia,vbus-gpio = <&gpio TEGRA_GPIO(N, 4) GPIO_ACTIVE_HIGH>; }; - usb@7d008000 { - status = "okay"; - nvidia,vbus-gpio = <&gpio TEGRA_GPIO(N, 5) GPIO_ACTIVE_HIGH>; + clocks { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <0>; + + clk32k_in: clock@0 { + compatible = "fixed-clock"; + reg = <0>; + #clock-cells = <0>; + clock-frequency = <32768>; + }; }; }; diff --git a/arch/arm/dts/tegra124.dtsi b/arch/arm/dts/tegra210.dtsi similarity index 76% copy from arch/arm/dts/tegra124.dtsi copy to arch/arm/dts/tegra210.dtsi index 43b7f22..f09a1a7 100644 --- a/arch/arm/dts/tegra124.dtsi +++ b/arch/arm/dts/tegra210.dtsi @@ -1,4 +1,4 @@ -#include +#include #include #include #include @@ -7,7 +7,7 @@ #include "skeleton.dtsi" / { - compatible = "nvidia,tegra124"; + compatible = "nvidia,tegra210"; interrupt-parent = <&gic>; pcie-controller@01003000 { @@ -35,10 +35,10 @@ 0x82000000 0 0x13000000 0x13000000 0 0x0d000000 /* non-prefetchable memory (208 MiB) */ 0xc2000000 0 0x20000000 0x20000000 0 0x20000000>; /* prefetchable memory (512 MiB) */ - clocks = <&tegra_car TEGRA124_CLK_PCIE>, - <&tegra_car TEGRA124_CLK_AFI>, - <&tegra_car TEGRA124_CLK_PLL_E>, - <&tegra_car TEGRA124_CLK_CML0>; + 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>, @@ -76,85 +76,6 @@ }; }; - host1x@50000000 { - compatible = "nvidia,tegra124-host1x", "simple-bus"; - reg = <0x50000000 0x00034000>; - interrupts = , /* syncpt */ - ; /* general */ - clocks = <&tegra_car TEGRA124_CLK_HOST1X>; - resets = <&tegra_car 28>; - reset-names = "host1x"; - - #address-cells = <1>; - #size-cells = <1>; - - ranges = <0x54000000 0x54000000 0x01000000>; - - dc@54200000 { - compatible = "nvidia,tegra124-dc"; - reg = <0x54200000 0x00040000>; - interrupts = ; - clocks = <&tegra_car TEGRA124_CLK_DISP1>, - <&tegra_car TEGRA124_CLK_PLL_P>; - clock-names = "dc", "parent"; - resets = <&tegra_car 27>; - reset-names = "dc"; - - nvidia,head = <0>; - }; - - dc@54240000 { - compatible = "nvidia,tegra124-dc"; - reg = <0x54240000 0x00040000>; - interrupts = ; - clocks = <&tegra_car TEGRA124_CLK_DISP2>, - <&tegra_car TEGRA124_CLK_PLL_P>; - clock-names = "dc", "parent"; - resets = <&tegra_car 26>; - reset-names = "dc"; - - nvidia,head = <1>; - }; - - hdmi@54280000 { - compatible = "nvidia,tegra124-hdmi"; - reg = <0x54280000 0x00040000>; - interrupts = ; - clocks = <&tegra_car TEGRA124_CLK_HDMI>, - <&tegra_car TEGRA124_CLK_PLL_D2_OUT0>; - clock-names = "hdmi", "parent"; - resets = <&tegra_car 51>; - reset-names = "hdmi"; - status = "disabled"; - }; - - sor@54540000 { - compatible = "nvidia,tegra124-sor"; - reg = <0x54540000 0x00040000>; - interrupts = ; - clocks = <&tegra_car TEGRA124_CLK_SOR0>, - <&tegra_car TEGRA124_CLK_PLL_D_OUT0>, - <&tegra_car TEGRA124_CLK_PLL_DP>, - <&tegra_car TEGRA124_CLK_CLK_M>; - clock-names = "sor", "parent", "dp", "safe"; - resets = <&tegra_car 182>; - reset-names = "sor"; - status = "disabled"; - }; - - dpaux: dpaux@545c0000 { - compatible = "nvidia,tegra124-dpaux"; - reg = <0x545c0000 0x00040000>; - interrupts = ; - clocks = <&tegra_car TEGRA124_CLK_DPAUX>, - <&tegra_car TEGRA124_CLK_PLL_DP>; - clock-names = "dpaux", "parent"; - resets = <&tegra_car 181>; - reset-names = "dpaux"; - status = "disabled"; - }; - }; - gic: interrupt-controller@50041000 { compatible = "arm,cortex-a15-gic"; #interrupt-cells = <3>; @@ -292,7 +213,7 @@ reg = <0x70006000 0x40>; reg-shift = <2>; interrupts = ; - clocks = <&tegra_car TEGRA124_CLK_UARTA>; + clocks = <&tegra_car TEGRA210_CLK_UARTA>; resets = <&tegra_car 6>; reset-names = "serial"; dmas = <&apbdma 8>, <&apbdma 8>; @@ -305,7 +226,7 @@ reg = <0x70006040 0x40>; reg-shift = <2>; interrupts = ; - clocks = <&tegra_car TEGRA124_CLK_UARTB>; + clocks = <&tegra_car TEGRA210_CLK_UARTB>; resets = <&tegra_car 7>; reset-names = "serial"; dmas = <&apbdma 9>, <&apbdma 9>; @@ -318,7 +239,7 @@ reg = <0x70006200 0x40>; reg-shift = <2>; interrupts = ; - clocks = <&tegra_car TEGRA124_CLK_UARTC>; + clocks = <&tegra_car TEGRA210_CLK_UARTC>; resets = <&tegra_car 55>; reset-names = "serial"; dmas = <&apbdma 10>, <&apbdma 10>; @@ -331,7 +252,7 @@ reg = <0x70006300 0x40>; reg-shift = <2>; interrupts = ; - clocks = <&tegra_car TEGRA124_CLK_UARTD>; + clocks = <&tegra_car TEGRA210_CLK_UARTD>; resets = <&tegra_car 65>; reset-names = "serial"; dmas = <&apbdma 19>, <&apbdma 19>; @@ -339,24 +260,11 @@ status = "disabled"; }; - uarte: serial@70006400 { - compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart"; - reg = <0x70006400 0x40>; - reg-shift = <2>; - interrupts = ; - clocks = <&tegra_car TEGRA124_CLK_UARTE>; - resets = <&tegra_car 66>; - reset-names = "serial"; - dmas = <&apbdma 20>, <&apbdma 20>; - dma-names = "rx", "tx"; - status = "disabled"; - }; - pwm: pwm@7000a000 { compatible = "nvidia,tegra124-pwm", "nvidia,tegra20-pwm"; reg = <0x7000a000 0x100>; #pwm-cells = <2>; - clocks = <&tegra_car TEGRA124_CLK_PWM>; + clocks = <&tegra_car TEGRA210_CLK_PWM>; resets = <&tegra_car 17>; reset-names = "pwm"; status = "disabled"; @@ -428,9 +336,15 @@ clocks = <&tegra_car 105>; }; - pmc@7000e400 { - compatible = "nvidia,tegra124-pmc"; - reg = <0x7000e400 0x400>; + spi@70410000 { + compatible = "nvidia,tegra210-qspi"; + reg = <0x70410000 0x200>; + interrupts = <0 10 0x04>; + nvidia,dma-request-selector = <&apbdma 5>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + clocks = <&tegra_car 211>; }; padctl: padctl@7009f000 { @@ -480,8 +394,8 @@ <0x70300800 0x800>, <0x70300200 0x600>; interrupts = ; - clocks = <&tegra_car TEGRA124_CLK_D_AUDIO>, - <&tegra_car TEGRA124_CLK_APBIF>; + clocks = <&tegra_car TEGRA210_CLK_D_AUDIO>, + <&tegra_car TEGRA210_CLK_APBIF>; clock-names = "d_audio", "apbif"; resets = <&tegra_car 106>, /* d_audio */ <&tegra_car 107>, /* apbif */ @@ -530,7 +444,7 @@ compatible = "nvidia,tegra124-i2s"; reg = <0x70301000 0x100>; nvidia,ahub-cif-ids = <4 4>; - clocks = <&tegra_car TEGRA124_CLK_I2S0>; + clocks = <&tegra_car TEGRA210_CLK_I2S0>; resets = <&tegra_car 30>; reset-names = "i2s"; status = "disabled"; @@ -540,7 +454,7 @@ compatible = "nvidia,tegra124-i2s"; reg = <0x70301100 0x100>; nvidia,ahub-cif-ids = <5 5>; - clocks = <&tegra_car TEGRA124_CLK_I2S1>; + clocks = <&tegra_car TEGRA210_CLK_I2S1>; resets = <&tegra_car 11>; reset-names = "i2s"; status = "disabled"; @@ -550,7 +464,7 @@ compatible = "nvidia,tegra124-i2s"; reg = <0x70301200 0x100>; nvidia,ahub-cif-ids = <6 6>; - clocks = <&tegra_car TEGRA124_CLK_I2S2>; + clocks = <&tegra_car TEGRA210_CLK_I2S2>; resets = <&tegra_car 18>; reset-names = "i2s"; status = "disabled"; @@ -560,7 +474,7 @@ compatible = "nvidia,tegra124-i2s"; reg = <0x70301300 0x100>; nvidia,ahub-cif-ids = <7 7>; - clocks = <&tegra_car TEGRA124_CLK_I2S3>; + clocks = <&tegra_car TEGRA210_CLK_I2S3>; resets = <&tegra_car 101>; reset-names = "i2s"; status = "disabled"; @@ -570,7 +484,7 @@ compatible = "nvidia,tegra124-i2s"; reg = <0x70301400 0x100>; nvidia,ahub-cif-ids = <8 8>; - clocks = <&tegra_car TEGRA124_CLK_I2S4>; + clocks = <&tegra_car TEGRA210_CLK_I2S4>; resets = <&tegra_car 102>; reset-names = "i2s"; status = "disabled"; @@ -578,7 +492,7 @@ }; usb@7d000000 { - compatible = "nvidia,tegra124-ehci", "nvidia,tegra30-ehci"; + compatible = "nvidia,tegra210-ehci"; reg = <0x7d000000 0x4000>; interrupts = < 52 >; phy_type = "utmi"; @@ -587,20 +501,11 @@ }; usb@7d004000 { - compatible = "nvidia,tegra124-ehci", "nvidia,tegra30-ehci"; + compatible = "nvidia,tegra210-ehci"; reg = <0x7d004000 0x4000>; interrupts = < 53 >; phy_type = "hsic"; clocks = <&tegra_car 58>; /* PERIPH_ID_USB2 */ status = "disabled"; }; - - usb@7d008000 { - compatible = "nvidia,tegra124-ehci", "nvidia,tegra30-ehci"; - reg = <0x7d008000 0x4000>; - interrupts = < 129 >; - phy_type = "utmi"; - clocks = <&tegra_car 59>; /* PERIPH_ID_USB3 */ - status = "disabled"; - }; };