diff --git a/src/target/rp.c b/src/target/rp.c index df87cf6..c735373 100644 --- a/src/target/rp.c +++ b/src/target/rp.c @@ -55,6 +55,7 @@ #define QSPI_CTRL_ADDR 0x4001800cU #define BOOTROM_FUNC_TABLE_ADDR 0x00000014U +#define BOOTROM_FUNC_TABLE_TAG(x, y) ((uint8_t)(x) | ((uint8_t)(y) << 8U)) #define FLASHSIZE_4K_SECTOR (4U * 1024U) #define FLASHSIZE_32K_BLOCK (32U * 1024U) #define FLASHSIZE_64K_BLOCK (64U * 1024U) @@ -189,31 +190,31 @@ static bool rp_fill_table(struct rp_priv_s *priv, uint16_t *table, int max) check++; max -= 2; switch (tag) { - case ('D' | ('T' << 8)): + case BOOTROM_FUNC_TABLE_TAG('D', 'T'): priv->rom_debug_trampoline_begin = data; break; - case ('D' | ('E' << 8)): + case BOOTROM_FUNC_TABLE_TAG('D', 'E'): priv->rom_debug_trampoline_end = data; break; - case ('I' | ('F' << 8)): + case BOOTROM_FUNC_TABLE_TAG('I', 'F'): priv->rom_connect_internal_flash = data; break; - case ('C' | ('X' << 8)): + case BOOTROM_FUNC_TABLE_TAG('C', 'X'): priv->rom_flash_enter_xip = data; break; - case ('E' | ('X' << 8)): + case BOOTROM_FUNC_TABLE_TAG('E', 'X'): priv->rom_flash_exit_xip = data; break; - case ('R' | ('E' << 8)): + case BOOTROM_FUNC_TABLE_TAG('R', 'E'): priv->rom_flash_range_erase = data; break; - case ('R' | ('P' << 8)): + case BOOTROM_FUNC_TABLE_TAG('R', 'P'): priv->rom_flash_range_program = data; break; - case ('F' | ('C' << 8)): + case BOOTROM_FUNC_TABLE_TAG('F', 'C'): priv->rom_flash_flush_cache = data; break; - case ('U' | ('B' << 8)): + case BOOTROM_FUNC_TABLE_TAG('U', 'B'): priv->rom_reset_usb_boot = data; break; default: