rock960c usb3.0 type-a接口dts設(shè)備樹設(shè)置記錄
首先,我的rock960c應(yīng)該是仿制的,所以電路和原版有區(qū)別,其中一個(gè)usb3.0接口供電需要單獨(dú)引腳開啟。官方linux rock960c設(shè)備樹中并沒有相關(guān)電源開啟引腳設(shè)置。所以需要手動調(diào)整。下面是記錄:
//主要修改的文件就是rk3399-rock960.dts、rk3399-rock960.dtsi、rk3399.dtsi
//在適當(dāng)位置添加下面的節(jié)點(diǎn)
usb {
otg_vbus_drv: otg-vbus-drv {
rockchip,pins =
<1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
};
};//這個(gè)是新建的,linux源碼里面沒有,可能我的rock960c是防制版本,電路設(shè)計(jì)有區(qū)別吧
vcc5v0_otg: vcc5v0-otg-regulator {
compatible = "regulator-fixed";
enable-active-high;
pinctrl-names = "default";
pinctrl-0 = <&otg_vbus_drv>;
gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>;//重要
regulator-name = "vcc5v0_otg";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-always-on;
vin-supply = <&vcc5v0_sys>;
};//這個(gè)是新建的,linux源碼里面沒有,可能我的rock960c是防制版本,電路設(shè)計(jì)有區(qū)別吧
//上面兩個(gè)節(jié)點(diǎn)需要添加到同一個(gè)文件里面,不然編譯會說找不到xxxx
//由于設(shè)備樹是有覆蓋屬性的,所以下面兩個(gè)可以直接添加到rk3399-rock960.dts里面
&u2phy0_otg {
vbus-supply = <&vcc5v0_otg>;
status = "okay";
};
&usbdrd_dwc3_0 {
dr_mode = "host";//重要
status = "okay";
};