1367b8112SChris Zankel /*
2367b8112SChris Zankel  * include/asm-xtensa/bootparam.h
3367b8112SChris Zankel  *
4367b8112SChris Zankel  * Definition of the Linux/Xtensa boot parameter structure
5367b8112SChris Zankel  *
6367b8112SChris Zankel  * This file is subject to the terms and conditions of the GNU General Public
7367b8112SChris Zankel  * License.  See the file "COPYING" in the main directory of this archive
8367b8112SChris Zankel  * for more details.
9367b8112SChris Zankel  *
10367b8112SChris Zankel  * Copyright (C) 2001 - 2005  Tensilica Inc.
11367b8112SChris Zankel  *
12367b8112SChris Zankel  * (Concept borrowed from the 68K port)
13367b8112SChris Zankel  */
14367b8112SChris Zankel 
15367b8112SChris Zankel #ifndef _XTENSA_BOOTPARAM_H
16367b8112SChris Zankel #define _XTENSA_BOOTPARAM_H
17367b8112SChris Zankel 
18367b8112SChris Zankel #define BP_VERSION 0x0001
19367b8112SChris Zankel 
20367b8112SChris Zankel #define BP_TAG_COMMAND_LINE	0x1001	/* command line (0-terminated string)*/
21367b8112SChris Zankel #define BP_TAG_INITRD		0x1002	/* ramdisk addr and size (bp_meminfo) */
22367b8112SChris Zankel #define BP_TAG_MEMORY		0x1003	/* memory addr and size (bp_meminfo) */
23661b40b0SBaruch Siach #define BP_TAG_SERIAL_BAUDRATE	0x1004	/* baud rate of current console. */
24367b8112SChris Zankel #define BP_TAG_SERIAL_PORT	0x1005	/* serial device of current console */
25da844a81SMax Filippov #define BP_TAG_FDT		0x1006	/* flat device tree addr */
26367b8112SChris Zankel 
27367b8112SChris Zankel #define BP_TAG_FIRST		0x7B0B  /* first tag with a version number */
28367b8112SChris Zankel #define BP_TAG_LAST 		0x7E0B	/* last tag */
29367b8112SChris Zankel 
30367b8112SChris Zankel #ifndef __ASSEMBLY__
31367b8112SChris Zankel 
32367b8112SChris Zankel /* All records are aligned to 4 bytes */
33367b8112SChris Zankel 
34367b8112SChris Zankel typedef struct bp_tag {
35367b8112SChris Zankel 	unsigned short id;	/* tag id */
36367b8112SChris Zankel 	unsigned short size;	/* size of this record excluding the structure*/
37*5224f790SGustavo A. R. Silva 	unsigned long data[];	/* data */
38367b8112SChris Zankel } bp_tag_t;
39367b8112SChris Zankel 
409ba067f9SMax Filippov struct bp_meminfo {
41367b8112SChris Zankel 	unsigned long type;
42367b8112SChris Zankel 	unsigned long start;
43367b8112SChris Zankel 	unsigned long end;
449ba067f9SMax Filippov };
45367b8112SChris Zankel 
46367b8112SChris Zankel #define MEMORY_TYPE_CONVENTIONAL	0x1000
47367b8112SChris Zankel #define MEMORY_TYPE_NONE		0x2000
48367b8112SChris Zankel 
49367b8112SChris Zankel #endif
50367b8112SChris Zankel #endif
51