Home | History | Annotate | Download | only in asm-mips
      1 /*
      2  * This file is subject to the terms and conditions of the GNU General Public
      3  * License.  See the file COPYING in the main directory of this archive
      4  * for more details.
      5  *
      6  * Copyright (C) 1995, 1996, 2003 by Ralf Baechle
      7  * Copyright (C) 1995, 1996 Andreas Busse
      8  * Copyright (C) 1995, 1996 Stoned Elipot
      9  * Copyright (C) 1995, 1996 Paul M. Antoine.
     10  */
     11 #ifndef _ASM_BOOTINFO_H
     12 #define _ASM_BOOTINFO_H
     13 
     14 #include <linux/types.h>
     15 #include <asm/setup.h>
     16 
     17 /*
     18  * The MACH_ IDs are sort of equivalent to PCI product IDs.  As such the
     19  * numbers do not necessarily reflect technical relations or similarities
     20  * between systems.
     21  */
     22 
     23 /*
     24  * Valid machtype values for group unknown
     25  */
     26 #define  MACH_UNKNOWN		0	/* whatever...			*/
     27 
     28 /*
     29  * Valid machtype for group DEC
     30  */
     31 #define  MACH_DSUNKNOWN		0
     32 #define  MACH_DS23100		1	/* DECstation 2100 or 3100	*/
     33 #define  MACH_DS5100		2	/* DECsystem 5100		*/
     34 #define  MACH_DS5000_200	3	/* DECstation 5000/200		*/
     35 #define  MACH_DS5000_1XX	4	/* DECstation 5000/120, 125, 133, 150 */
     36 #define  MACH_DS5000_XX		5	/* DECstation 5000/20, 25, 33, 50 */
     37 #define  MACH_DS5000_2X0	6	/* DECstation 5000/240, 260	*/
     38 #define  MACH_DS5400		7	/* DECsystem 5400		*/
     39 #define  MACH_DS5500		8	/* DECsystem 5500		*/
     40 #define  MACH_DS5800		9	/* DECsystem 5800		*/
     41 #define  MACH_DS5900		10	/* DECsystem 5900		*/
     42 
     43 /*
     44  * Valid machtype for group PMC-MSP
     45  */
     46 #define MACH_MSP4200_EVAL       0	/* PMC-Sierra MSP4200 Evaluation */
     47 #define MACH_MSP4200_GW         1	/* PMC-Sierra MSP4200 Gateway demo */
     48 #define MACH_MSP4200_FPGA       2	/* PMC-Sierra MSP4200 Emulation */
     49 #define MACH_MSP7120_EVAL       3	/* PMC-Sierra MSP7120 Evaluation */
     50 #define MACH_MSP7120_GW         4	/* PMC-Sierra MSP7120 Residential GW */
     51 #define MACH_MSP7120_FPGA       5	/* PMC-Sierra MSP7120 Emulation */
     52 #define MACH_MSP_OTHER        255	/* PMC-Sierra unknown board type */
     53 
     54 /*
     55  * Valid machtype for group Mikrotik
     56  */
     57 #define	MACH_MIKROTIK_RB532	0	/* Mikrotik RouterBoard 532 	*/
     58 #define MACH_MIKROTIK_RB532A	1	/* Mikrotik RouterBoard 532A 	*/
     59 
     60 #define CL_SIZE			COMMAND_LINE_SIZE
     61 
     62 extern char *system_type;
     63 const char *get_system_type(void);
     64 
     65 extern unsigned long mips_machtype;
     66 
     67 #define BOOT_MEM_MAP_MAX	32
     68 #define BOOT_MEM_RAM		1
     69 #define BOOT_MEM_ROM_DATA	2
     70 #define BOOT_MEM_RESERVED	3
     71 
     72 /*
     73  * A memory map that's built upon what was determined
     74  * or specified on the command line.
     75  */
     76 struct boot_mem_map {
     77 	int nr_map;
     78 	struct boot_mem_map_entry {
     79 		phys_t addr;	/* start of memory segment */
     80 		phys_t size;	/* size of memory segment */
     81 		long type;		/* type of memory segment */
     82 	} map[BOOT_MEM_MAP_MAX];
     83 };
     84 
     85 extern struct boot_mem_map boot_mem_map;
     86 
     87 extern void add_memory_region(phys_t start, phys_t size, long type);
     88 
     89 extern void prom_init(void);
     90 extern void prom_free_prom_memory(void);
     91 
     92 extern void free_init_pages(const char *what,
     93 			    unsigned long begin, unsigned long end);
     94 
     95 /*
     96  * Initial kernel command line, usually setup by prom_init()
     97  */
     98 extern char arcs_cmdline[CL_SIZE];
     99 
    100 /*
    101  * Registers a0, a1, a3 and a4 as passed to the kernel entry by firmware
    102  */
    103 extern unsigned long fw_arg0, fw_arg1, fw_arg2, fw_arg3;
    104 
    105 /*
    106  * Platform memory detection hook called by setup_arch
    107  */
    108 extern void plat_mem_setup(void);
    109 
    110 #endif /* _ASM_BOOTINFO_H */
    111