arm64: tegra: Add USB Type-C controller for Jetson AGX Xavier
authorJon Hunter <jonathanh@nvidia.com>
Tue, 20 Feb 2024 12:17:14 +0000 (12:17 +0000)
committerThierry Reding <treding@nvidia.com>
Fri, 23 Feb 2024 17:20:02 +0000 (18:20 +0100)
Populate the Cypress USB Type-C controller for Tegra194 Jetson AGX
Xavier board.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
arch/arm64/boot/dts/nvidia/tegra194-p2972-0000.dts

index 63d6cca542f7b712b7ee7c9efd92f4738b321f6d..c32876699a43e9f57b3888c5bc0f5da73c5b95b5 100644 (file)
 
                        ports {
                                usb2-0 {
-                                       mode = "host";
+                                       mode = "otg";
+                                       usb-role-switch;
                                        status = "okay";
+
+                                       port {
+                                               hs_typec_p0: endpoint {
+                                                       remote-endpoint = <&hs_ucsi_ccg_p0>;
+                                               };
+                                       };
                                };
 
                                usb2-1 {
                        phy-names = "usb2-0", "usb2-1", "usb2-3", "usb3-0", "usb3-2", "usb3-3";
                };
 
+               i2c@c240000 {
+                       typec@8 {
+                               compatible = "cypress,cypd4226";
+                               reg = <0x08>;
+                               interrupt-parent = <&gpio_aon>;
+                               interrupts = <TEGRA194_AON_GPIO(BB, 2) IRQ_TYPE_LEVEL_LOW>;
+                               firmware-name = "nvidia,jetson-agx-xavier";
+                               status = "okay";
+
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               ccg_typec_con0: connector@0 {
+                                       compatible = "usb-c-connector";
+                                       reg = <0>;
+                                       label = "USB-C";
+                                       data-role = "dual";
+
+                                       ports {
+                                               #address-cells = <1>;
+                                               #size-cells = <0>;
+
+                                               port@0 {
+                                                       reg = <0>;
+
+                                                       hs_ucsi_ccg_p0: endpoint {
+                                                               remote-endpoint = <&hs_typec_p0>;
+                                                       };
+                                               };
+                                       };
+                               };
+                       };
+               };
+
                i2c@c250000 {
                        status = "okay";