Skip to content

Commit 0683e59

Browse files
committed
Merge tag 'tegra-for-4.7-xusb-no-defconfig' of git://git.kernel.org/pub/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
2 parents 43419b0 + 1333ce4 commit 0683e59

File tree

4 files changed

+456
-50
lines changed

4 files changed

+456
-50
lines changed

arch/arm/boot/dts/tegra124-jetson-tk1.dts

Lines changed: 102 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,17 @@
3030
vddio-pex-ctl-supply = <&vdd_3v3_lp0>;
3131
avdd-pll-erefe-supply = <&avdd_1v05_run>;
3232

33+
/* Mini PCIe */
3334
pci@1,0 {
35+
phys = <&{/padctl@0,7009f000/pads/pcie/lanes/pcie-4}>;
36+
phy-names = "pcie-0";
3437
status = "okay";
3538
};
3639

40+
/* Gigabit Ethernet */
3741
pci@2,0 {
42+
phys = <&{/padctl@0,7009f000/pads/pcie/lanes/pcie-2}>;
43+
phy-names = "pcie-0";
3844
status = "okay";
3945
};
4046
};
@@ -1647,6 +1653,9 @@
16471653
sata@0,70020000 {
16481654
status = "okay";
16491655

1656+
phys = <&{/padctl@0,7009f000/pads/sata/lanes/sata-0}>;
1657+
phy-names = "sata-0";
1658+
16501659
hvdd-supply = <&vdd_3v3_lp0>;
16511660
vddio-supply = <&vdd_1v05_run>;
16521661
avdd-supply = <&vdd_1v05_run>;
@@ -1659,28 +1668,107 @@
16591668
status = "okay";
16601669
};
16611670

1671+
usb@0,70090000 {
1672+
phys = <&{/padctl@0,7009f000/pads/usb2/lanes/usb2-0}>, /* Micro A/B */
1673+
<&{/padctl@0,7009f000/pads/usb2/lanes/usb2-1}>, /* Mini PCIe */
1674+
<&{/padctl@0,7009f000/pads/usb2/lanes/usb2-2}>, /* USB3 */
1675+
<&{/padctl@0,7009f000/pads/pcie/lanes/pcie-0}>; /* USB3 */
1676+
phy-names = "usb2-0", "usb2-1", "usb2-2", "usb3-0";
1677+
1678+
avddio-pex-supply = <&vdd_1v05_run>;
1679+
dvddio-pex-supply = <&vdd_1v05_run>;
1680+
avdd-usb-supply = <&vdd_3v3_lp0>;
1681+
avdd-pll-utmip-supply = <&vddio_1v8>;
1682+
avdd-pll-erefe-supply = <&avdd_1v05_run>;
1683+
avdd-usb-ss-pll-supply = <&vdd_1v05_run>;
1684+
hvdd-usb-ss-supply = <&vdd_3v3_lp0>;
1685+
hvdd-usb-ss-pll-e-supply = <&vdd_3v3_lp0>;
1686+
1687+
status = "okay";
1688+
};
1689+
16621690
padctl@0,7009f000 {
1663-
pinctrl-0 = <&padctl_default>;
1664-
pinctrl-names = "default";
1691+
status = "okay";
16651692

1666-
padctl_default: pinmux {
1667-
usb3 {
1668-
nvidia,lanes = "pcie-0", "pcie-1";
1669-
nvidia,function = "usb3";
1670-
nvidia,iddq = <0>;
1693+
pads {
1694+
usb2 {
1695+
status = "okay";
1696+
1697+
lanes {
1698+
usb2-0 {
1699+
nvidia,function = "xusb";
1700+
status = "okay";
1701+
};
1702+
1703+
usb2-1 {
1704+
nvidia,function = "xusb";
1705+
status = "okay";
1706+
};
1707+
1708+
usb2-2 {
1709+
nvidia,function = "xusb";
1710+
status = "okay";
1711+
};
1712+
};
16711713
};
16721714

16731715
pcie {
1674-
nvidia,lanes = "pcie-2", "pcie-3",
1675-
"pcie-4";
1676-
nvidia,function = "pcie";
1677-
nvidia,iddq = <0>;
1716+
status = "okay";
1717+
1718+
lanes {
1719+
pcie-0 {
1720+
nvidia,function = "usb3-ss";
1721+
status = "okay";
1722+
};
1723+
1724+
pcie-2 {
1725+
nvidia,function = "pcie";
1726+
status = "okay";
1727+
};
1728+
1729+
pcie-4 {
1730+
nvidia,function = "pcie";
1731+
status = "okay";
1732+
};
1733+
};
16781734
};
16791735

16801736
sata {
1681-
nvidia,lanes = "sata-0";
1682-
nvidia,function = "sata";
1683-
nvidia,iddq = <0>;
1737+
status = "okay";
1738+
1739+
lanes {
1740+
sata-0 {
1741+
nvidia,function = "sata";
1742+
status = "okay";
1743+
};
1744+
};
1745+
};
1746+
};
1747+
1748+
ports {
1749+
/* Micro A/B */
1750+
usb2-0 {
1751+
status = "okay";
1752+
mode = "otg";
1753+
};
1754+
1755+
/* Mini PCIe */
1756+
usb2-1 {
1757+
status = "okay";
1758+
mode = "host";
1759+
};
1760+
1761+
/* USB3 */
1762+
usb2-2 {
1763+
status = "okay";
1764+
mode = "host";
1765+
1766+
vbus-supply = <&vdd_usb3_vbus>;
1767+
};
1768+
1769+
usb3-0 {
1770+
nvidia,usb2-companion = <2>;
1771+
status = "okay";
16841772
};
16851773
};
16861774
};

arch/arm/boot/dts/tegra124-nyan.dtsi

Lines changed: 94 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@
220220
regulator-always-on;
221221
};
222222

223-
ldo0 {
223+
avdd_1v05_run: ldo0 {
224224
regulator-name = "+1.05V_RUN_AVDD";
225225
regulator-min-microvolt = <1050000>;
226226
regulator-max-microvolt = <1050000>;
@@ -364,6 +364,99 @@
364364
status = "okay";
365365
};
366366

367+
usb@0,70090000 {
368+
phys = <&{/padctl@0,7009f000/pads/usb2/lanes/usb2-0}>, /* 1st USB A */
369+
<&{/padctl@0,7009f000/pads/usb2/lanes/usb2-1}>, /* Internal USB */
370+
<&{/padctl@0,7009f000/pads/usb2/lanes/usb2-2}>, /* 2nd USB A */
371+
<&{/padctl@0,7009f000/pads/pcie/lanes/pcie-0}>, /* 1st USB A */
372+
<&{/padctl@0,7009f000/pads/pcie/lanes/pcie-1}>; /* 2nd USB A */
373+
phy-names = "usb2-0", "usb2-1", "usb2-2", "usb3-0", "usb3-1";
374+
375+
avddio-pex-supply = <&vdd_1v05_run>;
376+
dvddio-pex-supply = <&vdd_1v05_run>;
377+
avdd-usb-supply = <&vdd_3v3_lp0>;
378+
avdd-pll-utmip-supply = <&vddio_1v8>;
379+
avdd-pll-erefe-supply = <&avdd_1v05_run>;
380+
avdd-usb-ss-pll-supply = <&vdd_1v05_run>;
381+
hvdd-usb-ss-supply = <&vdd_3v3_lp0>;
382+
hvdd-usb-ss-pll-e-supply = <&vdd_3v3_lp0>;
383+
384+
status = "okay";
385+
};
386+
387+
padctl@0,7009f000 {
388+
status = "okay";
389+
390+
pads {
391+
usb2 {
392+
status = "okay";
393+
394+
lanes {
395+
usb2-0 {
396+
nvidia,function = "xusb";
397+
status = "okay";
398+
};
399+
400+
usb2-1 {
401+
nvidia,function = "xusb";
402+
status = "okay";
403+
};
404+
405+
usb2-2 {
406+
nvidia,function = "xusb";
407+
status = "okay";
408+
};
409+
};
410+
};
411+
412+
pcie {
413+
status = "okay";
414+
415+
lanes {
416+
pcie-0 {
417+
nvidia,function = "usb3-ss";
418+
status = "okay";
419+
};
420+
421+
pcie-1 {
422+
nvidia,function = "usb3-ss";
423+
status = "okay";
424+
};
425+
};
426+
};
427+
};
428+
429+
ports {
430+
usb2-0 {
431+
vbus-supply = <&vdd_usb1_vbus>;
432+
status = "okay";
433+
mode = "otg";
434+
};
435+
436+
usb2-1 {
437+
vbus-supply = <&vdd_run_cam>;
438+
status = "okay";
439+
mode = "host";
440+
};
441+
442+
usb2-2 {
443+
vbus-supply = <&vdd_usb3_vbus>;
444+
status = "okay";
445+
mode = "host";
446+
};
447+
448+
usb3-0 {
449+
nvidia,usb2-companion = <0>;
450+
status = "okay";
451+
};
452+
453+
usb3-1 {
454+
nvidia,usb2-companion = <1>;
455+
status = "okay";
456+
};
457+
};
458+
};
459+
367460
sdhci0_pwrseq: sdhci0_pwrseq {
368461
compatible = "mmc-pwrseq-simple";
369462

@@ -410,33 +503,6 @@
410503
};
411504
};
412505

413-
usb@0,7d000000 { /* Rear external USB port. */
414-
status = "okay";
415-
};
416-
417-
usb-phy@0,7d000000 {
418-
status = "okay";
419-
vbus-supply = <&vdd_usb1_vbus>;
420-
};
421-
422-
usb@0,7d004000 { /* Internal webcam. */
423-
status = "okay";
424-
};
425-
426-
usb-phy@0,7d004000 {
427-
status = "okay";
428-
vbus-supply = <&vdd_run_cam>;
429-
};
430-
431-
usb@0,7d008000 { /* Left external USB port. */
432-
status = "okay";
433-
};
434-
435-
usb-phy@0,7d008000 {
436-
status = "okay";
437-
vbus-supply = <&vdd_usb3_vbus>;
438-
};
439-
440506
backlight: backlight {
441507
compatible = "pwm-backlight";
442508

0 commit comments

Comments
 (0)