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

📄 elsc.h

📁 上传linux-jx2410的源代码
💻 H
字号:
/* $Id: elsc.h,v 1.1.1.1 2004/02/04 12:57:42 laputa Exp $ * * This file is subject to the terms and conditions of the GNU General Public * License.  See the file "COPYING" in the main directory of this archive * for more details. * * Copyright (C) 1992 - 1997, 2000 Silicon Graphics, Inc. * Copyright (C) 2000 by Colin Ngam */#ifndef _ASM_SN_KSYS_ELSC_H#define _ASM_SN_KSYS_ELSC_H#include <linux/config.h>#if defined(CONFIG_IA64_SGI_SN1) || defined(CONFIG_IA64_GENERIC)#include <asm/sn/ksys/l1.h>#endif// #include <asm/sn/ksys/i2c.h>#define ELSC_I2C_ADDR		0x08#define ELSC_I2C_HUB0		0x09#define ELSC_I2C_HUB1		0x0a#define ELSC_I2C_HUB2		0x0b#define ELSC_I2C_HUB3		0x0c#define ELSC_PACKET_MAX		96#define ELSC_ACP_MAX		86		/* 84+cr+lf */#define ELSC_LINE_MAX		(ELSC_ACP_MAX - 2)/* * ELSC character queue type for I/O */#define ELSC_QSIZE	128		/* Power of 2 is more efficient */typedef sc_cq_t elsc_cq_t;/* * ELSC structure passed around as handle */typedef l1sc_t elsc_t;void	elsc_init(elsc_t *e, nasid_t nasid);int	elsc_process(elsc_t *e);int	elsc_msg_check(elsc_t *e, char *msg, int msg_max);int	elsc_msg_callback(elsc_t *e,			  void (*callback)(void *callback_data, char *msg),			  void *callback_data);#ifdef LATERchar   *elsc_errmsg(int code);int	elsc_nvram_write(elsc_t *e, int addr, char *buf, int len);int	elsc_nvram_read(elsc_t *e, int addr, char *buf, int len);int	elsc_nvram_magic(elsc_t *e);#endifint	elsc_command(elsc_t *e, int only_if_message);int	elsc_parse(elsc_t *e, char *p1, char *p2, char *p3);int	elsc_ust_write(elsc_t *e, uchar_t c);int 	elsc_ust_read(elsc_t *e, char *c);/* * System controller commands */int	elsc_version(elsc_t *e, char *result);#ifdef LATERint	elsc_debug_set(elsc_t *e, u_char byte1, u_char byte2);int	elsc_debug_get(elsc_t *e, u_char *byte1, u_char *byte2);#endifint	elsc_module_set(elsc_t *e, int module);int	elsc_module_get(elsc_t *e);int	elsc_partition_set(elsc_t *e, int partition);int	elsc_partition_get(elsc_t *e);int	elsc_domain_set(elsc_t *e, int domain);int	elsc_domain_get(elsc_t *e);int	elsc_cluster_set(elsc_t *e, int cluster);int	elsc_cluster_get(elsc_t *e);int	elsc_cell_set(elsc_t *e, int cell);int	elsc_cell_get(elsc_t *e);int	elsc_bist_set(elsc_t *e, char bist_status);char	elsc_bist_get(elsc_t *e);int	elsc_lock(elsc_t *e,		  int retry_interval_usec,		  int timeout_usec, u_char lock_val);int	elsc_unlock(elsc_t *e);int	elsc_display_char(elsc_t *e, int led, int chr);int	elsc_display_digit(elsc_t *e, int led, int num, int l_case);#ifdef LATERint	elsc_display_mesg(elsc_t *e, char *chr);	/* 8-char input */int	elsc_password_set(elsc_t *e, char *password);	/* 4-char input */int	elsc_password_get(elsc_t *e, char *password);	/* 4-char output */int	elsc_rpwr_query(elsc_t *e, int is_master);int	elsc_power_query(elsc_t *e);int	elsc_power_down(elsc_t *e, int sec);int	elsc_power_cycle(elsc_t *e);int	elsc_system_reset(elsc_t *e);int	elsc_dip_switches(elsc_t *e);int	elsc_nic_get(elsc_t *e, uint64_t *nic, int verbose);#endifint	_elsc_hbt(elsc_t *e, int ival, int rdly);#define	elsc_hbt_enable(e, ival, rdly)	_elsc_hbt(e, ival, rdly)#define	elsc_hbt_disable(e)		_elsc_hbt(e, 0, 0)#define	elsc_hbt_send(e)		_elsc_hbt(e, 0, 1)/* * Routines for using the ELSC as a UART.  There's a version of each * routine that takes a pointer to an elsc_t, and another version that * gets the pointer by calling a user-supplied global routine "get_elsc". * The latter version is useful when the elsc is employed for stdio. */#define ELSCUART_FLASH		0x3c			/* LED pattern */elsc_t	       *get_elsc(void);int	elscuart_probe(void);void	elscuart_init(void *);int	elscuart_poll(void);int	elscuart_readc(void);int	elscuart_getc(void);int	elscuart_putc(int);int	elscuart_puts(char *);char   *elscuart_gets(char *, int);int	elscuart_flush(void);/* * Error codes * *   The possible ELSC error codes are a superset of the I2C error codes, *   so ELSC error codes begin at -100. */#define ELSC_ERROR_NONE			0#define ELSC_ERROR_CMD_SEND	       -100	/* Error sending command    */#define ELSC_ERROR_CMD_CHECKSUM	       -101	/* Command checksum bad     */#define ELSC_ERROR_CMD_UNKNOWN	       -102	/* Unknown command          */#define ELSC_ERROR_CMD_ARGS	       -103	/* Invalid argument(s)      */#define ELSC_ERROR_CMD_PERM	       -104	/* Permission denied	    */#define ELSC_ERROR_CMD_STATE	       -105	/* not allowed in this state*/#define ELSC_ERROR_RESP_TIMEOUT	       -110	/* ELSC response timeout    */#define ELSC_ERROR_RESP_CHECKSUM       -111	/* Response checksum bad    */#define ELSC_ERROR_RESP_FORMAT	       -112	/* Response format error    */#define ELSC_ERROR_RESP_DIR	       -113	/* Response direction error */#define ELSC_ERROR_MSG_LOST	       -120	/* Queue full; msg. lost    */#define ELSC_ERROR_LOCK_TIMEOUT	       -121	/* ELSC response timeout    */#define ELSC_ERROR_DATA_SEND	       -122	/* Error sending data       */#define ELSC_ERROR_NIC		       -123	/* NIC processing error     */#define ELSC_ERROR_NVMAGIC	       -124	/* Bad magic no. in NVRAM   */#define ELSC_ERROR_MODULE	       -125	/* Moduleid processing err  */#endif /* _ASM_SN_KSYS_ELSC_H */

⌨️ 快捷键说明

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