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