[Mod] Linux USB Gadget 支持WinUSB免驱

[详细说明]
1. 新增 调试宏:CONFIG_GAOYANG;
2. 开启 调试宏:DEBUG,打印USB控制器寄存器信息
This commit is contained in:
gaoyang3513
2024-12-24 22:24:15 +08:00
parent 5721f88ac8
commit 12dbf26ada
3 changed files with 9 additions and 2 deletions

View File

@ -25,7 +25,7 @@ sleep 0.5
set_gpio ${usb_select} 0 set_gpio ${usb_select} 0
sleep 0.5 sleep 0.5
/etc/uhubon.sh device >> /tmp/ncm.log 2>&1 /etc/uhubon.sh device >> /tmp/ncm.log 2>&1
/etc/run_usb.sh probe ncm >> /tmp/ncm.log 2>&1 /etc/run_usb.sh probe ncm >> /tmp/ncm.log 2>&1
/etc/run_usb.sh start ncm >> /tmp/ncm.log 2>&1 /etc/run_usb.sh start ncm >> /tmp/ncm.log 2>&1

View File

@ -66,3 +66,5 @@ obj-$(CONFIG_USBIP_CORE) += usbip/
obj-$(CONFIG_TYPEC) += typec/ obj-$(CONFIG_TYPEC) += typec/
obj-$(CONFIG_USB_ROLE_SWITCH) += roles/ obj-$(CONFIG_USB_ROLE_SWITCH) += roles/
subdir-ccflags-y += -DDEBUG -DCONFIG_GAOYANG

View File

@ -1685,7 +1685,7 @@ composite_setup(struct usb_gadget *gadget, const struct usb_ctrlrequest *ctrl)
if (gadget->lpm_capable) if (gadget->lpm_capable)
cdev->desc.bcdUSB = cpu_to_le16(0x0201); cdev->desc.bcdUSB = cpu_to_le16(0x0201);
else else
cdev->desc.bcdUSB = cpu_to_le16(0x0200); cdev->desc.bcdUSB = cpu_to_le16(0x0201);
} }
value = min(w_length, (u16) sizeof cdev->desc); value = min(w_length, (u16) sizeof cdev->desc);
@ -1716,11 +1716,16 @@ composite_setup(struct usb_gadget *gadget, const struct usb_ctrlrequest *ctrl)
value = min(w_length, (u16) value); value = min(w_length, (u16) value);
break; break;
case USB_DT_BOS: case USB_DT_BOS:
#if !defined (CONFIG_GAOYANG)
if (gadget_is_superspeed(gadget) || if (gadget_is_superspeed(gadget) ||
gadget->lpm_capable) { gadget->lpm_capable) {
value = bos_desc(cdev); value = bos_desc(cdev);
value = min(w_length, (u16) value); value = min(w_length, (u16) value);
} }
#else
value = bos_desc(cdev);
value = min(w_length, (u16) value);
#endif // defined (CONFIG_GAOYANG)
break; break;
case USB_DT_OTG: case USB_DT_OTG:
if (gadget_is_otg(gadget)) { if (gadget_is_otg(gadget)) {