Skip to content

Commit

Permalink
Merge tag 'tegra-for-4.7-xusb-no-defconfig' of git://git.kernel.org/p…
Browse files Browse the repository at this point in the history
…ub/scm/linux/kernel/git/tegra/linux into next/late

Merge "ARM: tegra: Enable the XUSB controller" from Thierry Reding:

These changes add support for the XUSB controller on Tegra124. It is an
XHCI compatible controller that replaces the existing EHCI controllers.
Support is enabled on Venice2, Jetson TK1 and Nyan-based Chromebooks.

* tag 'tegra-for-4.7-xusb-no-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  ARM: tegra: Enable XUSB on Nyan
  ARM: tegra: Enable XUSB on Jetson TK1
  ARM: tegra: Enable XUSB on Venice2
  ARM: tegra: Add Tegra124 XUSB controller
  ARM: tegra: Move Tegra124 to the new XUSB pad controller binding
  • Loading branch information
Arnd Bergmann committed May 9, 2016
2 parents 43419b0 + 1333ce4 commit 0683e59
Show file tree
Hide file tree
Showing 4 changed files with 456 additions and 50 deletions.
116 changes: 102 additions & 14 deletions arch/arm/boot/dts/tegra124-jetson-tk1.dts
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,17 @@
vddio-pex-ctl-supply = <&vdd_3v3_lp0>;
avdd-pll-erefe-supply = <&avdd_1v05_run>;

/* Mini PCIe */
pci@1,0 {
phys = <&{/padctl@0,7009f000/pads/pcie/lanes/pcie-4}>;
phy-names = "pcie-0";
status = "okay";
};

/* Gigabit Ethernet */
pci@2,0 {
phys = <&{/padctl@0,7009f000/pads/pcie/lanes/pcie-2}>;
phy-names = "pcie-0";
status = "okay";
};
};
Expand Down Expand Up @@ -1647,6 +1653,9 @@
sata@0,70020000 {
status = "okay";

phys = <&{/padctl@0,7009f000/pads/sata/lanes/sata-0}>;
phy-names = "sata-0";

hvdd-supply = <&vdd_3v3_lp0>;
vddio-supply = <&vdd_1v05_run>;
avdd-supply = <&vdd_1v05_run>;
Expand All @@ -1659,28 +1668,107 @@
status = "okay";
};

usb@0,70090000 {
phys = <&{/padctl@0,7009f000/pads/usb2/lanes/usb2-0}>, /* Micro A/B */
<&{/padctl@0,7009f000/pads/usb2/lanes/usb2-1}>, /* Mini PCIe */
<&{/padctl@0,7009f000/pads/usb2/lanes/usb2-2}>, /* USB3 */
<&{/padctl@0,7009f000/pads/pcie/lanes/pcie-0}>; /* USB3 */
phy-names = "usb2-0", "usb2-1", "usb2-2", "usb3-0";

avddio-pex-supply = <&vdd_1v05_run>;
dvddio-pex-supply = <&vdd_1v05_run>;
avdd-usb-supply = <&vdd_3v3_lp0>;
avdd-pll-utmip-supply = <&vddio_1v8>;
avdd-pll-erefe-supply = <&avdd_1v05_run>;
avdd-usb-ss-pll-supply = <&vdd_1v05_run>;
hvdd-usb-ss-supply = <&vdd_3v3_lp0>;
hvdd-usb-ss-pll-e-supply = <&vdd_3v3_lp0>;

status = "okay";
};

padctl@0,7009f000 {
pinctrl-0 = <&padctl_default>;
pinctrl-names = "default";
status = "okay";

padctl_default: pinmux {
usb3 {
nvidia,lanes = "pcie-0", "pcie-1";
nvidia,function = "usb3";
nvidia,iddq = <0>;
pads {
usb2 {
status = "okay";

lanes {
usb2-0 {
nvidia,function = "xusb";
status = "okay";
};

usb2-1 {
nvidia,function = "xusb";
status = "okay";
};

usb2-2 {
nvidia,function = "xusb";
status = "okay";
};
};
};

pcie {
nvidia,lanes = "pcie-2", "pcie-3",
"pcie-4";
nvidia,function = "pcie";
nvidia,iddq = <0>;
status = "okay";

lanes {
pcie-0 {
nvidia,function = "usb3-ss";
status = "okay";
};

pcie-2 {
nvidia,function = "pcie";
status = "okay";
};

pcie-4 {
nvidia,function = "pcie";
status = "okay";
};
};
};

sata {
nvidia,lanes = "sata-0";
nvidia,function = "sata";
nvidia,iddq = <0>;
status = "okay";

lanes {
sata-0 {
nvidia,function = "sata";
status = "okay";
};
};
};
};

ports {
/* Micro A/B */
usb2-0 {
status = "okay";
mode = "otg";
};

/* Mini PCIe */
usb2-1 {
status = "okay";
mode = "host";
};

/* USB3 */
usb2-2 {
status = "okay";
mode = "host";

vbus-supply = <&vdd_usb3_vbus>;
};

usb3-0 {
nvidia,usb2-companion = <2>;
status = "okay";
};
};
};
Expand Down
122 changes: 94 additions & 28 deletions arch/arm/boot/dts/tegra124-nyan.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@
regulator-always-on;
};

ldo0 {
avdd_1v05_run: ldo0 {
regulator-name = "+1.05V_RUN_AVDD";
regulator-min-microvolt = <1050000>;
regulator-max-microvolt = <1050000>;
Expand Down Expand Up @@ -364,6 +364,99 @@
status = "okay";
};

usb@0,70090000 {
phys = <&{/padctl@0,7009f000/pads/usb2/lanes/usb2-0}>, /* 1st USB A */
<&{/padctl@0,7009f000/pads/usb2/lanes/usb2-1}>, /* Internal USB */
<&{/padctl@0,7009f000/pads/usb2/lanes/usb2-2}>, /* 2nd USB A */
<&{/padctl@0,7009f000/pads/pcie/lanes/pcie-0}>, /* 1st USB A */
<&{/padctl@0,7009f000/pads/pcie/lanes/pcie-1}>; /* 2nd USB A */
phy-names = "usb2-0", "usb2-1", "usb2-2", "usb3-0", "usb3-1";

avddio-pex-supply = <&vdd_1v05_run>;
dvddio-pex-supply = <&vdd_1v05_run>;
avdd-usb-supply = <&vdd_3v3_lp0>;
avdd-pll-utmip-supply = <&vddio_1v8>;
avdd-pll-erefe-supply = <&avdd_1v05_run>;
avdd-usb-ss-pll-supply = <&vdd_1v05_run>;
hvdd-usb-ss-supply = <&vdd_3v3_lp0>;
hvdd-usb-ss-pll-e-supply = <&vdd_3v3_lp0>;

status = "okay";
};

padctl@0,7009f000 {
status = "okay";

pads {
usb2 {
status = "okay";

lanes {
usb2-0 {
nvidia,function = "xusb";
status = "okay";
};

usb2-1 {
nvidia,function = "xusb";
status = "okay";
};

usb2-2 {
nvidia,function = "xusb";
status = "okay";
};
};
};

pcie {
status = "okay";

lanes {
pcie-0 {
nvidia,function = "usb3-ss";
status = "okay";
};

pcie-1 {
nvidia,function = "usb3-ss";
status = "okay";
};
};
};
};

ports {
usb2-0 {
vbus-supply = <&vdd_usb1_vbus>;
status = "okay";
mode = "otg";
};

usb2-1 {
vbus-supply = <&vdd_run_cam>;
status = "okay";
mode = "host";
};

usb2-2 {
vbus-supply = <&vdd_usb3_vbus>;
status = "okay";
mode = "host";
};

usb3-0 {
nvidia,usb2-companion = <0>;
status = "okay";
};

usb3-1 {
nvidia,usb2-companion = <1>;
status = "okay";
};
};
};

sdhci0_pwrseq: sdhci0_pwrseq {
compatible = "mmc-pwrseq-simple";

Expand Down Expand Up @@ -410,33 +503,6 @@
};
};

usb@0,7d000000 { /* Rear external USB port. */
status = "okay";
};

usb-phy@0,7d000000 {
status = "okay";
vbus-supply = <&vdd_usb1_vbus>;
};

usb@0,7d004000 { /* Internal webcam. */
status = "okay";
};

usb-phy@0,7d004000 {
status = "okay";
vbus-supply = <&vdd_run_cam>;
};

usb@0,7d008000 { /* Left external USB port. */
status = "okay";
};

usb-phy@0,7d008000 {
status = "okay";
vbus-supply = <&vdd_usb3_vbus>;
};

backlight: backlight {
compatible = "pwm-backlight";

Expand Down
Loading

0 comments on commit 0683e59

Please sign in to comment.