mirror of
https://github.com/andreili/katapult.git
synced 2025-08-23 19:34:06 +02:00
Synchronize with the latest Klipper code. This pulls in the latest lib/ files (needed to use the pico-sdk v2.0.0 version). It updates to latest can2040 code (needed for pico-sdk v2.0.0 support). It implements USB double buffering (as is now done in Klipper). It adds in support for additional UART pins (as is now done in Klipper). It adds support for rp2350 chips. This replaces the execute in ram code previously implemented in Katapult with the execute in ram code that is now standard in Klipper. The CONFIG_RP2040_ADD_BOOT_SIGNATURE kconfig symbol was removed and the build now always produces a katapult.withclear.uf2 file. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
42 lines
1.6 KiB
C
42 lines
1.6 KiB
C
/*
|
|
* 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 |