18c2ecf20Sopenharmony_ci/*
28c2ecf20Sopenharmony_ci * include/asm-xtensa/bootparam.h
38c2ecf20Sopenharmony_ci *
48c2ecf20Sopenharmony_ci * Definition of the Linux/Xtensa boot parameter structure
58c2ecf20Sopenharmony_ci *
68c2ecf20Sopenharmony_ci * This file is subject to the terms and conditions of the GNU General Public
78c2ecf20Sopenharmony_ci * License.  See the file "COPYING" in the main directory of this archive
88c2ecf20Sopenharmony_ci * for more details.
98c2ecf20Sopenharmony_ci *
108c2ecf20Sopenharmony_ci * Copyright (C) 2001 - 2005  Tensilica Inc.
118c2ecf20Sopenharmony_ci *
128c2ecf20Sopenharmony_ci * (Concept borrowed from the 68K port)
138c2ecf20Sopenharmony_ci */
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci#ifndef _XTENSA_BOOTPARAM_H
168c2ecf20Sopenharmony_ci#define _XTENSA_BOOTPARAM_H
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ci#define BP_VERSION 0x0001
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci#define BP_TAG_COMMAND_LINE	0x1001	/* command line (0-terminated string)*/
218c2ecf20Sopenharmony_ci#define BP_TAG_INITRD		0x1002	/* ramdisk addr and size (bp_meminfo) */
228c2ecf20Sopenharmony_ci#define BP_TAG_MEMORY		0x1003	/* memory addr and size (bp_meminfo) */
238c2ecf20Sopenharmony_ci#define BP_TAG_SERIAL_BAUDRATE	0x1004	/* baud rate of current console. */
248c2ecf20Sopenharmony_ci#define BP_TAG_SERIAL_PORT	0x1005	/* serial device of current console */
258c2ecf20Sopenharmony_ci#define BP_TAG_FDT		0x1006	/* flat device tree addr */
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci#define BP_TAG_FIRST		0x7B0B  /* first tag with a version number */
288c2ecf20Sopenharmony_ci#define BP_TAG_LAST 		0x7E0B	/* last tag */
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci#ifndef __ASSEMBLY__
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci/* All records are aligned to 4 bytes */
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_citypedef struct bp_tag {
358c2ecf20Sopenharmony_ci	unsigned short id;	/* tag id */
368c2ecf20Sopenharmony_ci	unsigned short size;	/* size of this record excluding the structure*/
378c2ecf20Sopenharmony_ci	unsigned long data[0];	/* data */
388c2ecf20Sopenharmony_ci} bp_tag_t;
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_cistruct bp_meminfo {
418c2ecf20Sopenharmony_ci	unsigned long type;
428c2ecf20Sopenharmony_ci	unsigned long start;
438c2ecf20Sopenharmony_ci	unsigned long end;
448c2ecf20Sopenharmony_ci};
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci#define MEMORY_TYPE_CONVENTIONAL	0x1000
478c2ecf20Sopenharmony_ci#define MEMORY_TYPE_NONE		0x2000
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ci#endif
508c2ecf20Sopenharmony_ci#endif
51