162306a36Sopenharmony_ci/*
262306a36Sopenharmony_ci * include/asm-xtensa/bootparam.h
362306a36Sopenharmony_ci *
462306a36Sopenharmony_ci * Definition of the Linux/Xtensa boot parameter structure
562306a36Sopenharmony_ci *
662306a36Sopenharmony_ci * This file is subject to the terms and conditions of the GNU General Public
762306a36Sopenharmony_ci * License.  See the file "COPYING" in the main directory of this archive
862306a36Sopenharmony_ci * for more details.
962306a36Sopenharmony_ci *
1062306a36Sopenharmony_ci * Copyright (C) 2001 - 2005  Tensilica Inc.
1162306a36Sopenharmony_ci *
1262306a36Sopenharmony_ci * (Concept borrowed from the 68K port)
1362306a36Sopenharmony_ci */
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci#ifndef _XTENSA_BOOTPARAM_H
1662306a36Sopenharmony_ci#define _XTENSA_BOOTPARAM_H
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci#define BP_VERSION 0x0001
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci#define BP_TAG_COMMAND_LINE	0x1001	/* command line (0-terminated string)*/
2162306a36Sopenharmony_ci#define BP_TAG_INITRD		0x1002	/* ramdisk addr and size (bp_meminfo) */
2262306a36Sopenharmony_ci#define BP_TAG_MEMORY		0x1003	/* memory addr and size (bp_meminfo) */
2362306a36Sopenharmony_ci#define BP_TAG_SERIAL_BAUDRATE	0x1004	/* baud rate of current console. */
2462306a36Sopenharmony_ci#define BP_TAG_SERIAL_PORT	0x1005	/* serial device of current console */
2562306a36Sopenharmony_ci#define BP_TAG_FDT		0x1006	/* flat device tree addr */
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci#define BP_TAG_FIRST		0x7B0B  /* first tag with a version number */
2862306a36Sopenharmony_ci#define BP_TAG_LAST 		0x7E0B	/* last tag */
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci#ifndef __ASSEMBLY__
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci/* All records are aligned to 4 bytes */
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_citypedef struct bp_tag {
3562306a36Sopenharmony_ci	unsigned short id;	/* tag id */
3662306a36Sopenharmony_ci	unsigned short size;	/* size of this record excluding the structure*/
3762306a36Sopenharmony_ci	unsigned long data[];	/* data */
3862306a36Sopenharmony_ci} bp_tag_t;
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_cistruct bp_meminfo {
4162306a36Sopenharmony_ci	unsigned long type;
4262306a36Sopenharmony_ci	unsigned long start;
4362306a36Sopenharmony_ci	unsigned long end;
4462306a36Sopenharmony_ci};
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci#define MEMORY_TYPE_CONVENTIONAL	0x1000
4762306a36Sopenharmony_ci#define MEMORY_TYPE_NONE		0x2000
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci#endif
5062306a36Sopenharmony_ci#endif
51