| // Copyright lowRISC contributors. |
| // Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| // SPDX-License-Identifier: Apache-2.0 |
| |
| #ifndef OPENTITAN_SW_DEVICE_BOOT_ROM_BOOTSTRAP_H_ |
| #define OPENTITAN_SW_DEVICE_BOOT_ROM_BOOTSTRAP_H_ |
| |
| /** |
| * A bootstrap error representing a flash erase failure. |
| */ |
| #define E_BS_ERASE 10 |
| /** |
| * A bootstrap error representing unexpectedly empty flash. |
| */ |
| #define E_BS_NOTEMPTY 11 |
| /** |
| * A bootstrap error representing a flash write error. |
| */ |
| #define E_BS_WRITE 12 |
| |
| /** |
| * Bootstrap Flash with payload received on SPI device. |
| * |
| * The payload is expected to be split into frames as defined in |
| * bootstrap_msgs.h. Frames are processed in consecutive number, with |
| * `frame_num` in frame_hdr_t expected to increase monotonically. |
| * |
| * The last frame must be ord with FRAME_EOF_MARKER to signal the end of |
| * payload transmission. |
| * |
| * @return Bootstrap status code. |
| */ |
| int bootstrap(void); |
| |
| #endif // OPENTITAN_SW_DEVICE_BOOT_ROM_BOOTSTRAP_H_ |