⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 msp_prom.h

📁 linux内核源码
💻 H
字号:
/* * MIPS boards bootprom interface for the Linux kernel. * * Copyright (C) 2000 MIPS Technologies, Inc.  All rights reserved. * Author: Carsten Langgaard, carstenl@mips.com * * ######################################################################## * *  This program is free software; you can distribute it and/or modify it *  under the terms of the GNU General Public License (Version 2) as *  published by the Free Software Foundation. * *  This program is distributed in the hope it will be useful, but WITHOUT *  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or *  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License *  for more details. * *  You should have received a copy of the GNU General Public License along *  with this program; if not, write to the Free Software Foundation, Inc., *  59 Temple Place - Suite 330, Boston MA 02111-1307, USA. * * ######################################################################## */#ifndef _ASM_MSP_PROM_H#define _ASM_MSP_PROM_H#include <linux/types.h>#define DEVICEID			"deviceid"#define FEATURES			"features"#define PROM_ENV			"prom_env"#define PROM_ENV_FILE			"/proc/"PROM_ENV#define PROM_ENV_SIZE			256#define CPU_DEVID_FAMILY		0x0000ff00#define CPU_DEVID_REVISION		0x000000ff#define FPGA_IS_POLO(revision) \		(((revision >= 0xb0) && (revision < 0xd0)))#define FPGA_IS_5000(revision) \		((revision >= 0x80) && (revision <= 0x90))#define	FPGA_IS_ZEUS(revision)		((revision < 0x7f))#define FPGA_IS_DUET(revision) \		(((revision >= 0xa0) && (revision < 0xb0)))#define FPGA_IS_MSP4200(revision)	((revision >= 0xd0))#define FPGA_IS_MSP7100(revision)	((revision >= 0xd0))#define MACHINE_TYPE_POLO		"POLO"#define MACHINE_TYPE_DUET		"DUET"#define	MACHINE_TYPE_ZEUS		"ZEUS"#define MACHINE_TYPE_MSP2000REVB	"MSP2000REVB"#define MACHINE_TYPE_MSP5000		"MSP5000"#define MACHINE_TYPE_MSP4200		"MSP4200"#define MACHINE_TYPE_MSP7120		"MSP7120"#define MACHINE_TYPE_MSP7130		"MSP7130"#define MACHINE_TYPE_OTHER		"OTHER"#define MACHINE_TYPE_POLO_FPGA		"POLO-FPGA"#define MACHINE_TYPE_DUET_FPGA		"DUET-FPGA"#define	MACHINE_TYPE_ZEUS_FPGA		"ZEUS_FPGA"#define MACHINE_TYPE_MSP2000REVB_FPGA	"MSP2000REVB-FPGA"#define MACHINE_TYPE_MSP5000_FPGA	"MSP5000-FPGA"#define MACHINE_TYPE_MSP4200_FPGA	"MSP4200-FPGA"#define MACHINE_TYPE_MSP7100_FPGA	"MSP7100-FPGA"#define MACHINE_TYPE_OTHER_FPGA		"OTHER-FPGA"/* Device Family definitions */#define FAMILY_FPGA			0x0000#define FAMILY_ZEUS			0x1000#define FAMILY_POLO			0x2000#define FAMILY_DUET			0x4000#define FAMILY_TRIAD			0x5000#define FAMILY_MSP4200			0x4200#define FAMILY_MSP4200_FPGA		0x4f00#define FAMILY_MSP7100			0x7100#define FAMILY_MSP7100_FPGA		0x7f00/* Device Type definitions */#define TYPE_MSP7120			0x7120#define TYPE_MSP7130			0x7130#define ENET_KEY		'E'#define ENETTXD_KEY		'e'#define PCI_KEY			'P'#define PCIMUX_KEY		'p'#define SEC_KEY			'S'#define SPAD_KEY		'D'#define TDM_KEY			'T'#define ZSP_KEY			'Z'#define FEATURE_NOEXIST		'-'#define FEATURE_EXIST		'+'#define ENET_MII		'M'#define ENET_RMII		'R'#define	ENETTXD_FALLING		'F'#define ENETTXD_RISING		'R'#define PCI_HOST		'H'#define PCI_PERIPHERAL		'P'#define PCIMUX_FULL		'F'#define PCIMUX_SINGLE		'S'#define SEC_DUET		'D'#define SEC_POLO		'P'#define SEC_SLOW		'S'#define SEC_TRIAD		'T'#define SPAD_POLO		'P'#define TDM_DUET		'D'	/* DUET TDMs might exist */#define TDM_POLO		'P'	/* POLO TDMs might exist */#define TDM_TRIAD		'T'	/* TRIAD TDMs might exist */#define ZSP_DUET		'D'	/* one DUET zsp engine */#define ZSP_TRIAD		'T'	/* two TRIAD zsp engines */extern char *prom_getcmdline(void);extern char *prom_getenv(char *name);extern void prom_init_cmdline(void);extern void prom_meminit(void);extern void prom_fixup_mem_map(unsigned long start_mem,			       unsigned long end_mem);#ifdef CONFIG_MTD_PMC_MSP_RAMROOTextern bool get_ramroot(void **start, unsigned long *size);#endifextern int get_ethernet_addr(char *ethaddr_name, char *ethernet_addr);extern unsigned long get_deviceid(void);extern char identify_enet(unsigned long interface_num);extern char identify_enetTxD(unsigned long interface_num);extern char identify_pci(void);extern char identify_sec(void);extern char identify_spad(void);extern char identify_sec(void);extern char identify_tdm(void);extern char identify_zsp(void);extern unsigned long identify_family(void);extern unsigned long identify_revision(void);/* * The following macro calls prom_printf and puts the format string * into an init section so it can be reclaimed. */#define ppfinit(f, x...) \	do { \		static char _f[] __initdata = KERN_INFO f; \		printk(_f, ## x); \	} while (0)/* Memory descriptor management. */#define PROM_MAX_PMEMBLOCKS    7	/* 6 used */enum yamon_memtypes {	yamon_dontuse,	yamon_prom,	yamon_free,};struct prom_pmemblock {	unsigned long base; /* Within KSEG0. */	unsigned int size;  /* In bytes. */	unsigned int type;  /* free or prom memory */};extern int prom_argc;extern char **prom_argv;extern char **prom_envp;extern int *prom_vec;extern struct prom_pmemblock *prom_getmdesc(void);#endif /* !_ASM_MSP_PROM_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -