@@ -71,23 +71,6 @@ void __attribute__((noreturn)) rom_reset_usb_boot_extra(int usb_activity_gpio_pi
7171}
7272
7373#if !PICO_RP2040
74-
75-
76- // Generated from adding the following code into the bootrom
77- // scan_workarea_t* scan_workarea = (scan_workarea_t*)workarea;
78- // printf("VERSION_DOWNGRADE_ERASE_ADDR %08x\n", &(always->zero_init.version_downgrade_erase_flash_addr));
79- // printf("TBYB_FLAG_ADDR %08x\n", &(always->zero_init.tbyb_flag_flash_addr));
80- // printf("IMAGE_DEF_VERIFIED %08x\n", (uint32_t)&(scan_workarea->parsed_block_loops[0].image_def.core.verified) - (uint32_t)scan_workarea);
81- // printf("IMAGE_DEF_TBYB_FLAGGED %08x\n", (uint32_t)&(scan_workarea->parsed_block_loops[0].image_def.core.tbyb_flagged) - (uint32_t)scan_workarea);
82- // printf("IMAGE_DEF_BASE %08x\n", (uint32_t)&(scan_workarea->parsed_block_loops[0].image_def.core.enclosing_window.base) - (uint32_t)scan_workarea);
83- // printf("IMAGE_DEF_REL_BLOCK_OFFSET %08x\n", (uint32_t)&(scan_workarea->parsed_block_loops[0].image_def.core.window_rel_block_offset) - (uint32_t)scan_workarea);
84- #define VERSION_DOWNGRADE_ERASE_ADDR *(uint32_t*)0x400e0338
85- #define TBYB_FLAG_ADDR *(uint32_t*)0x400e0348
86- #define IMAGE_DEF_VERIFIED (scan_workarea ) *(uint32_t*)(0x64 + (uint32_t)scan_workarea)
87- #define IMAGE_DEF_TBYB_FLAGGED (scan_workarea ) *(bool*)(0x4c + (uint32_t)scan_workarea)
88- #define IMAGE_DEF_BASE (scan_workarea ) *(uint32_t*)(0x54 + (uint32_t)scan_workarea)
89- #define IMAGE_DEF_REL_BLOCK_OFFSET (scan_workarea ) *(uint32_t*)(0x5c + (uint32_t)scan_workarea)
90-
9174bool rom_get_boot_random (uint32_t out [4 ]) {
9275 uint32_t result [5 ];
9376 rom_get_sys_info_fn func = (rom_get_sys_info_fn ) rom_func_lookup_inline (ROM_FUNC_GET_SYS_INFO );
@@ -130,6 +113,33 @@ int rom_add_flash_runtime_partition(uint32_t start_offset, uint32_t size, uint32
130113}
131114
132115int rom_pick_ab_update_partition (uint32_t * workarea_base , uint32_t workarea_size , uint partition_a_num ) {
116+ #if PICO_RP2350
117+ // Generated from adding the following code into the bootrom
118+ // scan_workarea_t* scan_workarea = (scan_workarea_t*)workarea;
119+ // printf("VERSION_DOWNGRADE_ERASE_ADDR %08x\n", &(always->zero_init.version_downgrade_erase_flash_addr));
120+ // printf("TBYB_FLAG_ADDR %08x\n", &(always->zero_init.tbyb_flag_flash_addr));
121+ // printf("IMAGE_DEF_VERIFIED %08x\n", (uint32_t)&(scan_workarea->parsed_block_loops[0].image_def.core.verified) - (uint32_t)scan_workarea);
122+ // printf("IMAGE_DEF_TBYB_FLAGGED %08x\n", (uint32_t)&(scan_workarea->parsed_block_loops[0].image_def.core.tbyb_flagged) - (uint32_t)scan_workarea);
123+ // printf("IMAGE_DEF_BASE %08x\n", (uint32_t)&(scan_workarea->parsed_block_loops[0].image_def.core.enclosing_window.base) - (uint32_t)scan_workarea);
124+ // printf("IMAGE_DEF_REL_BLOCK_OFFSET %08x\n", (uint32_t)&(scan_workarea->parsed_block_loops[0].image_def.core.window_rel_block_offset) - (uint32_t)scan_workarea);
125+ #define VERSION_DOWNGRADE_ERASE_ADDR *(uint32_t*)0x400e0338
126+ #define TBYB_FLAG_ADDR *(uint32_t*)0x400e0348
127+ #define IMAGE_DEF_VERIFIED (scan_workarea ) *(uint32_t*)(0x64 + (uint32_t)scan_workarea)
128+ #define IMAGE_DEF_TBYB_FLAGGED (scan_workarea ) *(bool*)(0x4c + (uint32_t)scan_workarea)
129+ #define IMAGE_DEF_BASE (scan_workarea ) *(uint32_t*)(0x54 + (uint32_t)scan_workarea)
130+ #define IMAGE_DEF_REL_BLOCK_OFFSET (scan_workarea ) *(uint32_t*)(0x5c + (uint32_t)scan_workarea)
131+ #else
132+ // Prevent linting errors
133+ #define VERSION_DOWNGRADE_ERASE_ADDR *(uint32_t*)NULL
134+ #define TBYB_FLAG_ADDR *(uint32_t*)NULL
135+ #define IMAGE_DEF_VERIFIED (scan_workarea ) *(uint32_t*)(NULL + (uint32_t)scan_workarea)
136+ #define IMAGE_DEF_TBYB_FLAGGED (scan_workarea ) *(bool*)(NULL + (uint32_t)scan_workarea)
137+ #define IMAGE_DEF_BASE (scan_workarea ) *(uint32_t*)(NULL + (uint32_t)scan_workarea)
138+ #define IMAGE_DEF_REL_BLOCK_OFFSET (scan_workarea ) *(uint32_t*)(NULL + (uint32_t)scan_workarea)
139+
140+ panic_unsupported ();
141+ #endif
142+
133143 uint32_t flash_update_base = 0 ;
134144 bool tbyb_boot = false;
135145 uint32_t saved_erase_addr = 0 ;
0 commit comments