rock960c usb3.0 type-a接口dts设备树设置记录
首先,我的rock960c应该是仿制的,所以电路和原版有区别,其中一个usb3.0接口供电需要单独引脚开启。官方linux rock960c设备树中并没有相关电源开启引脚设置。所以需要手动调整。下面是记录:
//主要修改的文件就是rk3399-rock960.dts、rk3399-rock960.dtsi、rk3399.dtsi
//在适当位置添加下面的节点
usb {
otg_vbus_drv: otg-vbus-drv {
rockchip,pins =
<1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
};
};//这个是新建的,linux源码里面没有,可能我的rock960c是防制版本,电路设计有区别吧
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>;
};//这个是新建的,linux源码里面没有,可能我的rock960c是防制版本,电路设计有区别吧
//上面两个节点需要添加到同一个文件里面,不然编译会说找不到xxxx
//由于设备树是有覆盖属性的,所以下面两个可以直接添加到rk3399-rock960.dts里面
&u2phy0_otg {
vbus-supply = <&vcc5v0_otg>;
status = "okay";
};
&usbdrd_dwc3_0 {
dr_mode = "host";//重要
status = "okay";
};