天天看點

使用NVIDIA TX2配置USB3.0 OTG模式前言一、更改裝置樹檔案(device_tree.dtb)二、使用步驟總結

提示:文章寫完後,目錄可以自動生成,如何生成可參考右邊的幫助文檔

文章目錄

  • 前言
  • 一、更改裝置樹檔案(device_tree.dtb)
  • 二、使用步驟
    • 1.找到dtb檔案位置
    • 2.反編譯dtb![請添加圖檔描述](https://img-blog.csdnimg.cn/b4de00c530824e35ad331f2888aa9499.png)
    • 3.修改裝置樹檔案dts
    • 4.再次編譯裝置樹檔案dtb
    • 5.重新開機reboot生效
  • 總結

前言

提示:這裡可以添加本文要記錄的大概内容:

使用NVIDIA TX2 配置 其他的模式。

提示:以下是本篇文章正文内容,下面案例可供參考

一、更改裝置樹檔案(device_tree.dtb)

裝置樹檔案device_tree是用于描述闆級硬體的檔案,其中dtb檔案可用作加載系統硬體裝置,而dts是其源檔案,在使用時,必須将dts檔案編譯成為dtb檔案後才能加載進系統,在修改時,先将dtb檔案反編譯成為dts檔案,在相應配置處作修改後,再編譯成為dtb檔案後替換至原檔案後reboot生效。

二、使用步驟

1.找到dtb檔案位置

代碼如下(示例):

使用NVIDIA TX2配置USB3.0 OTG模式前言一、更改裝置樹檔案(device_tree.dtb)二、使用步驟總結
使用NVIDIA TX2配置USB3.0 OTG模式前言一、更改裝置樹檔案(device_tree.dtb)二、使用步驟總結

2.反編譯dtb
使用NVIDIA TX2配置USB3.0 OTG模式前言一、更改裝置樹檔案(device_tree.dtb)二、使用步驟總結

反編譯出來後的aa.dts檔案就是目前裝置樹檔案。

3.修改裝置樹檔案dts

主要修改xudc目錄下的配置
[email protected] {
	compatible = "nvidia,tegra186-xudc";
	reg = <0x0 0x3550000 0x0 0x8000 0x0 0x3558000 0x0 0x1000>;
	interrupts = <0x0 0xa6 0x4>;
	iommus = <0x11 0x1c>;
	iommu_sodev_map;
	status = "okay";
	charger-detector = <0xb4>;
	otg-controller = <0xb0>;
	clocks = <0x10 0xf3 0x10 0x72 0x10 0xf2 0x10 0xf5>;
	nvidia,xusb-padctl = <0xa4>;
	extcon-cables = <0xa5 0x0>;
	extcon-cable-names = "vbus";
	#extcon-cells = <0x1>;
	avdd-usb-supply = <0x13>;
	phys = <0xa3>;
	phy-names = "usb2";
	nvidia,boost-cpu-freq = <0x4b0>;
	linux,phandle = <0x1d8>;
	phandle = <0x1d8>;
};
           

改為

phys = <0xa3 0xb3>;

phy-names = “usb2”,“usb3”;

還有這裡

ports {

usb2-0 {
			status = "okay";
			mode = "otg";
			vbus-supply = <0xad>;
			nvidia,oc-pin = <0x0>;
		};

		usb2-1 {
			status = "okay";
			mode = "host";
			vbus-supply = <0xae>;
			nvidia,oc-pin = <0x1>;
		};

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

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

}

改為

ports {

usb2-0 {
			status = "okay";
			mode = "host";
			vbus-supply = <0xad>;
			nvidia,oc-pin = <0x0>;
		};

		usb2-1 {
			status = "okay";
			mode = "otg";
			vbus-supply = <0xae>;
			nvidia,oc-pin = <0x1>;
		};

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

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

}

usb3.0對應着usb2.1那個口

4.再次編譯裝置樹檔案dtb

使用NVIDIA TX2配置USB3.0 OTG模式前言一、更改裝置樹檔案(device_tree.dtb)二、使用步驟總結

5.重新開機reboot生效

使用NVIDIA TX2配置USB3.0 OTG模式前言一、更改裝置樹檔案(device_tree.dtb)二、使用步驟總結

檢視dmesg配置成功

總結

以上就是将TX2 usb3.0 接口配置為OTG模式的流程,希望對各位開發者有幫助。
           

繼續閱讀