annotate target-utils/include/romvars.h @ 1015:9ced8e13cf91

fc-shell tch-dl command implementation: brown paper bag
author Mychaela Falconia <falcon@ivan.Harhan.ORG>
date Sun, 20 Mar 2016 23:07:46 +0000
parents 40f607bb0a2c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
9beb566ded04 starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1 /*
9beb566ded04 starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
2 * Our loadagent will always be loaded into Calypso targets by the on-chip
9beb566ded04 starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
3 * boot ROM operating in the UART download mode. The lowest IRAM address
9beb566ded04 starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
4 * at which we can load our code is 0x800750; somewhat lower at 0x800518
9beb566ded04 starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
5 * the boot ROM downloader has a few variables which may have been intended
9beb566ded04 starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
6 * to be private to the boot ROM, but which are useful to us. For example,
9beb566ded04 starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
7 * by looking at these variables, we can see which of the two UARTs was
9beb566ded04 starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
8 * used to feed our code to the boot ROM, and use the same UART for
9beb566ded04 starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
9 * subsequent communication - without building multiple versions of our
9beb566ded04 starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
10 * loadagent or resorting to other ugliness.
9beb566ded04 starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
11 *
9beb566ded04 starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
12 * This header file defines the layout of the IRAM structure in question,
9beb566ded04 starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
13 * based on the disassembly of the boot ROM.
9beb566ded04 starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
14 */
9beb566ded04 starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
15
1
da98dc08f575 loadagent: beginning to lay the foundation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 0
diff changeset
16 #ifndef __ROMVARS_H
da98dc08f575 loadagent: beginning to lay the foundation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 0
diff changeset
17 #define __ROMVARS_H
da98dc08f575 loadagent: beginning to lay the foundation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 0
diff changeset
18
da98dc08f575 loadagent: beginning to lay the foundation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 0
diff changeset
19 #include "types.h"
da98dc08f575 loadagent: beginning to lay the foundation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 0
diff changeset
20
0
9beb566ded04 starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
21 struct boot_rom_vars {
9beb566ded04 starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
22 u8 baud_rate_code;
9beb566ded04 starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
23 u8 pad1[3];
9beb566ded04 starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
24 u32 uart_timeout;
9beb566ded04 starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
25 u8 uart_id;
9beb566ded04 starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
26 u8 pll_config;
9beb566ded04 starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
27 u16 cs_ws_config;
9beb566ded04 starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
28 u8 clktcxo_13mhz;
9beb566ded04 starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
29 u8 rhea_cntl;
9beb566ded04 starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
30 u16 chksum_cmd;
9beb566ded04 starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
31 u16 chksum_accum;
9beb566ded04 starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
32 u16 pad2;
9beb566ded04 starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
33 u32 branch_addr;
9beb566ded04 starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
34 };
1
da98dc08f575 loadagent: beginning to lay the foundation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 0
diff changeset
35
da98dc08f575 loadagent: beginning to lay the foundation
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 0
diff changeset
36 #endif /* include guard */