comparison target-utils/include/romvars.h @ 0:e7502631a0f9

initial import from freecalypso-sw rev 1033:5ab737ac3ad7
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 11 Jun 2016 00:13:35 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:e7502631a0f9
1 /*
2 * Our loadagent will always be loaded into Calypso targets by the on-chip
3 * boot ROM operating in the UART download mode. The lowest IRAM address
4 * at which we can load our code is 0x800750; somewhat lower at 0x800518
5 * the boot ROM downloader has a few variables which may have been intended
6 * to be private to the boot ROM, but which are useful to us. For example,
7 * by looking at these variables, we can see which of the two UARTs was
8 * used to feed our code to the boot ROM, and use the same UART for
9 * subsequent communication - without building multiple versions of our
10 * loadagent or resorting to other ugliness.
11 *
12 * This header file defines the layout of the IRAM structure in question,
13 * based on the disassembly of the boot ROM.
14 */
15
16 #ifndef __ROMVARS_H
17 #define __ROMVARS_H
18
19 #include "types.h"
20
21 struct boot_rom_vars {
22 u8 baud_rate_code;
23 u8 pad1[3];
24 u32 uart_timeout;
25 u8 uart_id;
26 u8 pll_config;
27 u16 cs_ws_config;
28 u8 clktcxo_13mhz;
29 u8 rhea_cntl;
30 u16 chksum_cmd;
31 u16 chksum_accum;
32 u16 pad2;
33 u32 branch_addr;
34 };
35
36 #endif /* include guard */