static int usb_init(void) { int ret = 0; struct device *usb_dev; struct device *hub_dev; hub_dev = device_open(DEVICE_TYPE_HSIC_DEVICE, 1); if (!hub_dev) { printf("Error: can't open USB3813 device\n"); return -ENODEV; } device_hsic_hold_reset(hub_dev); usb_dev = device_open(DEVICE_TYPE_USB_PCD, 0); if (!usb_dev) { printf("Error: can't open USB device\n"); device_close(hub_dev); return -ENODEV; } device_hsic_release_reset(hub_dev); device_close(hub_dev); usbdev_apbinitialize(usb_dev, &usb_driver); return ret; }
int bridge_main(int argc, char *argv[]) { int i; tsb_gpio_register(); #ifdef CONFIG_BOARD_HAVE_DISPLAY display_init(); #endif svc_register(recv_from_svc); usbdev_apbinitialize(&usb_driver); #ifdef CONFIG_EXAMPLES_NSH printf("Calling NSH\n"); return nsh_main(argc, argv); #else return 0; #endif }