您尚未登录。

楼主 # 2023-02-24 16:29:33

colin
会员
注册时间: 2023-02-13
已发帖子: 10
积分: 10

求助:全志 A10 芯片在主线 u-boot 中是否可以使用 ums 命令?

在设备树里启用了 usb otg:

&otg_sram {
	status = "okay";
};

&usb_otg {
	dr_mode = "otg";
	status = "okay";
};

&reg_usb0_vbus {
	status = "okay";
};

&reg_usb1_vbus {
	gpio = <&pio 7 7 GPIO_ACTIVE_HIGH>;
	status = "okay";
};

&reg_usb2_vbus {
	status = "disabled";
};

&usbphy {
	usb0_id_det-gpios = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */
	usb0_vbus_det-gpios = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */
	usb0_vbus-supply = <&reg_usb0_vbus>;
	usb1_vbus-supply = <&reg_usb1_vbus>;
	usb2_vbus-supply = <&reg_usb2_vbus>;
	status = "okay";
};

u-boot 使用最新主线版本,启用了 CONFIG_CMD_USB_MASS_STORAGE, USB_FUNCTION_MASS_STORAGE, USB_GADGET, USB_GADGET_DOWNLOAD

进入 u-boot 交互命令行后,使用 dm tree 可以看到已经有了相关驱动了:

 usb           0  [   ]   sunxi-musb            |   |-- usb@1c13000

但是没有 probed,不知道是不是这里的问题,然后运行 ums 0 mmc 1 报以下错误:

Controller uninitialized
g_dnl_register: failed!, error: -6
g_dnl_register failed

离线

楼主 #1 2023-03-31 00:34:44

colin
会员
注册时间: 2023-02-13
已发帖子: 10
积分: 10

Re: 求助:全志 A10 芯片在主线 u-boot 中是否可以使用 ums 命令?

暂时打这个 patch 解决了,也不知道这样做对不对。

diff --git a/board/sunxi/board.c b/board/sunxi/board.c
index 827e545032..22c84f0e56 100644
--- a/board/sunxi/board.c
+++ b/board/sunxi/board.c
@@ -673,6 +673,25 @@ void sunxi_board_init(void)
 #endif /* CONFIG_SPL_BUILD */
 
 #ifdef CONFIG_USB_GADGET
+#include <usb.h>
+#include <dm/device-internal.h>
+int board_usb_init(int index, enum usb_init_type init)
+{
+       struct udevice *dev;
+       int ret;
+       ret = uclass_get_device(UCLASS_USB_GADGET_GENERIC, index, &dev);
+       return ret;
+}
+int board_usb_cleanup(int index, enum usb_init_type init)
+{
+       struct udevice *dev;
+       int ret;
+       ret = uclass_get_device(UCLASS_USB_GADGET_GENERIC, index, &dev);
+       if (!ret) {
+               device_remove(dev, DM_REMOVE_NORMAL);
+       }
+       return 0;
+}
 int g_dnl_board_usb_cable_connected(void)
 {
        struct udevice *dev;

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn