7#ifndef _BOOT_STAGE2_CONFIG_H_
8#define _BOOT_STAGE2_CONFIG_H_
12#include "pico/config.h"
15#ifdef PICO_BUILD_BOOT_STAGE2_NAME
16 #define _BOOT_STAGE2_SELECTED
21#ifndef PICO_BOOT_STAGE2_CHOOSE_IS25LP080
22 #define PICO_BOOT_STAGE2_CHOOSE_IS25LP080 0
23#elif PICO_BOOT_STAGE2_CHOOSE_IS25LP080
24 #ifdef _BOOT_STAGE2_SELECTED
25 #error multiple boot stage 2 options chosen
27 #define _BOOT_STAGE2_SELECTED
30#ifndef PICO_BOOT_STAGE2_CHOOSE_W25Q080
31 #define PICO_BOOT_STAGE2_CHOOSE_W25Q080 0
32#elif PICO_BOOT_STAGE2_CHOOSE_W25Q080
33 #ifdef _BOOT_STAGE2_SELECTED
34 #error multiple boot stage 2 options chosen
36 #define _BOOT_STAGE2_SELECTED
39#ifndef PICO_BOOT_STAGE2_CHOOSE_W25X10CL
40 #define PICO_BOOT_STAGE2_CHOOSE_W25X10CL 0
41#elif PICO_BOOT_STAGE2_CHOOSE_W25X10CL
42 #ifdef _BOOT_STAGE2_SELECTED
43 #error multiple boot stage 2 options chosen
45 #define _BOOT_STAGE2_SELECTED
48#ifndef PICO_BOOT_STAGE2_CHOOSE_AT25SF128A
49 #define PICO_BOOT_STAGE2_CHOOSE_AT25SF128A 0
50#elif PICO_BOOT_STAGE2_CHOOSE_AT25SF128A
51 #ifdef _BOOT_STAGE2_SELECTED
52 #error multiple boot stage 2 options chosen
54 #define _BOOT_STAGE2_SELECTED
58#if defined(PICO_BOOT_STAGE2_CHOOSE_GENERIC_03H) && PICO_BOOT_STAGE2_CHOOSE_GENERIC_03H
59 #ifdef _BOOT_STAGE2_SELECTED
60 #error multiple boot stage 2 options chosen
62 #define _BOOT_STAGE2_SELECTED
67#ifdef PICO_BUILD_BOOT_STAGE2_NAME
69 #define PICO_BOOT_STAGE2_NAME PICO_BUILD_BOOT_STAGE2_NAME
72 #if PICO_BOOT_STAGE2_CHOOSE_IS25LP080
73 #define _BOOT_STAGE2 boot2_is25lp080
74 #elif PICO_BOOT_STAGE2_CHOOSE_W25Q080
75 #define _BOOT_STAGE2 boot2_w25q080
76 #elif PICO_BOOT_STAGE2_CHOOSE_W25X10CL
77 #define _BOOT_STAGE2 boot2_w25x10cl
78 #elif PICO_BOOT_STAGE2_CHOOSE_AT25SF128A
79 #define _BOOT_STAGE2 boot2_at25sf128a
80 #elif !defined(PICO_BOOT_STAGE2_CHOOSE_GENERIC_03H) || PICO_BOOT_STAGE2_CHOOSE_GENERIC_03H
81 #undef PICO_BOOT_STAGE2_CHOOSE_GENERIC_03H
82 #define PICO_BOOT_STAGE2_CHOOSE_GENERIC_03H 1
83 #define _BOOT_STAGE2 boot2_generic_03h
85 #error no boot stage 2 is defined by PICO_BOOT_STAGE2_CHOOSE_ macro
88 #define _PICO__STRING(x) #x
89 #define _PICO__XSTRING(x) _PICO__STRING(x)
90 #define _PICO__CONCAT1(x, y) x ## y
91 #define PICO_BOOT_STAGE2_NAME _PICO__XSTRING(_BOOT_STAGE2)
92 #define PICO_BOOT_STAGE2_ASM _PICO__XSTRING(_PICO__CONCAT1(_BOOT_STAGE2,.S))