Browse Source

f_thor: Dont perform reset at the end of thor

Dont perform reset at the end of thor download
if configured to do reset off.
Reset may not be required in all cases and hence
provided an option to do so.

The case would be to download the images to DDR instead
of flash device.

Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Siva Durga Prasad Paladugu 10 years ago
parent
commit
41d237de6a
2 changed files with 10 additions and 0 deletions
  1. 7 0
      drivers/usb/gadget/f_thor.c
  2. 3 0
      drivers/usb/gadget/f_thor.h

+ 7 - 0
drivers/usb/gadget/f_thor.c

@@ -123,6 +123,9 @@ static int process_rqt_cmd(const struct rqt_box *rqt)
 		send_rsp(rsp);
 		g_dnl_unregister();
 		dfu_free_entities();
+#ifdef CONFIG_THOR_RESET_OFF
+		return RESET_DONE;
+#endif
 		run_command("reset", 0);
 		break;
 	case RQT_CMD_POWEROFF:
@@ -728,6 +731,10 @@ int thor_handle(void)
 
 		if (ret > 0) {
 			ret = process_data();
+#ifdef CONFIG_THOR_RESET_OFF
+			if (ret == RESET_DONE)
+				break;
+#endif
 			if (ret < 0)
 				return ret;
 		} else {

+ 3 - 0
drivers/usb/gadget/f_thor.h

@@ -121,4 +121,7 @@ struct f_thor {
 #define F_NAME_BUF_SIZE 32
 #define THOR_PACKET_SIZE SZ_1M      /* 1 MiB */
 #define THOR_STORE_UNIT_SIZE SZ_32M /* 32 MiB */
+#ifdef CONFIG_THOR_RESET_OFF
+#define RESET_DONE 0xFFFFFFFF
+#endif
 #endif /* _USB_THOR_H_ */