summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/arm64/boot/dts/ti/k3-am69-aquila-dev.dts63
-rw-r--r--arch/arm64/boot/dts/ti/k3-am69-aquila.dtsi59
2 files changed, 121 insertions, 1 deletions
diff --git a/arch/arm64/boot/dts/ti/k3-am69-aquila-dev.dts b/arch/arm64/boot/dts/ti/k3-am69-aquila-dev.dts
index e3d638a5d56f..5be89fb50e50 100644
--- a/arch/arm64/boot/dts/ti/k3-am69-aquila-dev.dts
+++ b/arch/arm64/boot/dts/ti/k3-am69-aquila-dev.dts
@@ -162,6 +162,45 @@
reg = <0x4f>;
};
+ /* USB-C OTG (TCPC USB PD PHY) */
+ ptn5110@52 {
+ compatible = "nxp,ptn5110", "tcpci";
+ reg = <0x52>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_usb1_int>;
+ interrupt-parent = <&main_gpio0>;
+ interrupts = <28 IRQ_TYPE_EDGE_FALLING>;
+
+ connector {
+ compatible = "usb-c-connector";
+ data-role = "dual";
+ label = "USB-C OTG";
+ power-role = "source";
+ source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ usb_1_con_hs: endpoint {
+ remote-endpoint = <&usb0_hs>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ usb_1_con_ss: endpoint {
+ remote-endpoint = <&usb0_ss_mux>;
+ };
+ };
+ };
+ };
+ };
+
/* EEPROM */
eeprom@57 {
compatible = "st,24c02", "atmel,24c02";
@@ -220,6 +259,30 @@
status = "okay";
};
+&usbss0 {
+ status = "okay";
+};
+
+&usb0ss_mux {
+ status = "okay";
+
+ port {
+ usb0_ss_mux: endpoint {
+ remote-endpoint = <&usb_1_con_ss>;
+ };
+ };
+};
+
+&usb0 {
+ status = "okay";
+
+ port {
+ usb0_hs: endpoint {
+ remote-endpoint = <&usb_1_con_hs>;
+ };
+ };
+};
+
&wkup_gpio0 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_wkup_gpio23>,
diff --git a/arch/arm64/boot/dts/ti/k3-am69-aquila.dtsi b/arch/arm64/boot/dts/ti/k3-am69-aquila.dtsi
index b46e2b58f0a9..f1400cbd3e6b 100644
--- a/arch/arm64/boot/dts/ti/k3-am69-aquila.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-am69-aquila.dtsi
@@ -10,6 +10,7 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/net/ti-dp83867.h>
+#include <dt-bindings/usb/pd.h>
#include "k3-j784s4.dtsi"
/ {
@@ -38,6 +39,7 @@
serial1 = &wkup_uart0;
serial2 = &main_uart8;
serial3 = &mcu_uart0;
+ usb0 = &usb0;
};
aquila_key_power: gpio-key-power {
@@ -339,6 +341,15 @@
states = <1800000 0x0>,
<3300000 0x1>;
};
+
+ /* On-module USB_1_SS mux */
+ usb0ss_mux: gpio-sbu-mux {
+ compatible = "ti,tmuxhs4212", "gpio-sbu-mux";
+ /* USB_MUX_SEL */
+ select-gpios = <&som_gpio_expander 0 GPIO_ACTIVE_HIGH>;
+ orientation-switch;
+ status = "disabled";
+ };
};
&main_pmx0 {
@@ -509,6 +520,13 @@
>;
};
+ /* Aquila USB_1_EN */
+ pinctrl_main_usb0ss: main-usb0ss-default-pins {
+ pinctrl-single,pins = <
+ J784S4_IOPAD(0x02c, PIN_INPUT, 14) /* (AL32) GPIO0_11.USB0_DRVVBUS */ /* AQUILA B77 */
+ >;
+ };
+
/* PMIC_INT# */
pinctrl_pmic_int: main-gpio0-0-default-pins {
pinctrl-single,pins = <
@@ -516,6 +534,20 @@
>;
};
+ /* Aquila USB_1_OC# */
+ pinctrl_usb1_oc: main-gpio0-10-default-pins {
+ pinctrl-single,pins = <
+ J784S4_IOPAD(0x028, PIN_INPUT, 7) /* (AE33) MCAN16_RX.GPIO0_10 */ /* AQUILA B75 */
+ >;
+ };
+
+ /* Aquila USB_1_INT# */
+ pinctrl_usb1_int: main-gpio0-28-default-pins {
+ pinctrl-single,pins = <
+ J784S4_IOPAD(0x070, PIN_INPUT, 7) /* (AH38) MCAN1_RX.GPIO0_28 */ /* AQUILA B74 */
+ >;
+ };
+
/* Aquila SD_1_CD# as GPIO */
pinctrl_sd1_cd_gpio: main-gpio0-58-default-pins {
pinctrl-single,pins = <
@@ -1289,7 +1321,13 @@
status = "disabled";
};
-/* TODO: On-module PCIE (pcie2_ep) to USB-bridge TUSB7320 */
+/* On-module PCIe USB Bridge */
+&pcie2_ep {
+ num-lanes = <1>;
+ phys = <&serdes1_pcie2_1l_link>;
+ phy-names = "pcie-phy";
+ status = "okay";
+};
/* PCIE for On-module Wi-Fi */
&pcie3_ep {
@@ -1403,6 +1441,25 @@
};
};
+&usb0 {
+ phys = <&serdes0_usb0_ss_link>;
+ phy-names = "cdns3,usb3-phy";
+ dr_mode = "otg";
+ maximum-speed = "super-speed";
+ status = "disabled";
+};
+
+&usb_serdes_mux {
+ idle-states = <0>; /* USB0 to SERDES lane 3 */
+};
+
+&usbss0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_main_usb0ss>;
+ ti,vbus-divider;
+ status = "disabled";
+};
+
&wkup_gpio0 {
gpio-line-names =
"", /* 0 */