aboutsummaryrefslogtreecommitdiffstats
path: root/lib/pico-sdk/boot/picoboot_constants.h
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2024-10-25 21:54:31 -0400
committerKevin O'Connor <kevin@koconnor.net>2024-11-14 11:17:52 -0500
commit64ba37c02e3bfa290321713aa4e5a082993ff65e (patch)
tree6d6cd17ed24fdc4703c64a7f2bcfbf288244f1d2 /lib/pico-sdk/boot/picoboot_constants.h
parent06bb49f135ccedcebf7aa01896cba13f0d5d1145 (diff)
downloadkutter-64ba37c02e3bfa290321713aa4e5a082993ff65e.tar.gz
kutter-64ba37c02e3bfa290321713aa4e5a082993ff65e.tar.xz
kutter-64ba37c02e3bfa290321713aa4e5a082993ff65e.zip
lib: Update rp2040_flash to upstream picotool.git v2.0.0
This is in preparation for adding rp2350 flash support. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'lib/pico-sdk/boot/picoboot_constants.h')
-rw-r--r--lib/pico-sdk/boot/picoboot_constants.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/lib/pico-sdk/boot/picoboot_constants.h b/lib/pico-sdk/boot/picoboot_constants.h
new file mode 100644
index 00000000..ac78ea21
--- /dev/null
+++ b/lib/pico-sdk/boot/picoboot_constants.h
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2020 Raspberry Pi (Trading) Ltd.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#ifndef _BOOT_PICOBOOT_CONSTANTS_H
+#define _BOOT_PICOBOOT_CONSTANTS_H
+
+#define REBOOT2_TYPE_MASK 0x0f
+
+// note these match REBOOT_TYPE in pico/bootrom_constants.h (also 0 is used for PC_SP for backwards compatibility with RP2040)
+// values 0-7 are secure/non-secure
+#define REBOOT2_FLAG_REBOOT_TYPE_NORMAL 0x0 // param0 = diagnostic partition
+#define REBOOT2_FLAG_REBOOT_TYPE_BOOTSEL 0x2 // param0 = bootsel_flags, param1 = gpio_config
+#define REBOOT2_FLAG_REBOOT_TYPE_RAM_IMAGE 0x3 // param0 = image_base, param1 = image_end
+#define REBOOT2_FLAG_REBOOT_TYPE_FLASH_UPDATE 0x4 // param0 = update_base
+
+// values 8-15 are secure only
+#define REBOOT2_FLAG_REBOOT_TYPE_PC_SP 0xd
+
+#define REBOOT2_FLAG_REBOOT_TO_ARM 0x10
+#define REBOOT2_FLAG_REBOOT_TO_RISCV 0x20
+
+#define REBOOT2_FLAG_NO_RETURN_ON_SUCCESS 0x100
+
+#define BOOTSEL_FLAG_DISABLE_MSD_INTERFACE 0x01
+#define BOOTSEL_FLAG_DISABLE_PICOBOOT_INTERFACE 0x02
+#define BOOTSEL_FLAG_GPIO_PIN_ACTIVE_LOW 0x10
+#define BOOTSEL_FLAG_GPIO_PIN_SPECIFIED 0x20
+
+#define PICOBOOT_GET_INFO_SYS 1
+#define PICOBOOT_GET_INFO_PARTTION_TABLE 2
+#define PICOBOOT_GET_INFO_UF2_TARGET_PARTITION 3
+#define PICOBOOT_GET_INFO_UF2_STATUS 4
+
+#define UF2_STATUS_IGNORED_FAMILY 0x01
+#define UF2_STATUS_ABORT_EXCLUSIVELY_LOCKED 0x10
+#define UF2_STATUS_ABORT_BAD_ADDRESS 0x20
+#define UF2_STATUS_ABORT_WRITE_ERROR 0x40
+#define UF2_STATUS_ABORT_REBOOT_FAILED 0x80
+#endif \ No newline at end of file