Blame view
cmd/rockusb.c
1.47 KB
83d290c56 SPDX: Convert all... |
1 |
// SPDX-License-Identifier: GPL-2.0+ |
453c95e01 usb: rockchip: ad... |
2 3 |
/* * Copyright (C) 2017 Eddie Cai <eddie.cai.linux@gmail.com> |
453c95e01 usb: rockchip: ad... |
4 5 6 7 8 9 10 |
*/ #include <common.h> #include <command.h> #include <console.h> #include <g_dnl.h> #include <usb.h> |
15f09a1a8 rockchip: use 'ar... |
11 |
#include <asm/arch-rockchip/f_rockusb.h> |
453c95e01 usb: rockchip: ad... |
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
static int do_rockusb(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[]) { int controller_index, dev_index; char *usb_controller; char *devtype; char *devnum; int ret; if (argc < 2) return CMD_RET_USAGE; usb_controller = argv[1]; controller_index = simple_strtoul(usb_controller, NULL, 0); if (argc >= 4) { devtype = argv[2]; devnum = argv[3]; } else { return CMD_RET_USAGE; } dev_index = simple_strtoul(devnum, NULL, 0); rockusb_dev_init(devtype, dev_index); |
a06955ae1 usb: gadget: Do n... |
35 |
ret = usb_gadget_initialize(controller_index); |
453c95e01 usb: rockchip: ad... |
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
if (ret) { printf("USB init failed: %d ", ret); return CMD_RET_FAILURE; } g_dnl_clear_detach(); ret = g_dnl_register("usb_dnl_rockusb"); if (ret) return CMD_RET_FAILURE; if (!g_dnl_board_usb_cable_connected()) { puts("\rUSB cable not detected, Command exit. "); ret = CMD_RET_FAILURE; goto exit; } while (1) { if (g_dnl_detach()) break; if (ctrlc()) break; usb_gadget_handle_interrupts(controller_index); } ret = CMD_RET_SUCCESS; exit: g_dnl_unregister(); g_dnl_clear_detach(); |
a06955ae1 usb: gadget: Do n... |
66 |
usb_gadget_release(controller_index); |
453c95e01 usb: rockchip: ad... |
67 68 69 70 71 72 73 74 75 |
return ret; } U_BOOT_CMD(rockusb, 4, 1, do_rockusb, "use the rockusb protocol", "<USB_controller> <devtype> <dev[:part]> e.g. rockusb 0 mmc 0 " ); |