📄 consolebsp.h
字号:
/* consolebsp.h * * This include file contains all console driver definations * * COPYRIGHT (c) 1989-1997. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may in * the file LICENSE in this distribution or at * http://www.rtems.com/license/LICENSE. * * $Id: */#ifndef __CONSOLEBSP_H#define __CONSOLEBSP_H#include <rtems.h>#include <ringbuf.h>#ifdef __cplusplusextern "C" {#endif/* * * Note: The Ports are numbered 0..NUM_Z85C30_CHIPS with port 0 and 1 * being on the first chip, and ports 2 and 3 being on the * second chip... */ /* * Z85c30 configuration informaiton. */#if (HAS_PMC_PSC8)#define NUM_Z85C30_CHIPS_ON_MEZZANINE 4#else#define NUM_Z85C30_CHIPS_ON_MEZZANINE 0#endif#define NUM_Z85C30_CHIPS (2 + NUM_Z85C30_CHIPS_ON_MEZZANINE)#define NUM_Z85C30_PORTS (NUM_Z85C30_CHIPS * 2)typedef enum { CONSOLE_x1_CLOCK, CONSOLE_x16_CLOCK, CONSOLE_x32_CLOCK, CONSOLE_x64_CLOCK,} CONSOLE_Clock_speed;typedef enum { CONSOLE_STOP_BITS_1, CONSOLE_STOP_BITS_1_AND_A_HALF, CONSOLE_STOP_BITS_2,} CONSOLE_Stop_bits;typedef enum { CONSOLE_PARITY_NONE, CONSOLE_PARITY_ODD, CONSOLE_PARITY_EVEN, } CONSOLE_Parity;typedef enum { CONSOLE_CHARACTER_BITS_8, CONSOLE_CHARACTER_BITS_7, CONSOLE_CHARACTER_BITS_6, CONSOLE_CHARACTER_BITS_5,} CONSOLE_Character_bits;typedef struct { rtems_unsigned32 baud_rate; /* baud rate value */ CONSOLE_Stop_bits stop_bits; CONSOLE_Parity parity; CONSOLE_Character_bits read_char_bits; CONSOLE_Character_bits write_char_bits;#if CONSOLE_USE_INTERRUPTS volatile Ring_buffer_t TX_Buffer; /* Transmit Buffer */ volatile rtems_boolean Is_TX_active; /* Transmitting */ void *console_termios_data;#endif} Console_Protocol; /* * Structure used for chip level information. */typedef struct { rtems_unsigned32 vector; rtems_unsigned32 clock_frequency; rtems_unsigned16 clock_x; CONSOLE_Clock_speed clock_speed;} Chip_85C30_info;/* * Structure used for port level informaiton. */typedef struct { volatile unsigned char *ctrl; /* Port Ctrl byte */ volatile unsigned char *data; /* Port data byte */ unsigned char port; /* Port-id / minor # */ Console_Protocol *Protocol; Chip_85C30_info *Chip; /* Chip specific info */} Port_85C30_info;/* * Console port chip configuration tables. */extern Chip_85C30_info Chips_85C30 [ NUM_Z85C30_CHIPS ];extern const Port_85C30_info Ports_85C30 [ NUM_Z85C30_PORTS ];/* * 85c30.c prototypes. */void initialize_85c30_port( const Port_85C30_info *Port);void outbyte_polled_85c30( volatile unsigned char *csr, /* IN */ char ch);int inbyte_nonblocking_85c30( const Port_85C30_info *Port);void Reset_85c30_chip( volatile unsigned char *ctrl_0, volatile unsigned char *ctrl_1);#if CONSOLE_USE_INTERRUPTSrtems_isr ISR_85c30_Async( const Port_85C30_info *Port);#endif#ifdef __cplusplus}#endif#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -