1{
2    "name": "mcuboot",
3    "config": {
4        "bootloader-build": {
5            "help": "Build the bootloader, in addition to the MCUboot library.",
6            "macro_name": "MCUBOOT_BOOTLOADER_BUILD",
7            "accepted_values": [true, false],
8            "value": true
9        },
10        "primary-slot-address": {
11            "help": "Start address of the primary (bootable) image slot. Target-dependent, please set on a per-target basis.",
12            "macro_name": "MCUBOOT_PRIMARY_SLOT_START_ADDR",
13            "required": true
14        },
15        "slot-size": {
16            "help": "Size of the primary (bootable) image slot, in bytes. Target-dependent, please set on a per-target basis.",
17            "macro_name": "MCUBOOT_SLOT_SIZE",
18            "required": true
19        },
20        "header-size": {
21            "help": "Size of the header info section, in bytes. Target-dependent, please set on a per-target basis.",
22            "macro_name": "MCUBOOT_HEADER_SIZE",
23            "value": "0x1000"
24        },
25        "scratch-address": {
26            "help": "Start address of the scratch area. If needed, please set on a per-target basis.",
27            "macro_name": "MCUBOOT_SCRATCH_START_ADDR"
28        },
29        "scratch-size": {
30            "help": "Size of the scratch area, in bytes. If needed, please set on a per-target basis.",
31            "macro_name": "MCUBOOT_SCRATCH_SIZE"
32        },
33        "validate-primary-slot": {
34            "help": "Always check the signature of the image in the primary slot before booting, even if no upgrade was performed. This is recommended if the boot time penalty is acceptable.",
35            "macro_name": "MCUBOOT_VALIDATE_PRIMARY_SLOT",
36            "accepted_values": [true, null],
37            "value": true
38        },
39        "signature-algorithm": {
40            "help": "The algorithm used for digital signing.",
41            "macro_name": "MCUBOOT_SIGNATURE_ALGORITHM",
42            "required": true,
43            "accepted_values": ["SIGNATURE_TYPE_RSA", "SIGNATURE_TYPE_EC256", "SIGNATURE_TYPE_ED25519", "SIGNATURE_TYPE_NONE"],
44            "value": "SIGNATURE_TYPE_RSA"
45        },
46        "rsa-signature-length": {
47            "help": "If RSA is used for signature algorithm, this specifies the length.",
48            "macro_name": "MCUBOOT_RSA_SIGNATURE_LENGTH",
49            "required": true,
50            "accepted_values": [2048, 3072],
51            "value": 2048
52        },
53        "crypto-backend": {
54            "help": "The crypto library backend. NOTE: TinyCrypt is currently only supported with GCC for Mbed-OS builds.",
55            "macro_name": "MCUBOOT_CRYPTO_BACKEND",
56            "required": true,
57            "accepted_values": ["MBEDTLS", "TINYCRYPT"],
58            "value": "MBEDTLS"
59        },
60        "overwrite-only": {
61            "help": "The default is to support A/B image swapping with rollback. A simpler code path, which only supports overwriting the existing image with the update image, is also available. (null to disable)",
62            "macro_name": "MCUBOOT_OVERWRITE_ONLY",
63            "accepted_values": [true, null],
64            "value": null
65        },
66        "overwrite-only-fast": {
67            "help": "Only erase and overwrite those primary slot sectors needed to install the new image, rather than the entire image slot.",
68            "macro_name": "MCUBOOT_OVERWRITE_ONLY_FAST",
69            "accepted_values": [true, null],
70            "value": null
71        },
72        "log-enable": {
73            "help": "Enable MCUboot logging. Must also enable mbed-trace",
74            "macro_name": "MCUBOOT_HAVE_LOGGING",
75            "accepted_values": [true, null],
76            "value": null
77        },
78        "log-level": {
79            "help": "Verbosity of MCUboot logging.",
80            "macro_name": "MCUBOOT_LOG_LEVEL",
81            "accepted_values": ["MCUBOOT_LOG_LEVEL_OFF", "MCUBOOT_LOG_LEVEL_ERROR", "MCUBOOT_LOG_LEVEL_WARN", "MCUBOOT_LOG_LEVEL_INFO", "MCUBOOT_LOG_LEVEL_DEBUG"],
82            "value": "MCUBOOT_LOG_LEVEL_OFF"
83        },
84        "log-bootloader-only": {
85            "help": "Exclude non-bootloader logs from Mbed OS (e.g. underlying storage).",
86            "macro_name": "MCUBOOT_LOG_BOOTLOADER_ONLY",
87            "accepted_values": [true, false],
88            "value": true
89        },
90        "max-img-sectors": {
91            "help": "Maximum number of flash sectors per image slot. Target-dependent, please set on a per-target basis.",
92            "macro_name": "MCUBOOT_MAX_IMG_SECTORS",
93            "required": true
94        },
95        "read-granularity": {
96            "help": "Granularity of read operations, in bytes. Enables a workaround if your block device does not support reading a single byte at a time. If this is used, it should be at least the value of your specific <blockdevice>->get_read_size() result.",
97            "macro_name": "MCUBOOT_READ_GRANULARITY",
98            "value": null
99        },
100        "hardware-key": {
101            "help": "Use hardware key (NOT TESTED)",
102            "macro_name": "MCUBOOT_HW_KEY",
103            "accepted_values": [true, null],
104            "value": null
105        },
106        "boot-swap-move": {
107            "help": "Boot swap using move (NOT TESTED)",
108            "macro_name": "MCUBOOT_SWAP_USING_MOVE",
109            "accepted_values": [true, null],
110            "value": null
111        },
112        "updateable-image-number": {
113            "help": "Updateable image number (NOT TESTED)",
114            "macro_name": "MCUBOOT_IMAGE_NUMBER"
115        },
116        "MCUBOOT_SWAP_SAVE_ENCTLV": {
117            "help": "Swap save enctlv (NOT TESTED)",
118            "macro_name": "MCUBOOT_IMAGE_NUMBER",
119            "value": null
120        },
121        "encrypt-rsa": {
122            "help": "Encrypt images using RSA (NOT TESTED)",
123            "macro_name": "MCUBOOT_ENCRYPT_RSA",
124            "accepted_values": [true, null],
125            "value": null
126        },
127        "encrypt-ec256": {
128            "help": "Encrypt images using EC256 (NOT TESTED)",
129            "macro_name": "MCUBOOT_ENCRYPT_EC256",
130            "accepted_values": [true, null],
131            "value": null
132        },
133        "encrypt-x25519": {
134            "help": "Encrypt images using X25519 (NOT TESTED)",
135            "macro_name":  "MCUBOOT_ENCRYPT_X25519",
136            "accepted_values": [true, null],
137            "value": null
138        },
139        "bootstrap": {
140            "help": "Bootstrap (NOT TESTED)",
141            "macro_name": "MCUBOOT_BOOTSTRAP",
142            "value": null
143        },
144        "use-bench": {
145            "help": "Use bench (NOT TESTED)",
146            "macro_name": "MCUBOOT_USE_BENCH",
147            "value": null
148        },
149        "downgrade-prevention": {
150            "help": "Prevent downgrades (NOT TESTED)",
151            "macro_name": "MCUBOOT_DOWNGRADE_PREVENTION",
152            "value": null
153        },
154        "hw-rollback-protection": {
155            "help": "Hardware rollback protection (NOT TESTED)",
156            "macro_name": "MCUBOOT_HW_ROLLBACK_PROT",
157            "value": null
158        },
159        "measured-boot": {
160            "help": "Measured boot (NOT TESTED)",
161            "macro_name": "MCUBOOT_MEASURED_BOOT",
162            "value": null
163        },
164        "share-data": {
165            "help": "Share data (NOT TESTED)",
166            "macro_name": "MCUBOOT_DATA_SHARING",
167            "value": null
168        },
169        "share-data-base-address": {
170            "help": "Start of reserved RAM region for data shared between bootloader and application",
171            "macro_name": "MCUBOOT_SHARED_DATA_BASE",
172            "value": null
173        },
174        "share-data-size": {
175            "help": "Size of reserved RAM region for data shared between bootloader and application",
176            "macro_name": "MCUBOOT_SHARED_DATA_SIZE",
177            "value": null
178        },
179        "direct-xip": {
180            "help": "Enable ability to boot update candidates in-place.",
181            "macro_name": "MCUBOOT_DIRECT_XIP",
182            "value": null
183        },
184        "direct-xip-revert": {
185            "help": "Enable XIP revert mechanism. Only valid if direct-xip is also enabled.",
186            "macro_name": "MCUBOOT_DIRECT_XIP_REVERT",
187            "value": null
188        },
189        "xip-secondary-slot-address": {
190            "help": "Specify start address for secondary slot address in XIP-accessible memory. This is required if direct-xip is enabled.",
191            "value": null
192        }
193    }
194}
195