1menu "DFU support"
2
3config DFU
4	bool
5	imply DFU_OVER_USB if USB_GADGET
6
7config DFU_OVER_USB
8	bool
9	select HASH
10	depends on USB_GADGET
11
12config DFU_OVER_TFTP
13	bool
14	depends on NET
15
16if DFU
17config DFU_WRITE_ALT
18	bool
19
20config DFU_TFTP
21	bool "DFU via TFTP"
22	select UPDATE_COMMON
23	select DFU_OVER_TFTP
24	help
25	  This option allows performing update of DFU-managed medium with data
26	  sent via TFTP boot.
27
28	  Detailed description of this feature can be found at ./doc/README.dfutftp
29
30config DFU_TIMEOUT
31	bool "Timeout waiting for DFU"
32	help
33	  This option adds an optional timeout parameter for DFU which, if set,
34	  will cause DFU to only wait for that many seconds before exiting.
35
36config DFU_MMC
37	bool "MMC back end for DFU"
38	help
39	  This option enables using DFU to read and write to MMC based storage.
40
41config DFU_MTD
42	bool "MTD back end for DFU"
43	depends on DM_MTD
44	depends on CMD_MTDPARTS
45	help
46	  This option enables using DFU to read and write to on any MTD device.
47
48config DFU_NAND
49	bool "NAND back end for DFU"
50	depends on CMD_MTDPARTS
51	depends on MTD_RAW_NAND
52	help
53	  This option enables using DFU to read and write to NAND based
54	  storage.
55
56config DFU_NAND_TRIMFFS
57	bool "Skip empty pages when flashing UBI images to NAND"
58	depends on DFU_NAND
59	help
60	  When flashing UBI images to NAND, enable the DROP_FFS flag to drop
61	  trailing all-0xff pages.
62
63config DFU_RAM
64	bool "RAM back end for DFU"
65	help
66	  This option enables using DFU to read and write RAM on the target.
67
68config DFU_SF
69	bool "SPI flash back end for DFU"
70	help
71	  This option enables using DFU to read and write to SPI flash based
72	  storage.
73
74config DFU_SF_PART
75	bool "MTD partition support for SPI flash back end"
76	depends on DFU_SF && CMD_MTDPARTS
77	default y
78	help
79	  This option enables the support of "part" and "partubi" target in
80	  SPI flash DFU back end.
81
82config DFU_VIRT
83	bool "VIRTUAL flash back end for DFU"
84	help
85	  This option enables using DFU to read and write to VIRTUAL device
86	  used at board level to manage specific behavior
87	  (OTP update for example).
88
89config SET_DFU_ALT_INFO
90	bool "Dynamic set of DFU alternate information"
91	help
92	  This option allows to call the function set_dfu_alt_info to
93	  dynamically build dfu_alt_info in board.
94
95config SYS_DFU_DATA_BUF_SIZE
96	hex "Size of buffer to be allocated for transfer to raw storage device"
97	default 0x800000
98	help
99	  DFU transfer uses a buffer before writing data to the
100	  raw storage device. This value can be used for setting the
101	  size of this buffer. The size of the buffer is also configurable
102	  through the "dfu_bufsiz" environment variable. If both are
103	  given the size of the buffer is set to "dfu_bufsize".
104
105config SYS_DFU_MAX_FILE_SIZE
106	hex "Size of the buffer to be allocated for transferring files"
107	default SYS_DFU_DATA_BUF_SIZE
108	help
109	  When updating files rather than the raw storage device,
110	  we use a static buffer to copy the file into and then write
111	  the buffer once we've been given the whole file.  Define
112	  this to the maximum filesize (in bytes) for the buffer.
113	  If undefined it defaults to the CONFIG_SYS_DFU_DATA_BUF_SIZE.
114endif
115endmenu
116