aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorKevin Hilman <khilman@linaro.org>2013-08-20 19:30:54 -0400
committerKevin Hilman <khilman@linaro.org>2013-08-20 19:30:54 -0400
commit1fa5fcdafc14c2e684da146ac2ed95aa4a11a2aa (patch)
tree9be99f3650a7be083e21895110d14c5059a19ef8 /arch/arm
parent4cb635d705a32f3592f420c92ba4ccd4b177b860 (diff)
parent8af3bbec752902c0480c84613d7f10e22f485977 (diff)
Merge tag 'tegra-for-3.12-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra into next/dt
From: Stephen Warren: ARM: tegra: device tree changes for 3.12 This branch contains all *.dts (device tree) changes for Tegra. New features enabled are: * PMICs on Dalmore * CPU power-gating on Dalmore * HDMI output on Beaver * LP1 system suspend mode on almost all boards * PCIe support on numerous Tegra20/30 boards * USB support on Tegra30/114 boards * Audio capture on Beaver and Dalmore * Temperature sensor on Cardhu. ... along with a few DT cleanups. * tag 'tegra-for-3.12-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra: (25 commits) ARM: tegra: add Mic Jack to Dalmore device tree ARM: tegra: add Mic Jack to Beaver device tree ARM: tegra: add USB DT entries for Tegra114, Dalmore ARM: tegra: add USB DT entries for Tegra30 ARM: dts: tegra: Increase prefetchable PCI memory space ARM: tegra: Fix Beaver's PCIe lane configuration ARM: tegra: Enable PCIe controller on Beaver ARM: tegra: Enable PCIe controller on Cardhu ARM: tegra: Add Tegra30 PCIe support ARM: tegra: trimslice: Initialize PCIe from DT ARM: tegra: harmony: Initialize PCIe from DT ARM: tegra: tec: Add PCIe support ARM: tegra: tamonten: Add PCIe support ARM: tegra: Add Tegra20 PCIe support to DT ARM: tegra: enable LP1 suspend mode ARM: tegra: beaver: Enable HDMI output ARM: tegra: use TEGRA_GPIO() in a couple more places ARM: tegra: dalmore: fix the irq trigger type of Palmas MFD device ARM: tegra: define valid function names in DT document ARM: tegra: dalmore: add PM configurations for PMC ...
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/boot/dts/Makefile3
-rw-r--r--arch/arm/boot/dts/tegra114-dalmore.dts235
-rw-r--r--arch/arm/boot/dts/tegra114-pluto.dts33
-rw-r--r--arch/arm/boot/dts/tegra114.dtsi62
-rw-r--r--arch/arm/boot/dts/tegra20-colibri-512.dtsi2
-rw-r--r--arch/arm/boot/dts/tegra20-harmony.dts22
-rw-r--r--arch/arm/boot/dts/tegra20-paz00.dts2
-rw-r--r--arch/arm/boot/dts/tegra20-seaboard.dts4
-rw-r--r--arch/arm/boot/dts/tegra20-tamonten.dtsi19
-rw-r--r--arch/arm/boot/dts/tegra20-tec.dts8
-rw-r--r--arch/arm/boot/dts/tegra20-trimslice.dts32
-rw-r--r--arch/arm/boot/dts/tegra20-ventana.dts2
-rw-r--r--arch/arm/boot/dts/tegra20-whistler.dts2
-rw-r--r--arch/arm/boot/dts/tegra20.dtsi55
-rw-r--r--arch/arm/boot/dts/tegra30-beaver.dts64
-rw-r--r--arch/arm/boot/dts/tegra30-cardhu.dtsi64
-rw-r--r--arch/arm/boot/dts/tegra30.dtsi156
17 files changed, 694 insertions, 71 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index c2977ef59943..c382814c2d09 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -226,8 +226,7 @@ dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \
226 tegra30-beaver.dtb \ 226 tegra30-beaver.dtb \
227 tegra30-cardhu-a02.dtb \ 227 tegra30-cardhu-a02.dtb \
228 tegra30-cardhu-a04.dtb \ 228 tegra30-cardhu-a04.dtb \
229 tegra114-dalmore.dtb \ 229 tegra114-dalmore.dtb
230 tegra114-pluto.dtb
231dtb-$(CONFIG_ARCH_VERSATILE) += versatile-ab.dtb \ 230dtb-$(CONFIG_ARCH_VERSATILE) += versatile-ab.dtb \
232 versatile-pb.dtb 231 versatile-pb.dtb
233dtb-$(CONFIG_ARCH_U300) += ste-u300.dtb 232dtb-$(CONFIG_ARCH_U300) += ste-u300.dtb
diff --git a/arch/arm/boot/dts/tegra114-dalmore.dts b/arch/arm/boot/dts/tegra114-dalmore.dts
index cb640eb6c932..45056a299408 100644
--- a/arch/arm/boot/dts/tegra114-dalmore.dts
+++ b/arch/arm/boot/dts/tegra114-dalmore.dts
@@ -791,7 +791,7 @@
791 regulator-boot-on; 791 regulator-boot-on;
792 }; 792 };
793 793
794 dcdc3 { 794 tps65090_dcdc3_reg: dcdc3 {
795 regulator-name = "vdd-ao"; 795 regulator-name = "vdd-ao";
796 regulator-always-on; 796 regulator-always-on;
797 regulator-boot-on; 797 regulator-boot-on;
@@ -836,6 +836,180 @@
836 }; 836 };
837 }; 837 };
838 }; 838 };
839
840 palmas: tps65913 {
841 compatible = "ti,palmas";
842 reg = <0x58>;
843 interrupts = <0 86 IRQ_TYPE_LEVEL_LOW>;
844
845 #interrupt-cells = <2>;
846 interrupt-controller;
847
848 palmas_gpio: gpio {
849 compatible = "ti,palmas-gpio";
850 gpio-controller;
851 #gpio-cells = <2>;
852 };
853
854 pmic {
855 compatible = "ti,tps65913-pmic", "ti,palmas-pmic";
856 smps1-in-supply = <&tps65090_dcdc3_reg>;
857 smps3-in-supply = <&tps65090_dcdc3_reg>;
858 smps4-in-supply = <&tps65090_dcdc2_reg>;
859 smps7-in-supply = <&tps65090_dcdc2_reg>;
860 smps8-in-supply = <&tps65090_dcdc2_reg>;
861 smps9-in-supply = <&tps65090_dcdc2_reg>;
862 ldo1-in-supply = <&tps65090_dcdc2_reg>;
863 ldo2-in-supply = <&tps65090_dcdc2_reg>;
864 ldo3-in-supply = <&palmas_smps3_reg>;
865 ldo4-in-supply = <&tps65090_dcdc2_reg>;
866 ldo5-in-supply = <&vdd_ac_bat_reg>;
867 ldo6-in-supply = <&tps65090_dcdc2_reg>;
868 ldo7-in-supply = <&tps65090_dcdc2_reg>;
869 ldo8-in-supply = <&tps65090_dcdc3_reg>;
870 ldo9-in-supply = <&palmas_smps9_reg>;
871 ldoln-in-supply = <&tps65090_dcdc1_reg>;
872 ldousb-in-supply = <&tps65090_dcdc1_reg>;
873
874 regulators {
875 smps12 {
876 regulator-name = "vddio-ddr";
877 regulator-min-microvolt = <1350000>;
878 regulator-max-microvolt = <1350000>;
879 regulator-always-on;
880 regulator-boot-on;
881 };
882
883 palmas_smps3_reg: smps3 {
884 regulator-name = "vddio-1v8";
885 regulator-min-microvolt = <1800000>;
886 regulator-max-microvolt = <1800000>;
887 regulator-always-on;
888 regulator-boot-on;
889 };
890
891 smps45 {
892 regulator-name = "vdd-core";
893 regulator-min-microvolt = <900000>;
894 regulator-max-microvolt = <1400000>;
895 regulator-always-on;
896 regulator-boot-on;
897 };
898
899 smps457 {
900 regulator-name = "vdd-core";
901 regulator-min-microvolt = <900000>;
902 regulator-max-microvolt = <1400000>;
903 regulator-always-on;
904 regulator-boot-on;
905 };
906
907 smps8 {
908 regulator-name = "avdd-pll";
909 regulator-min-microvolt = <1050000>;
910 regulator-max-microvolt = <1050000>;
911 regulator-always-on;
912 regulator-boot-on;
913 };
914
915 palmas_smps9_reg: smps9 {
916 regulator-name = "sdhci-vdd-sd-slot";
917 regulator-min-microvolt = <2800000>;
918 regulator-max-microvolt = <2800000>;
919 regulator-always-on;
920 };
921
922 ldo1 {
923 regulator-name = "avdd-cam1";
924 regulator-min-microvolt = <2800000>;
925 regulator-max-microvolt = <2800000>;
926 };
927
928 ldo2 {
929 regulator-name = "avdd-cam2";
930 regulator-min-microvolt = <2800000>;
931 regulator-max-microvolt = <2800000>;
932 };
933
934 ldo3 {
935 regulator-name = "avdd-dsi-csi";
936 regulator-min-microvolt = <1200000>;
937 regulator-max-microvolt = <1200000>;
938 regulator-always-on;
939 regulator-boot-on;
940 };
941
942 ldo4 {
943 regulator-name = "vpp-fuse";
944 regulator-min-microvolt = <1800000>;
945 regulator-max-microvolt = <1800000>;
946 };
947
948 ldo6 {
949 regulator-name = "vdd-sensor-2v85";
950 regulator-min-microvolt = <2850000>;
951 regulator-max-microvolt = <2850000>;
952 };
953
954 ldo7 {
955 regulator-name = "vdd-af-cam1";
956 regulator-min-microvolt = <2800000>;
957 regulator-max-microvolt = <2800000>;
958 };
959
960 ldo8 {
961 regulator-name = "vdd-rtc";
962 regulator-min-microvolt = <900000>;
963 regulator-max-microvolt = <900000>;
964 regulator-always-on;
965 regulator-boot-on;
966 ti,enable-ldo8-tracking;
967 };
968
969 ldo9 {
970 regulator-name = "vddio-sdmmc-2";
971 regulator-min-microvolt = <1800000>;
972 regulator-max-microvolt = <3300000>;
973 regulator-always-on;
974 regulator-boot-on;
975 };
976
977 ldoln {
978 regulator-name = "hvdd-usb";
979 regulator-min-microvolt = <3300000>;
980 regulator-max-microvolt = <3300000>;
981 };
982
983 ldousb {
984 regulator-name = "avdd-usb";
985 regulator-min-microvolt = <3300000>;
986 regulator-max-microvolt = <3300000>;
987 regulator-always-on;
988 regulator-boot-on;
989 };
990
991 regen1 {
992 regulator-name = "rail-3v3";
993 regulator-max-microvolt = <3300000>;
994 regulator-always-on;
995 regulator-boot-on;
996 };
997
998 regen2 {
999 regulator-name = "rail-5v0";
1000 regulator-max-microvolt = <5000000>;
1001 regulator-always-on;
1002 regulator-boot-on;
1003 };
1004 };
1005 };
1006
1007 rtc {
1008 compatible = "ti,palmas-rtc";
1009 interrupt-parent = <&palmas>;
1010 interrupts = <8 0>;
1011 };
1012 };
839 }; 1013 };
840 1014
841 spi@7000da00 { 1015 spi@7000da00 {
@@ -850,6 +1024,13 @@
850 1024
851 pmc { 1025 pmc {
852 nvidia,invert-interrupt; 1026 nvidia,invert-interrupt;
1027 nvidia,suspend-mode = <1>;
1028 nvidia,cpu-pwr-good-time = <500>;
1029 nvidia,cpu-pwr-off-time = <300>;
1030 nvidia,core-pwr-good-time = <641 3845>;
1031 nvidia,core-pwr-off-time = <61036>;
1032 nvidia,core-power-req-active-high;
1033 nvidia,sys-clock-req-active-high;
853 }; 1034 };
854 1035
855 ahub { 1036 ahub {
@@ -870,6 +1051,15 @@
870 non-removable; 1051 non-removable;
871 }; 1052 };
872 1053
1054 usb@7d008000 {
1055 status = "okay";
1056 };
1057
1058 usb-phy@7d008000 {
1059 status = "okay";
1060 vbus-supply = <&usb3_vbus_reg>;
1061 };
1062
873 clocks { 1063 clocks {
874 compatible = "simple-bus"; 1064 compatible = "simple-bus";
875 #address-cells = <1>; 1065 #address-cells = <1>;
@@ -883,6 +1073,35 @@
883 }; 1073 };
884 }; 1074 };
885 1075
1076 gpio-keys {
1077 compatible = "gpio-keys";
1078
1079 home {
1080 label = "Home";
1081 gpios = <&gpio TEGRA_GPIO(I, 5) GPIO_ACTIVE_LOW>;
1082 linux,code = <102>; /* KEY_HOME */
1083 };
1084
1085 power {
1086 label = "Power";
1087 gpios = <&gpio TEGRA_GPIO(Q, 0) GPIO_ACTIVE_LOW>;
1088 linux,code = <116>; /* KEY_POWER */
1089 gpio-key,wakeup;
1090 };
1091
1092 volume_down {
1093 label = "Volume Down";
1094 gpios = <&gpio TEGRA_GPIO(R, 1) GPIO_ACTIVE_LOW>;
1095 linux,code = <114>; /* KEY_VOLUMEDOWN */
1096 };
1097
1098 volume_up {
1099 label = "Volume Up";
1100 gpios = <&gpio TEGRA_GPIO(R, 2) GPIO_ACTIVE_LOW>;
1101 linux,code = <115>; /* KEY_VOLUMEUP */
1102 };
1103 };
1104
886 regulators { 1105 regulators {
887 compatible = "simple-bus"; 1106 compatible = "simple-bus";
888 #address-cells = <1>; 1107 #address-cells = <1>;
@@ -951,6 +1170,16 @@
951 gpio = <&gpio TEGRA_GPIO(K, 1) GPIO_ACTIVE_HIGH>; 1170 gpio = <&gpio TEGRA_GPIO(K, 1) GPIO_ACTIVE_HIGH>;
952 vin-supply = <&tps65090_dcdc1_reg>; 1171 vin-supply = <&tps65090_dcdc1_reg>;
953 }; 1172 };
1173
1174 vdd_cam_1v8_reg: regulator@6 {
1175 compatible = "regulator-fixed";
1176 reg = <6>;
1177 regulator-name = "vdd_cam_1v8_reg";
1178 regulator-min-microvolt = <1800000>;
1179 regulator-max-microvolt = <1800000>;
1180 enable-active-high;
1181 gpio = <&palmas_gpio 6 0>;
1182 };
954 }; 1183 };
955 1184
956 sound { 1185 sound {
@@ -964,7 +1193,9 @@
964 "Speakers", "SPORP", 1193 "Speakers", "SPORP",
965 "Speakers", "SPORN", 1194 "Speakers", "SPORN",
966 "Speakers", "SPOLP", 1195 "Speakers", "SPOLP",
967 "Speakers", "SPOLN"; 1196 "Speakers", "SPOLN",
1197 "Mic Jack", "MICBIAS1",
1198 "IN2P", "Mic Jack";
968 1199
969 nvidia,i2s-controller = <&tegra_i2s1>; 1200 nvidia,i2s-controller = <&tegra_i2s1>;
970 nvidia,audio-codec = <&rt5640>; 1201 nvidia,audio-codec = <&rt5640>;
diff --git a/arch/arm/boot/dts/tegra114-pluto.dts b/arch/arm/boot/dts/tegra114-pluto.dts
deleted file mode 100644
index d5f8d3e0bde2..000000000000
--- a/arch/arm/boot/dts/tegra114-pluto.dts
+++ /dev/null
@@ -1,33 +0,0 @@
1/dts-v1/;
2
3#include "tegra114.dtsi"
4
5/ {
6 model = "NVIDIA Tegra114 Pluto evaluation board";
7 compatible = "nvidia,pluto", "nvidia,tegra114";
8
9 memory {
10 reg = <0x80000000 0x40000000>;
11 };
12
13 serial@70006300 {
14 status = "okay";
15 };
16
17 pmc {
18 nvidia,invert-interrupt;
19 };
20
21 clocks {
22 compatible = "simple-bus";
23 #address-cells = <1>;
24 #size-cells = <0>;
25
26 clk32k_in: clock {
27 compatible = "fixed-clock";
28 reg=<0>;
29 #clock-cells = <0>;
30 clock-frequency = <32768>;
31 };
32 };
33};
diff --git a/arch/arm/boot/dts/tegra114.dtsi b/arch/arm/boot/dts/tegra114.dtsi
index abf6c40d28c6..2905145d8e59 100644
--- a/arch/arm/boot/dts/tegra114.dtsi
+++ b/arch/arm/boot/dts/tegra114.dtsi
@@ -430,6 +430,68 @@
430 status = "disable"; 430 status = "disable";
431 }; 431 };
432 432
433 usb@7d000000 {
434 compatible = "nvidia,tegra30-ehci", "usb-ehci";
435 reg = <0x7d000000 0x4000>;
436 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
437 phy_type = "utmi";
438 clocks = <&tegra_car TEGRA114_CLK_USBD>;
439 nvidia,phy = <&phy1>;
440 status = "disabled";
441 };
442
443 phy1: usb-phy@7d000000 {
444 compatible = "nvidia,tegra30-usb-phy";
445 reg = <0x7d000000 0x4000 0x7d000000 0x4000>;
446 phy_type = "utmi";
447 clocks = <&tegra_car TEGRA114_CLK_USBD>,
448 <&tegra_car TEGRA114_CLK_PLL_U>,
449 <&tegra_car TEGRA114_CLK_USBD>;
450 clock-names = "reg", "pll_u", "utmi-pads";
451 nvidia,hssync-start-delay = <0>;
452 nvidia,idle-wait-delay = <17>;
453 nvidia,elastic-limit = <16>;
454 nvidia,term-range-adj = <6>;
455 nvidia,xcvr-setup = <9>;
456 nvidia,xcvr-lsfslew = <0>;
457 nvidia,xcvr-lsrslew = <3>;
458 nvidia,hssquelch-level = <2>;
459 nvidia,hsdiscon-level = <5>;
460 nvidia,xcvr-hsslew = <12>;
461 status = "disabled";
462 };
463
464 usb@7d008000 {
465 compatible = "nvidia,tegra30-ehci", "usb-ehci";
466 reg = <0x7d008000 0x4000>;
467 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
468 phy_type = "utmi";
469 clocks = <&tegra_car TEGRA114_CLK_USB3>;
470 nvidia,phy = <&phy3>;
471 status = "disabled";
472 };
473
474 phy3: usb-phy@7d008000 {
475 compatible = "nvidia,tegra30-usb-phy";
476 reg = <0x7d008000 0x4000 0x7d000000 0x4000>;
477 phy_type = "utmi";
478 clocks = <&tegra_car TEGRA114_CLK_USB3>,
479 <&tegra_car TEGRA114_CLK_PLL_U>,
480 <&tegra_car TEGRA114_CLK_USBD>;
481 clock-names = "reg", "pll_u", "utmi-pads";
482 nvidia,hssync-start-delay = <0>;
483 nvidia,idle-wait-delay = <17>;
484 nvidia,elastic-limit = <16>;
485 nvidia,term-range-adj = <6>;
486 nvidia,xcvr-setup = <9>;
487 nvidia,xcvr-lsfslew = <0>;
488 nvidia,xcvr-lsrslew = <3>;
489 nvidia,hssquelch-level = <2>;
490 nvidia,hsdiscon-level = <5>;
491 nvidia,xcvr-hsslew = <12>;
492 status = "disabled";
493 };
494
433 cpus { 495 cpus {
434 #address-cells = <1>; 496 #address-cells = <1>;
435 #size-cells = <0>; 497 #size-cells = <0>;
diff --git a/arch/arm/boot/dts/tegra20-colibri-512.dtsi b/arch/arm/boot/dts/tegra20-colibri-512.dtsi
index 5592be6f2f7a..d5c9bca01232 100644
--- a/arch/arm/boot/dts/tegra20-colibri-512.dtsi
+++ b/arch/arm/boot/dts/tegra20-colibri-512.dtsi
@@ -363,7 +363,7 @@
363 }; 363 };
364 364
365 pmc { 365 pmc {
366 nvidia,suspend-mode = <2>; 366 nvidia,suspend-mode = <1>;
367 nvidia,cpu-pwr-good-time = <5000>; 367 nvidia,cpu-pwr-good-time = <5000>;
368 nvidia,cpu-pwr-off-time = <5000>; 368 nvidia,cpu-pwr-off-time = <5000>;
369 nvidia,core-pwr-good-time = <3845 3845>; 369 nvidia,core-pwr-good-time = <3845 3845>;
diff --git a/arch/arm/boot/dts/tegra20-harmony.dts b/arch/arm/boot/dts/tegra20-harmony.dts
index d9f89cd879a7..e156ab30e763 100644
--- a/arch/arm/boot/dts/tegra20-harmony.dts
+++ b/arch/arm/boot/dts/tegra20-harmony.dts
@@ -335,7 +335,7 @@
335 regulator-always-on; 335 regulator-always-on;
336 }; 336 };
337 337
338 ldo0 { 338 pci_clk_reg: ldo0 {
339 regulator-name = "vdd_ldo0,vddio_pex_clk"; 339 regulator-name = "vdd_ldo0,vddio_pex_clk";
340 regulator-min-microvolt = <3300000>; 340 regulator-min-microvolt = <3300000>;
341 regulator-max-microvolt = <3300000>; 341 regulator-max-microvolt = <3300000>;
@@ -417,7 +417,7 @@
417 417
418 pmc { 418 pmc {
419 nvidia,invert-interrupt; 419 nvidia,invert-interrupt;
420 nvidia,suspend-mode = <2>; 420 nvidia,suspend-mode = <1>;
421 nvidia,cpu-pwr-good-time = <5000>; 421 nvidia,cpu-pwr-good-time = <5000>;
422 nvidia,cpu-pwr-off-time = <5000>; 422 nvidia,cpu-pwr-off-time = <5000>;
423 nvidia,core-pwr-good-time = <3845 3845>; 423 nvidia,core-pwr-good-time = <3845 3845>;
@@ -425,6 +425,20 @@
425 nvidia,sys-clock-req-active-high; 425 nvidia,sys-clock-req-active-high;
426 }; 426 };
427 427
428 pcie-controller {
429 pex-clk-supply = <&pci_clk_reg>;
430 vdd-supply = <&pci_vdd_reg>;
431 status = "okay";
432
433 pci@1,0 {
434 status = "okay";
435 };
436
437 pci@2,0 {
438 status = "okay";
439 };
440 };
441
428 usb@c5000000 { 442 usb@c5000000 {
429 status = "okay"; 443 status = "okay";
430 }; 444 };
@@ -643,7 +657,7 @@
643 enable-active-high; 657 enable-active-high;
644 }; 658 };
645 659
646 regulator@3 { 660 pci_vdd_reg: regulator@3 {
647 compatible = "regulator-fixed"; 661 compatible = "regulator-fixed";
648 reg = <3>; 662 reg = <3>;
649 regulator-name = "vdd_1v05"; 663 regulator-name = "vdd_1v05";
@@ -651,8 +665,6 @@
651 regulator-max-microvolt = <1050000>; 665 regulator-max-microvolt = <1050000>;
652 gpio = <&pmic 2 GPIO_ACTIVE_HIGH>; 666 gpio = <&pmic 2 GPIO_ACTIVE_HIGH>;
653 enable-active-high; 667 enable-active-high;
654 /* Hack until board-harmony-pcie.c is removed */
655 status = "disabled";
656 }; 668 };
657 669
658 regulator@4 { 670 regulator@4 {
diff --git a/arch/arm/boot/dts/tegra20-paz00.dts b/arch/arm/boot/dts/tegra20-paz00.dts
index cfd12763b1b2..8d71fc9d8a2f 100644
--- a/arch/arm/boot/dts/tegra20-paz00.dts
+++ b/arch/arm/boot/dts/tegra20-paz00.dts
@@ -417,7 +417,7 @@
417 417
418 pmc { 418 pmc {
419 nvidia,invert-interrupt; 419 nvidia,invert-interrupt;
420 nvidia,suspend-mode = <2>; 420 nvidia,suspend-mode = <1>;
421 nvidia,cpu-pwr-good-time = <2000>; 421 nvidia,cpu-pwr-good-time = <2000>;
422 nvidia,cpu-pwr-off-time = <0>; 422 nvidia,cpu-pwr-off-time = <0>;
423 nvidia,core-pwr-good-time = <3845 3845>; 423 nvidia,core-pwr-good-time = <3845 3845>;
diff --git a/arch/arm/boot/dts/tegra20-seaboard.dts b/arch/arm/boot/dts/tegra20-seaboard.dts
index 365760b33a26..f44a9b8e23bf 100644
--- a/arch/arm/boot/dts/tegra20-seaboard.dts
+++ b/arch/arm/boot/dts/tegra20-seaboard.dts
@@ -518,7 +518,7 @@
518 518
519 pmc { 519 pmc {
520 nvidia,invert-interrupt; 520 nvidia,invert-interrupt;
521 nvidia,suspend-mode = <2>; 521 nvidia,suspend-mode = <1>;
522 nvidia,cpu-pwr-good-time = <5000>; 522 nvidia,cpu-pwr-good-time = <5000>;
523 nvidia,cpu-pwr-off-time = <5000>; 523 nvidia,cpu-pwr-off-time = <5000>;
524 nvidia,core-pwr-good-time = <3845 3845>; 524 nvidia,core-pwr-good-time = <3845 3845>;
@@ -829,7 +829,7 @@
829 regulator-min-microvolt = <5000000>; 829 regulator-min-microvolt = <5000000>;
830 regulator-max-microvolt = <5000000>; 830 regulator-max-microvolt = <5000000>;
831 enable-active-high; 831 enable-active-high;
832 gpio = <&gpio 24 0>; /* PD0 */ 832 gpio = <&gpio TEGRA_GPIO(D, 0) 0>;
833 }; 833 };
834 }; 834 };
835 835
diff --git a/arch/arm/boot/dts/tegra20-tamonten.dtsi b/arch/arm/boot/dts/tegra20-tamonten.dtsi
index c54faae7cfb3..7726dab3d08d 100644
--- a/arch/arm/boot/dts/tegra20-tamonten.dtsi
+++ b/arch/arm/boot/dts/tegra20-tamonten.dtsi
@@ -366,7 +366,7 @@
366 regulator-always-on; 366 regulator-always-on;
367 }; 367 };
368 368
369 ldo0 { 369 pci_clk_reg: ldo0 {
370 regulator-name = "vdd_ldo0,vddio_pex_clk"; 370 regulator-name = "vdd_ldo0,vddio_pex_clk";
371 regulator-min-microvolt = <3300000>; 371 regulator-min-microvolt = <3300000>;
372 regulator-max-microvolt = <3300000>; 372 regulator-max-microvolt = <3300000>;
@@ -459,7 +459,7 @@
459 459
460 pmc { 460 pmc {
461 nvidia,invert-interrupt; 461 nvidia,invert-interrupt;
462 nvidia,suspend-mode = <2>; 462 nvidia,suspend-mode = <1>;
463 nvidia,cpu-pwr-good-time = <5000>; 463 nvidia,cpu-pwr-good-time = <5000>;
464 nvidia,cpu-pwr-off-time = <5000>; 464 nvidia,cpu-pwr-off-time = <5000>;
465 nvidia,core-pwr-good-time = <3845 3845>; 465 nvidia,core-pwr-good-time = <3845 3845>;
@@ -467,6 +467,11 @@
467 nvidia,sys-clock-req-active-high; 467 nvidia,sys-clock-req-active-high;
468 }; 468 };
469 469
470 pcie-controller {
471 pex-clk-supply = <&pci_clk_reg>;
472 vdd-supply = <&pci_vdd_reg>;
473 };
474
470 usb@c5008000 { 475 usb@c5008000 {
471 status = "okay"; 476 status = "okay";
472 }; 477 };
@@ -509,5 +514,15 @@
509 regulator-max-microvolt = <5000000>; 514 regulator-max-microvolt = <5000000>;
510 regulator-always-on; 515 regulator-always-on;
511 }; 516 };
517
518 pci_vdd_reg: regulator@1 {
519 compatible = "regulator-fixed";
520 reg = <1>;
521 regulator-name = "vdd_1v05";
522 regulator-min-microvolt = <1050000>;
523 regulator-max-microvolt = <1050000>;
524 gpio = <&pmic 2 0>;
525 enable-active-high;
526 };
512 }; 527 };
513}; 528};
diff --git a/arch/arm/boot/dts/tegra20-tec.dts b/arch/arm/boot/dts/tegra20-tec.dts
index c572c43751b1..3ada3cb67f07 100644
--- a/arch/arm/boot/dts/tegra20-tec.dts
+++ b/arch/arm/boot/dts/tegra20-tec.dts
@@ -32,6 +32,14 @@
32 }; 32 };
33 }; 33 };
34 34
35 pcie-controller {
36 status = "okay";
37
38 pci@1,0 {
39 status = "okay";
40 };
41 };
42
35 sound { 43 sound {
36 compatible = "ad,tegra-audio-wm8903-tec", 44 compatible = "ad,tegra-audio-wm8903-tec",
37 "nvidia,tegra-audio-wm8903"; 45 "nvidia,tegra-audio-wm8903";
diff --git a/arch/arm/boot/dts/tegra20-trimslice.dts b/arch/arm/boot/dts/tegra20-trimslice.dts
index ed4b901b0227..22e227f87e4c 100644
--- a/arch/arm/boot/dts/tegra20-trimslice.dts
+++ b/arch/arm/boot/dts/tegra20-trimslice.dts
@@ -302,7 +302,7 @@
302 }; 302 };
303 303
304 pmc { 304 pmc {
305 nvidia,suspend-mode = <2>; 305 nvidia,suspend-mode = <1>;
306 nvidia,cpu-pwr-good-time = <5000>; 306 nvidia,cpu-pwr-good-time = <5000>;
307 nvidia,cpu-pwr-off-time = <5000>; 307 nvidia,cpu-pwr-off-time = <5000>;
308 nvidia,core-pwr-good-time = <3845 3845>; 308 nvidia,core-pwr-good-time = <3845 3845>;
@@ -310,6 +310,16 @@
310 nvidia,sys-clock-req-active-high; 310 nvidia,sys-clock-req-active-high;
311 }; 311 };
312 312
313 pcie-controller {
314 status = "okay";
315 pex-clk-supply = <&pci_clk_reg>;
316 vdd-supply = <&pci_vdd_reg>;
317
318 pci@1,0 {
319 status = "okay";
320 };
321 };
322
313 usb@c5000000 { 323 usb@c5000000 {
314 status = "okay"; 324 status = "okay";
315 nvidia,vbus-gpio = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_HIGH>; 325 nvidia,vbus-gpio = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_HIGH>;
@@ -411,7 +421,25 @@
411 regulator-min-microvolt = <5000000>; 421 regulator-min-microvolt = <5000000>;
412 regulator-max-microvolt = <5000000>; 422 regulator-max-microvolt = <5000000>;
413 enable-active-high; 423 enable-active-high;
414 gpio = <&gpio 170 0>; /* PV2 */ 424 gpio = <&gpio TEGRA_GPIO(V, 2) 0>;
425 };
426
427 pci_clk_reg: regulator@3 {
428 compatible = "regulator-fixed";
429 reg = <3>;
430 regulator-name = "pci_clk";
431 regulator-min-microvolt = <3300000>;
432 regulator-max-microvolt = <3300000>;
433 regulator-always-on;
434 };
435
436 pci_vdd_reg: regulator@4 {
437 compatible = "regulator-fixed";
438 reg = <4>;
439 regulator-name = "pci_vdd";
440 regulator-min-microvolt = <1050000>;
441 regulator-max-microvolt = <1050000>;
442 regulator-always-on;
415 }; 443 };
416 }; 444 };
417 445
diff --git a/arch/arm/boot/dts/tegra20-ventana.dts b/arch/arm/boot/dts/tegra20-ventana.dts
index 7f8c28d1121f..aab872cd0530 100644
--- a/arch/arm/boot/dts/tegra20-ventana.dts
+++ b/arch/arm/boot/dts/tegra20-ventana.dts
@@ -494,7 +494,7 @@
494 494
495 pmc { 495 pmc {
496 nvidia,invert-interrupt; 496 nvidia,invert-interrupt;
497 nvidia,suspend-mode = <2>; 497 nvidia,suspend-mode = <1>;
498 nvidia,cpu-pwr-good-time = <2000>; 498 nvidia,cpu-pwr-good-time = <2000>;
499 nvidia,cpu-pwr-off-time = <100>; 499 nvidia,cpu-pwr-off-time = <100>;
500 nvidia,core-pwr-good-time = <3845 3845>; 500 nvidia,core-pwr-good-time = <3845 3845>;
diff --git a/arch/arm/boot/dts/tegra20-whistler.dts b/arch/arm/boot/dts/tegra20-whistler.dts
index ab67c94db280..3899cae2eacd 100644
--- a/arch/arm/boot/dts/tegra20-whistler.dts
+++ b/arch/arm/boot/dts/tegra20-whistler.dts
@@ -497,7 +497,7 @@
497 497
498 pmc { 498 pmc {
499 nvidia,invert-interrupt; 499 nvidia,invert-interrupt;
500 nvidia,suspend-mode = <2>; 500 nvidia,suspend-mode = <1>;
501 nvidia,cpu-pwr-good-time = <2000>; 501 nvidia,cpu-pwr-good-time = <2000>;
502 nvidia,cpu-pwr-off-time = <1000>; 502 nvidia,cpu-pwr-off-time = <1000>;
503 nvidia,core-pwr-good-time = <0 3845>; 503 nvidia,core-pwr-good-time = <0 3845>;
diff --git a/arch/arm/boot/dts/tegra20.dtsi b/arch/arm/boot/dts/tegra20.dtsi
index 9653fd8288d2..3add9ac252d7 100644
--- a/arch/arm/boot/dts/tegra20.dtsi
+++ b/arch/arm/boot/dts/tegra20.dtsi
@@ -455,6 +455,61 @@
455 #size-cells = <0>; 455 #size-cells = <0>;
456 }; 456 };
457 457
458 pcie-controller {
459 compatible = "nvidia,tegra20-pcie";
460 device_type = "pci";
461 reg = <0x80003000 0x00000800 /* PADS registers */
462 0x80003800 0x00000200 /* AFI registers */
463 0x90000000 0x10000000>; /* configuration space */
464 reg-names = "pads", "afi", "cs";
465 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH /* controller interrupt */
466 GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
467 interrupt-names = "intr", "msi";
468
469 bus-range = <0x00 0xff>;
470 #address-cells = <3>;
471 #size-cells = <2>;
472
473 ranges = <0x82000000 0 0x80000000 0x80000000 0 0x00001000 /* port 0 registers */
474 0x82000000 0 0x80001000 0x80001000 0 0x00001000 /* port 1 registers */
475 0x81000000 0 0 0x82000000 0 0x00010000 /* downstream I/O */
476 0x82000000 0 0xa0000000 0xa0000000 0 0x08000000 /* non-prefetchable memory */
477 0xc2000000 0 0xa8000000 0xa8000000 0 0x18000000>; /* prefetchable memory */
478
479 clocks = <&tegra_car TEGRA20_CLK_PEX>,
480 <&tegra_car TEGRA20_CLK_AFI>,
481 <&tegra_car TEGRA20_CLK_PCIE_XCLK>,
482 <&tegra_car TEGRA20_CLK_PLL_E>;
483 clock-names = "pex", "afi", "pcie_xclk", "pll_e";
484 status = "disabled";
485
486 pci@1,0 {
487 device_type = "pci";
488 assigned-addresses = <0x82000800 0 0x80000000 0 0x1000>;
489 reg = <0x000800 0 0 0 0>;
490 status = "disabled";
491
492 #address-cells = <3>;
493 #size-cells = <2>;
494 ranges;
495
496 nvidia,num-lanes = <2>;
497 };
498
499 pci@2,0 {
500 device_type = "pci";
501 assigned-addresses = <0x82001000 0 0x80001000 0 0x1000>;
502 reg = <0x001000 0 0 0 0>;
503 status = "disabled";
504
505 #address-cells = <3>;
506 #size-cells = <2>;
507 ranges;
508
509 nvidia,num-lanes = <2>;
510 };
511 };
512
458 usb@c5000000 { 513 usb@c5000000 {
459 compatible = "nvidia,tegra20-ehci", "usb-ehci"; 514 compatible = "nvidia,tegra20-ehci", "usb-ehci";
460 reg = <0xc5000000 0x4000>; 515 reg = <0xc5000000 0x4000>;
diff --git a/arch/arm/boot/dts/tegra30-beaver.dts b/arch/arm/boot/dts/tegra30-beaver.dts
index 87c5f7b7c271..08cad696e89f 100644
--- a/arch/arm/boot/dts/tegra30-beaver.dts
+++ b/arch/arm/boot/dts/tegra30-beaver.dts
@@ -10,6 +10,40 @@
10 reg = <0x80000000 0x7ff00000>; 10 reg = <0x80000000 0x7ff00000>;
11 }; 11 };
12 12
13 pcie-controller {
14 status = "okay";
15 pex-clk-supply = <&sys_3v3_pexs_reg>;
16 vdd-supply = <&ldo1_reg>;
17 avdd-supply = <&ldo2_reg>;
18
19 pci@1,0 {
20 status = "okay";
21 nvidia,num-lanes = <2>;
22 };
23
24 pci@2,0 {
25 nvidia,num-lanes = <2>;
26 };
27
28 pci@3,0 {
29 status = "okay";
30 nvidia,num-lanes = <2>;
31 };
32 };
33
34 host1x {
35 hdmi {
36 status = "okay";
37
38 vdd-supply = <&sys_3v3_reg>;
39 pll-supply = <&vio_reg>;
40
41 nvidia,hpd-gpio =
42 <&gpio TEGRA_GPIO(N, 7) GPIO_ACTIVE_HIGH>;
43 nvidia,ddc-i2c-bus = <&hdmiddc>;
44 };
45 };
46
13 pinmux { 47 pinmux {
14 pinctrl-names = "default"; 48 pinctrl-names = "default";
15 pinctrl-0 = <&state_default>; 49 pinctrl-0 = <&state_default>;
@@ -76,6 +110,11 @@
76 nvidia,pull = <0>; 110 nvidia,pull = <0>;
77 nvidia,tristate = <0>; 111 nvidia,tristate = <0>;
78 }; 112 };
113 pex_l1_prsnt_n_pdd4 {
114 nvidia,pins = "pex_l1_prsnt_n_pdd4",
115 "pex_l1_clkreq_n_pdd6";
116 nvidia,pull = <2>;
117 };
79 sdio3 { 118 sdio3 {
80 nvidia,pins = "drive_sdio3"; 119 nvidia,pins = "drive_sdio3";
81 nvidia,high-speed-mode = <0>; 120 nvidia,high-speed-mode = <0>;
@@ -85,6 +124,10 @@
85 nvidia,slew-rate-rising = <1>; 124 nvidia,slew-rate-rising = <1>;
86 nvidia,slew-rate-falling = <1>; 125 nvidia,slew-rate-falling = <1>;
87 }; 126 };
127 gpv {
128 nvidia,pins = "drive_gpv";
129 nvidia,pull-up-strength = <16>;
130 };
88 }; 131 };
89 }; 132 };
90 133
@@ -107,7 +150,7 @@
107 clock-frequency = <100000>; 150 clock-frequency = <100000>;
108 }; 151 };
109 152
110 i2c@7000c700 { 153 hdmiddc: i2c@7000c700 {
111 status = "okay"; 154 status = "okay";
112 clock-frequency = <100000>; 155 clock-frequency = <100000>;
113 }; 156 };
@@ -262,7 +305,7 @@
262 pmc { 305 pmc {
263 status = "okay"; 306 status = "okay";
264 nvidia,invert-interrupt; 307 nvidia,invert-interrupt;
265 nvidia,suspend-mode = <2>; 308 nvidia,suspend-mode = <1>;
266 nvidia,cpu-pwr-good-time = <2000>; 309 nvidia,cpu-pwr-good-time = <2000>;
267 nvidia,cpu-pwr-off-time = <200>; 310 nvidia,cpu-pwr-off-time = <200>;
268 nvidia,core-pwr-good-time = <3845 3845>; 311 nvidia,core-pwr-good-time = <3845 3845>;
@@ -285,6 +328,15 @@
285 non-removable; 328 non-removable;
286 }; 329 };
287 330
331 usb@7d008000 {
332 status = "okay";
333 };
334
335 usb-phy@7d008000 {
336 vbus-supply = <&usb3_vbus_reg>;
337 status = "okay";
338 };
339
288 clocks { 340 clocks {
289 compatible = "simple-bus"; 341 compatible = "simple-bus";
290 #address-cells = <1>; 342 #address-cells = <1>;
@@ -357,7 +409,7 @@
357 regulator-min-microvolt = <5000000>; 409 regulator-min-microvolt = <5000000>;
358 regulator-max-microvolt = <5000000>; 410 regulator-max-microvolt = <5000000>;
359 enable-active-high; 411 enable-active-high;
360 gpio = <&gpio TEGRA_GPIO(I, 4) GPIO_ACTIVE_HIGH>; 412 gpio = <&gpio TEGRA_GPIO(DD, 6) GPIO_ACTIVE_HIGH>;
361 gpio-open-drain; 413 gpio-open-drain;
362 vin-supply = <&vdd_5v_in_reg>; 414 vin-supply = <&vdd_5v_in_reg>;
363 }; 415 };
@@ -369,7 +421,7 @@
369 regulator-min-microvolt = <5000000>; 421 regulator-min-microvolt = <5000000>;
370 regulator-max-microvolt = <5000000>; 422 regulator-max-microvolt = <5000000>;
371 enable-active-high; 423 enable-active-high;
372 gpio = <&gpio TEGRA_GPIO(H, 7) GPIO_ACTIVE_HIGH>; 424 gpio = <&gpio TEGRA_GPIO(DD, 4) GPIO_ACTIVE_HIGH>;
373 gpio-open-drain; 425 gpio-open-drain;
374 vin-supply = <&vdd_5v_in_reg>; 426 vin-supply = <&vdd_5v_in_reg>;
375 }; 427 };
@@ -421,7 +473,9 @@
421 473
422 nvidia,audio-routing = 474 nvidia,audio-routing =
423 "Headphones", "HPOR", 475 "Headphones", "HPOR",
424 "Headphones", "HPOL"; 476 "Headphones", "HPOL",
477 "Mic Jack", "MICBIAS1",
478 "IN2P", "Mic Jack";
425 479
426 nvidia,i2s-controller = <&tegra_i2s1>; 480 nvidia,i2s-controller = <&tegra_i2s1>;
427 nvidia,audio-codec = <&rt5640>; 481 nvidia,audio-codec = <&rt5640>;
diff --git a/arch/arm/boot/dts/tegra30-cardhu.dtsi b/arch/arm/boot/dts/tegra30-cardhu.dtsi
index f65b53d32416..e19dbf238e5c 100644
--- a/arch/arm/boot/dts/tegra30-cardhu.dtsi
+++ b/arch/arm/boot/dts/tegra30-cardhu.dtsi
@@ -31,6 +31,26 @@
31 reg = <0x80000000 0x40000000>; 31 reg = <0x80000000 0x40000000>;
32 }; 32 };
33 33
34 pcie-controller {
35 status = "okay";
36 pex-clk-supply = <&pex_hvdd_3v3_reg>;
37 vdd-supply = <&ldo1_reg>;
38 avdd-supply = <&ldo2_reg>;
39
40 pci@1,0 {
41 nvidia,num-lanes = <4>;
42 };
43
44 pci@2,0 {
45 nvidia,num-lanes = <1>;
46 };
47
48 pci@3,0 {
49 status = "okay";
50 nvidia,num-lanes = <1>;
51 };
52 };
53
34 pinmux { 54 pinmux {
35 pinctrl-names = "default"; 55 pinctrl-names = "default";
36 pinctrl-0 = <&state_default>; 56 pinctrl-0 = <&state_default>;
@@ -173,19 +193,6 @@
173 gpio-cfg = <0xffffffff 0xffffffff 0 0xffffffff 0xffffffff>; 193 gpio-cfg = <0xffffffff 0xffffffff 0 0xffffffff 0xffffffff>;
174 }; 194 };
175 195
176 tps62361 {
177 compatible = "ti,tps62361";
178 reg = <0x60>;
179
180 regulator-name = "tps62361-vout";
181 regulator-min-microvolt = <500000>;
182 regulator-max-microvolt = <1500000>;
183 regulator-boot-on;
184 regulator-always-on;
185 ti,vsel0-state-high;
186 ti,vsel1-state-high;
187 };
188
189 pmic: tps65911@2d { 196 pmic: tps65911@2d {
190 compatible = "ti,tps65911"; 197 compatible = "ti,tps65911";
191 reg = <0x2d>; 198 reg = <0x2d>;
@@ -286,6 +293,26 @@
286 }; 293 };
287 }; 294 };
288 }; 295 };
296
297 nct1008 {
298 compatible = "onnn,nct1008";
299 reg = <0x4c>;
300 interrupt-parent = <&gpio>;
301 interrupts = <TEGRA_GPIO(CC, 2) IRQ_TYPE_LEVEL_LOW>;
302 };
303
304 tps62361 {
305 compatible = "ti,tps62361";
306 reg = <0x60>;
307
308 regulator-name = "tps62361-vout";
309 regulator-min-microvolt = <500000>;
310 regulator-max-microvolt = <1500000>;
311 regulator-boot-on;
312 regulator-always-on;
313 ti,vsel0-state-high;
314 ti,vsel1-state-high;
315 };
289 }; 316 };
290 317
291 spi@7000da00 { 318 spi@7000da00 {
@@ -307,7 +334,7 @@
307 pmc { 334 pmc {
308 status = "okay"; 335 status = "okay";
309 nvidia,invert-interrupt; 336 nvidia,invert-interrupt;
310 nvidia,suspend-mode = <2>; 337 nvidia,suspend-mode = <1>;
311 nvidia,cpu-pwr-good-time = <2000>; 338 nvidia,cpu-pwr-good-time = <2000>;
312 nvidia,cpu-pwr-off-time = <200>; 339 nvidia,cpu-pwr-off-time = <200>;
313 nvidia,core-pwr-good-time = <3845 3845>; 340 nvidia,core-pwr-good-time = <3845 3845>;
@@ -330,6 +357,15 @@
330 non-removable; 357 non-removable;
331 }; 358 };
332 359
360 usb@7d008000 {
361 status = "okay";
362 };
363
364 usb-phy@7d008000 {
365 vbus-supply = <&usb3_vbus_reg>;
366 status = "okay";
367 };
368
333 clocks { 369 clocks {
334 compatible = "simple-bus"; 370 compatible = "simple-bus";
335 #address-cells = <1>; 371 #address-cells = <1>;
diff --git a/arch/arm/boot/dts/tegra30.dtsi b/arch/arm/boot/dts/tegra30.dtsi
index d8783f0fae63..0022c127e1d9 100644
--- a/arch/arm/boot/dts/tegra30.dtsi
+++ b/arch/arm/boot/dts/tegra30.dtsi
@@ -16,6 +16,76 @@
16 serial4 = &uarte; 16 serial4 = &uarte;
17 }; 17 };
18 18
19 pcie-controller {
20 compatible = "nvidia,tegra30-pcie";
21 device_type = "pci";
22 reg = <0x00003000 0x00000800 /* PADS registers */
23 0x00003800 0x00000200 /* AFI registers */
24 0x10000000 0x10000000>; /* configuration space */
25 reg-names = "pads", "afi", "cs";
26 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH /* controller interrupt */
27 GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>; /* MSI interrupt */
28 interrupt-names = "intr", "msi";
29
30 bus-range = <0x00 0xff>;
31 #address-cells = <3>;
32 #size-cells = <2>;
33
34 ranges = <0x82000000 0 0x00000000 0x00000000 0 0x00001000 /* port 0 configuration space */
35 0x82000000 0 0x00001000 0x00001000 0 0x00001000 /* port 1 configuration space */
36 0x82000000 0 0x00004000 0x00004000 0 0x00001000 /* port 2 configuration space */
37 0x81000000 0 0 0x02000000 0 0x00010000 /* downstream I/O */
38 0x82000000 0 0x20000000 0x20000000 0 0x08000000 /* non-prefetchable memory */
39 0xc2000000 0 0x28000000 0x28000000 0 0x18000000>; /* prefetchable memory */
40
41 clocks = <&tegra_car TEGRA30_CLK_PCIE>,
42 <&tegra_car TEGRA30_CLK_AFI>,
43 <&tegra_car TEGRA30_CLK_PCIEX>,
44 <&tegra_car TEGRA30_CLK_PLL_E>,
45 <&tegra_car TEGRA30_CLK_CML0>;
46 clock-names = "pex", "afi", "pcie_xclk", "pll_e", "cml";
47 status = "disabled";
48
49 pci@1,0 {
50 device_type = "pci";
51 assigned-addresses = <0x82000800 0 0x00000000 0 0x1000>;
52 reg = <0x000800 0 0 0 0>;
53 status = "disabled";
54
55 #address-cells = <3>;
56 #size-cells = <2>;
57 ranges;
58
59 nvidia,num-lanes = <2>;
60 };
61
62 pci@2,0 {
63 device_type = "pci";
64 assigned-addresses = <0x82001000 0 0x00001000 0 0x1000>;
65 reg = <0x001000 0 0 0 0>;
66 status = "disabled";
67
68 #address-cells = <3>;
69 #size-cells = <2>;
70 ranges;
71
72 nvidia,num-lanes = <2>;
73 };
74
75 pci@3,0 {
76 device_type = "pci";
77 assigned-addresses = <0x82001800 0 0x00004000 0 0x1000>;
78 reg = <0x001800 0 0 0 0>;
79 status = "disabled";
80
81 #address-cells = <3>;
82 #size-cells = <2>;
83 ranges;
84
85 nvidia,num-lanes = <2>;
86 };
87 };
88
19 host1x { 89 host1x {
20 compatible = "nvidia,tegra30-host1x", "simple-bus"; 90 compatible = "nvidia,tegra30-host1x", "simple-bus";
21 reg = <0x50000000 0x00024000>; 91 reg = <0x50000000 0x00024000>;
@@ -561,6 +631,92 @@
561 status = "disabled"; 631 status = "disabled";
562 }; 632 };
563 633
634 usb@7d000000 {
635 compatible = "nvidia,tegra30-ehci", "usb-ehci";
636 reg = <0x7d000000 0x4000>;
637 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
638 phy_type = "utmi";
639 clocks = <&tegra_car TEGRA30_CLK_USBD>;
640 nvidia,needs-double-reset;
641 nvidia,phy = <&phy1>;
642 status = "disabled";
643 };
644
645 phy1: usb-phy@7d000000 {
646 compatible = "nvidia,tegra30-usb-phy";
647 reg = <0x7d000000 0x4000 0x7d000000 0x4000>;
648 phy_type = "utmi";
649 clocks = <&tegra_car TEGRA30_CLK_USBD>,
650 <&tegra_car TEGRA30_CLK_PLL_U>,
651 <&tegra_car TEGRA30_CLK_USBD>;
652 clock-names = "reg", "pll_u", "utmi-pads";
653 nvidia,hssync-start-delay = <9>;
654 nvidia,idle-wait-delay = <17>;
655 nvidia,elastic-limit = <16>;
656 nvidia,term-range-adj = <6>;
657 nvidia,xcvr-setup = <51>;
658 nvidia.xcvr-setup-use-fuses;
659 nvidia,xcvr-lsfslew = <1>;
660 nvidia,xcvr-lsrslew = <1>;
661 nvidia,xcvr-hsslew = <32>;
662 nvidia,hssquelch-level = <2>;
663 nvidia,hsdiscon-level = <5>;
664 status = "disabled";
665 };
666
667 usb@7d004000 {
668 compatible = "nvidia,tegra30-ehci", "usb-ehci";
669 reg = <0x7d004000 0x4000>;
670 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
671 phy_type = "ulpi";
672 clocks = <&tegra_car TEGRA30_CLK_USB2>;
673 nvidia,phy = <&phy2>;
674 status = "disabled";
675 };
676
677 phy2: usb-phy@7d004000 {
678 compatible = "nvidia,tegra30-usb-phy";
679 reg = <0x7d004000 0x4000>;
680 phy_type = "ulpi";
681 clocks = <&tegra_car TEGRA30_CLK_USB2>,
682 <&tegra_car TEGRA30_CLK_PLL_U>,
683 <&tegra_car TEGRA30_CLK_CDEV2>;
684 clock-names = "reg", "pll_u", "ulpi-link";
685 status = "disabled";
686 };
687
688 usb@7d008000 {
689 compatible = "nvidia,tegra30-ehci", "usb-ehci";
690 reg = <0x7d008000 0x4000>;
691 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
692 phy_type = "utmi";
693 clocks = <&tegra_car TEGRA30_CLK_USB3>;
694 nvidia,phy = <&phy3>;
695 status = "disabled";
696 };
697
698 phy3: usb-phy@7d008000 {
699 compatible = "nvidia,tegra30-usb-phy";
700 reg = <0x7d008000 0x4000 0x7d000000 0x4000>;
701 phy_type = "utmi";
702 clocks = <&tegra_car TEGRA30_CLK_USB3>,
703 <&tegra_car TEGRA30_CLK_PLL_U>,
704 <&tegra_car TEGRA30_CLK_USBD>;
705 clock-names = "reg", "pll_u", "utmi-pads";
706 nvidia,hssync-start-delay = <0>;
707 nvidia,idle-wait-delay = <17>;
708 nvidia,elastic-limit = <16>;
709 nvidia,term-range-adj = <6>;
710 nvidia,xcvr-setup = <51>;
711 nvidia.xcvr-setup-use-fuses;
712 nvidia,xcvr-lsfslew = <2>;
713 nvidia,xcvr-lsrslew = <2>;
714 nvidia,xcvr-hsslew = <32>;
715 nvidia,hssquelch-level = <2>;
716 nvidia,hsdiscon-level = <5>;
717 status = "disabled";
718 };
719
564 cpus { 720 cpus {
565 #address-cells = <1>; 721 #address-cells = <1>;
566 #size-cells = <0>; 722 #size-cells = <0>;