blob: b50547476cbd37e978f77e4716c835a56b724526 [file] [log] [blame]
Lukasz Majewski585a6962015-08-24 00:21:49 +02001menu "DFU support"
2
Marek Vasut0f44d332018-02-16 16:41:17 +01003config DFU
4 bool
Marek Vasutbb4059a2018-02-16 16:41:18 +01005 imply DFU_OVER_USB if USB_GADGET
Marek Vasut0f44d332018-02-16 16:41:17 +01006
Marek Vasutbb4059a2018-02-16 16:41:18 +01007config DFU_OVER_USB
Tom Rini6828e602016-09-19 13:31:30 -04008 bool
Maxime Ripard70c56c12018-01-16 09:44:13 +01009 select HASH
Marek Vasut0f44d332018-02-16 16:41:17 +010010 depends on USB_GADGET
Tom Rini6828e602016-09-19 13:31:30 -040011
Marek Vasutbb4059a2018-02-16 16:41:18 +010012config DFU_OVER_TFTP
Marek Vasut0f44d332018-02-16 16:41:17 +010013 bool
14 depends on NET
15
16if DFU
AKASHI Takahiro045fd8b2020-10-29 13:47:41 +090017config DFU_WRITE_ALT
18 bool
19 default n
20
Lukasz Majewski585a6962015-08-24 00:21:49 +020021config DFU_TFTP
22 bool "DFU via TFTP"
AKASHI Takahiro3149e522020-10-29 13:47:43 +090023 select UPDATE_COMMON
AKASHI Takahiroc32479d2020-11-17 09:27:16 +090024 select DFU_OVER_TFTP
Lukasz Majewski585a6962015-08-24 00:21:49 +020025 help
Robert P. J. Day1cc0a9f2016-05-04 04:47:31 -040026 This option allows performing update of DFU-managed medium with data
27 sent via TFTP boot.
Lukasz Majewski585a6962015-08-24 00:21:49 +020028
Robert P. J. Day1cc0a9f2016-05-04 04:47:31 -040029 Detailed description of this feature can be found at ./doc/README.dfutftp
Tom Rini6828e602016-09-19 13:31:30 -040030
Andy Shevchenko98a8f442019-11-27 18:12:15 +020031config 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
Tom Rini6828e602016-09-19 13:31:30 -040037config DFU_MMC
38 bool "MMC back end for DFU"
39 help
40 This option enables using DFU to read and write to MMC based storage.
41
42config DFU_NAND
43 bool "NAND back end for DFU"
Boris Brezillon96c29612018-11-13 12:43:10 +010044 depends on CMD_MTDPARTS
Miquel Raynalf3a02d22019-10-03 19:50:22 +020045 depends on MTD_RAW_NAND
Tom Rini6828e602016-09-19 13:31:30 -040046 help
47 This option enables using DFU to read and write to NAND based
48 storage.
49
Guillermo Rodríguez13cb7cc2019-12-16 16:27:57 +010050config DFU_NAND_TRIMFFS
51 bool "Skip empty pages when flashing UBI images to NAND"
52 depends on DFU_NAND
53 help
54 When flashing UBI images to NAND, enable the DROP_FFS flag to drop
55 trailing all-0xff pages.
56
Tom Rini6828e602016-09-19 13:31:30 -040057config DFU_RAM
58 bool "RAM back end for DFU"
59 help
60 This option enables using DFU to read and write RAM on the target.
61
62config DFU_SF
63 bool "SPI flash back end for DFU"
64 help
65 This option enables using DFU to read and write to SPI flash based
66 storage.
67
Patrick Delaunaycb986ba2019-10-14 09:28:00 +020068config DFU_SF_PART
69 bool "MTD partition support for SPI flash back end"
70 depends on DFU_SF && CMD_MTDPARTS
71 default y
72 help
73 This option enables the support of "part" and "partubi" target in
74 SPI flash DFU back end.
75
Patrick Delaunay6015af22019-10-14 09:28:04 +020076config DFU_MTD
77 bool "MTD back end for DFU"
Miquel Raynal1de770d2019-10-03 19:50:04 +020078 depends on DM_MTD
Heinrich Schuchardt40c79422020-07-21 20:06:31 +020079 depends on CMD_MTDPARTS
Patrick Delaunay6015af22019-10-14 09:28:04 +020080 help
81 This option enables using DFU to read and write to on any MTD device.
82
Patrick Delaunayec44cac2019-10-14 09:28:06 +020083config 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
Patrick Delaunay8cc28142020-02-26 10:28:41 +010090config 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.
Aswath Govindraju8e3ea2d2021-06-01 16:51:47 +053095
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.
Tom Rini6828e602016-09-19 13:31:30 -0400115endif
Lukasz Majewski585a6962015-08-24 00:21:49 +0200116endmenu