FreeCalypso > hg > freecalypso-sw
diff target-utils/include/romvars.h @ 11:40f607bb0a2c
target-utils refactored
author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
---|---|
date | Wed, 01 May 2013 07:39:35 +0000 |
parents | loadagent/romvars.h@da98dc08f575 |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/target-utils/include/romvars.h Wed May 01 07:39:35 2013 +0000 @@ -0,0 +1,36 @@ +/* + * Our loadagent will always be loaded into Calypso targets by the on-chip + * boot ROM operating in the UART download mode. The lowest IRAM address + * at which we can load our code is 0x800750; somewhat lower at 0x800518 + * the boot ROM downloader has a few variables which may have been intended + * to be private to the boot ROM, but which are useful to us. For example, + * by looking at these variables, we can see which of the two UARTs was + * used to feed our code to the boot ROM, and use the same UART for + * subsequent communication - without building multiple versions of our + * loadagent or resorting to other ugliness. + * + * This header file defines the layout of the IRAM structure in question, + * based on the disassembly of the boot ROM. + */ + +#ifndef __ROMVARS_H +#define __ROMVARS_H + +#include "types.h" + +struct boot_rom_vars { + u8 baud_rate_code; + u8 pad1[3]; + u32 uart_timeout; + u8 uart_id; + u8 pll_config; + u16 cs_ws_config; + u8 clktcxo_13mhz; + u8 rhea_cntl; + u16 chksum_cmd; + u16 chksum_accum; + u16 pad2; + u32 branch_addr; +}; + +#endif /* include guard */