[U-Boot] [PATCH 3/4] P2571: dts: Add DT files for Tegra210/P2571 board

Tom Warren tomcwarren3959 at gmail.com
Wed Jun 3 22:35:10 CEST 2015


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 <twarren at nvidia.com>
---
 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 at 7000c700";
 		i2c5 = "/i2c at 7000d100";
 		sdhci0 = "/sdhci at 700b0600";
-		sdhci1 = "/sdhci at 700b0400";
+		sdhci1 = "/sdhci at 700b0000";
 		spi0 = "/spi at 7000d400";
 		spi1 = "/spi at 7000da00";
+		spi2 = "/spi at 70410000";
 		usb0 = "/usb at 7d000000";
-		usb1 = "/usb at 7d008000";
 	};
 
 	memory {
-		device_type = "memory";
-		reg = <0x80000000 0x80000000>;
+		reg = <0x0 0x80000000 0x0 0xc0000000>;
 	};
 
 	i2c at 7000c000 {
@@ -70,11 +69,15 @@
 		spi-max-frequency = <25000000>;
 	};
 
-	sdhci at 700b0400 {
+	spi at 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 at 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 at 7d000000 {
 		status = "okay";
 		dr_mode = "otg";
-		nvidia,vbus-gpio = <&gpio TEGRA_GPIO(N, 4) GPIO_ACTIVE_HIGH>;
 	};
 
-	usb at 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 at 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 <dt-bindings/clock/tegra124-car.h>
+#include <dt-bindings/clock/tegra210-car.h>
 #include <dt-bindings/gpio/tegra-gpio.h>
 #include <dt-bindings/pinctrl/pinctrl-tegra.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
@@ -7,7 +7,7 @@
 #include "skeleton.dtsi"
 
 / {
-	compatible = "nvidia,tegra124";
+	compatible = "nvidia,tegra210";
 	interrupt-parent = <&gic>;
 
 	pcie-controller at 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 at 50000000 {
-		compatible = "nvidia,tegra124-host1x", "simple-bus";
-		reg = <0x50000000 0x00034000>;
-		interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, /* syncpt */
-			     <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>; /* 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 at 54200000 {
-			compatible = "nvidia,tegra124-dc";
-			reg = <0x54200000 0x00040000>;
-			interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
-			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 at 54240000 {
-			compatible = "nvidia,tegra124-dc";
-			reg = <0x54240000 0x00040000>;
-			interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
-			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 at 54280000 {
-			compatible = "nvidia,tegra124-hdmi";
-			reg = <0x54280000 0x00040000>;
-			interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>;
-			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 at 54540000 {
-			compatible = "nvidia,tegra124-sor";
-			reg = <0x54540000 0x00040000>;
-			interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
-			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 at 545c0000 {
-			compatible = "nvidia,tegra124-dpaux";
-			reg = <0x545c0000 0x00040000>;
-			interrupts = <GIC_SPI 159 IRQ_TYPE_LEVEL_HIGH>;
-			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 at 50041000 {
 		compatible = "arm,cortex-a15-gic";
 		#interrupt-cells = <3>;
@@ -292,7 +213,7 @@
 		reg = <0x70006000 0x40>;
 		reg-shift = <2>;
 		interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
-		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 = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
-		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 = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
-		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 = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
-		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 at 70006400 {
-		compatible = "nvidia,tegra124-uart", "nvidia,tegra20-uart";
-		reg = <0x70006400 0x40>;
-		reg-shift = <2>;
-		interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
-		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 at 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 at 7000e400 {
-		compatible = "nvidia,tegra124-pmc";
-		reg = <0x7000e400 0x400>;
+	spi at 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 at 7009f000 {
@@ -480,8 +394,8 @@
 		      <0x70300800 0x800>,
 		      <0x70300200 0x600>;
 		interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
-		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 at 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 at 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 at 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";
-	};
 };
-- 
1.8.2.1.610.g562af5b



More information about the U-Boot mailing list