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

📄 syscon_platform_tty.c

📁 sigma yamon yamon-src-02[1].06.tar.gz
💻 C
📖 第 1 页 / 共 2 页
字号:
{    return malta_tty1_on_texas ?        syscon_uint8_read( param, (void *)&size64, size ) :        syscon_uint8_read( param, (void *)&size8,  size );}static UINT32board_reg_ic_sead_read(    void   *param,    void   *data,    UINT32 size ){    return sys_corecard == MIPS_REVISION_CORID_SEAD_MSC01 ?	syscon_true_read( param, data,  size ) :	syscon_false_read( param, data, size );}static UINT32board_reg_ic1_malta_read(    void   *param,    void   *data,    UINT32 size ){    return malta_tty1_on_texas ?        syscon_false_read( param, data, size ) :	syscon_true_read( param, data,  size );}static UINT32board_baudrate1_div_malta_read(    void   *param,    void   *data,    UINT32 size ){    return malta_tty1_on_texas ?	com_baudrate_div_read( param, (void *)&serial_baudrate_div_ti16550c, size) :	com_baudrate_div_read( param, (void *)&serial_baudrate_div_smsc, size);}static UINT32board_intline1_malta_read(    void   *param,    void   *data,    UINT32 size ){    return malta_tty1_on_texas ?        syscon_uint32_read( param, &intline_malta_ti16550_2, size ) :        syscon_uint32_read( param, &intline_malta_ti16550_1, size );}static UINT32board_bigend1_malta_read(    void   *param,    void   *data,    UINT32 size ){    return malta_tty1_on_texas ?        syscon_endian_big_read( param, data, size ) :        syscon_false_read( param, data, size );}static UINT32board_baudrate1_verify_malta_write(    void   *param,    void   *data,    UINT32 size ){    return malta_tty1_on_texas ?        com_baudrate_verify_write(param, (void *)&serial_baudrate_div_ti16550c, size ) :        com_baudrate_verify_write(param, (void *)&serial_baudrate_div_smsc, size );}/************************************************************************ *  Implementation : Public functions ************************************************************************//************************************************************************ * *                          syscon_arch_tty_init *  Description : *  ------------- * *  Initialize platform specific part of SYSCON TTY objects. * *  Return values : *  --------------- * *  None * ************************************************************************/voidsyscon_arch_tty_init( void ){    /*  Number of serial ports supported by YAMON (TTY0/TTY1).     *  YAMON supports max 2 ports.     */    uart_count = 2; /* Same for all currently supported platforms */    if (sys_corecard == MIPS_REVISION_CORID_SEAD_MSC01)    {	intline_sead_ti16550_0 = SEAD_MSC01_INTLINE_TTY0;	intline_sead_ti16550_1 = SEAD_MSC01_INTLINE_TTY1;    }     syscon_register_id_board( SYSCON_BOARD_TI16C550C_BASE0_ID,			      /* Atlas */			      board_ti16c550c_base0_atlas_read, NULL,			      NULL,				NULL,			      /* SEAD */			      board_ti16c550c_base0_sead_read,	NULL,			      NULL,				NULL,			      /* Malta */			      board_ti16c550c_base0_malta_read, NULL,			      NULL,				NULL );    syscon_register_id_board( SYSCON_BOARD_TI16C550C_BASE1_ID,			      /* Atlas */			      NULL,				NULL,			      NULL,				NULL,			      /* SEAD */			      board_ti16c550c_base1_sead_read,  NULL,			      NULL,				NULL,			      /* Malta */			      board_ti16c550c_base1_malta_read, NULL,			      NULL,				NULL );    syscon_register_id_board( SYSCON_COM_TTY0_REG_SIZE_ID,			      /* Atlas (TI16550)   */			      syscon_uint8_read, &size32,			      NULL,	         NULL,			      /* SEAD (TI16550)    */			      syscon_uint8_read, &size32,			      NULL,	         NULL,			      /* Malta (TI16550) */			      syscon_uint8_read, &size8,			      NULL,	         NULL );    syscon_register_id_board( SYSCON_COM_TTY1_REG_SIZE_ID,			      /* Atlas (SAA9730)   */			      NULL,		          NULL,			      NULL,			  NULL,			      /* SEAD (TI16550)    */			      syscon_uint8_read,          &size32,			      NULL,			  NULL,			      /* Malta (TI16550) */			      board_reg_size1_malta_read, NULL,			      NULL,	                  NULL );    syscon_register_id_board( SYSCON_COM_TTY0_REG_SPACING_ID,			      /* Atlas (TI16550)   */			      syscon_uint8_read, &size64,			      NULL,	         NULL,			      /* SEAD (TI16550)    */			      syscon_uint8_read, &size64,			      NULL,	         NULL,			      /* Malta (TI16550) */			      syscon_uint8_read, &size8,			      NULL,	         NULL );    syscon_register_id_board( SYSCON_COM_TTY1_REG_SPACING_ID,			      /* Atlas (SAA9730)   */			      NULL,			   NULL,			      NULL,			   NULL,			      /* SEAD (TI16550)    */			      syscon_uint8_read,           &size64,			      NULL,			   NULL,			      /* Malta (TI16550) */			      board_reg_space1_malta_read, NULL,			      NULL,			   NULL );    syscon_register_id_board( SYSCON_COM_TTY0_IC_IN_USE_ID,			      /* Atlas   */			      syscon_true_read,  NULL,			      NULL,	         NULL,			      /* SEAD    */			      board_reg_ic_sead_read, NULL,			      NULL,	         NULL,			      /* Malta */			      syscon_true_read,  NULL,			      NULL,	         NULL );    syscon_register_id_board( SYSCON_COM_TTY1_IC_IN_USE_ID,			      /* Atlas    */			      syscon_true_read,         NULL,			      NULL,			NULL,			      /* SEAD     */			      board_reg_ic_sead_read,   NULL,			      NULL,			NULL,			      /* Malta  */			      board_reg_ic1_malta_read, NULL,			      NULL,	                NULL );    syscon_register_id_board( SYSCON_COM_TTY0_ADJUST_BREAK_ID,			      /* Atlas   */			      syscon_true_read,  NULL,			      NULL,	         NULL,			      /* SEAD    */			      syscon_false_read, NULL, 			      NULL,	         NULL,			      /* Malta */			      syscon_true_read,  NULL,			      NULL,	         NULL );    syscon_register_id_board( SYSCON_COM_TTY1_ADJUST_BREAK_ID,			      /* Atlas   */			      syscon_false_read, NULL,			      NULL,	         NULL,			      /* SEAD    */			      syscon_false_read, NULL,			      NULL,	         NULL,			      /* Malta */			      syscon_false_read, NULL,			      NULL,	         NULL );    syscon_register_id_board( SYSCON_COM_TTY0_BIGEND_ID,			      /* Atlas   */			      syscon_endian_big_read, NULL,			      NULL,		      NULL,			      /* SEAD    */			      syscon_endian_big_read, NULL,			      NULL,		      NULL,			      /* Malta (PCI is always little endian) */			      syscon_false_read,      NULL,			      NULL,	              NULL );    syscon_register_id_board( SYSCON_COM_TTY1_BIGEND_ID,			      /* Atlas (SAA9730 is PCI device and thus little endian) */			      syscon_false_read,        NULL,			      NULL,		        NULL,			      /* SEAD    */			      syscon_endian_big_read,   NULL,			      NULL,		        NULL,			      /* Malta (PCI is always little endian) */			      board_bigend1_malta_read, NULL,			      NULL,		        NULL );    syscon_register_id_board( SYSCON_COM_TTY0_INTLINE_ID,			      /* Atlas   */			      syscon_uint32_read, &intline_atlas_ti16550,			      NULL,	          NULL,			      /* SEAD    */			      syscon_uint32_read, &intline_sead_ti16550_0,			      NULL,	          NULL,			      /* Malta */			      syscon_uint32_read, &intline_malta_ti16550_0,			      NULL,	          NULL );    syscon_register_id_board( SYSCON_COM_TTY1_INTLINE_ID,			      /* Atlas   */			      syscon_uint32_read,	 &intline_atlas_saa9730,			      NULL,			 NULL,			      /* SEAD    */			      syscon_uint32_read,	 &intline_sead_ti16550_1,			      NULL,	                 NULL,			      /* Malta */			      board_intline1_malta_read, NULL,			      NULL,	                 NULL );    syscon_register_id_board( SYSCON_COM_TTY0_BAUDRATE_DIV_ID,			      /* Atlas */			      com_baudrate_div_read, (void *)&serial_baudrate_div_ti16550c,			      NULL,		     NULL,			      /* SEAD */			      com_baudrate_div_read, (void *)&serial_baudrate_div_ti16550c,			      NULL,		     NULL,			      /* Malta */			      com_baudrate_div_read, (void *)&serial_baudrate_div_smsc,			      NULL,		     NULL );    syscon_register_id_board( SYSCON_COM_TTY1_BAUDRATE_DIV_ID,			      /* Atlas */			      com_baudrate_div_read, (void *)&serial_baudrate_div_saa9730,			      NULL,		     NULL,			      /* SEAD */			      com_baudrate_div_read, (void *)&serial_baudrate_div_ti16550c,			      NULL,		     NULL,			      /* Malta */			      board_baudrate1_div_malta_read, NULL,			      NULL,			      NULL );    syscon_register_id_board( SYSCON_COM_TTY0_BAUDRATE_VERIFY_ID,			      /* Atlas */			      NULL,		         NULL,			      com_baudrate_verify_write, (void *)&serial_baudrate_div_ti16550c,			      /* SEAD */			      NULL,		         NULL,			      com_baudrate_verify_write, (void *)&serial_baudrate_div_ti16550c,			      /* Malta */			      NULL,		         NULL,			      com_baudrate_verify_write, (void *)&serial_baudrate_div_smsc );    syscon_register_id_board( SYSCON_COM_TTY1_BAUDRATE_VERIFY_ID,			      /* Atlas */			      NULL,			 NULL,			      com_baudrate_verify_write, (void *)&serial_baudrate_div_saa9730,			      /* SEAD */			      NULL,			 NULL,			      com_baudrate_verify_write, (void *)&serial_baudrate_div_ti16550c,			      /* Malta */			      NULL,				  NULL,			      board_baudrate1_verify_malta_write, NULL );    syscon_register_id_board( SYSCON_COM_TTY0_MAJOR, 			      /* Atlas   */			      syscon_uint32_read, &atlas_major_tty0,			      NULL,	          NULL,			      /* SEAD    */			      syscon_uint32_read, &sead_major_tty0,			      NULL,	          NULL,			      /* Malta */			      syscon_uint32_read, &malta_major_tty0,			      NULL,	          NULL );    syscon_register_id_board( SYSCON_COM_TTY0_MINOR, 			      /* Atlas   */			      syscon_uint32_read, &atlas_minor_tty0,			      NULL,	          NULL,			      /* SEAD    */			      syscon_uint32_read, &sead_minor_tty0,			      NULL,	          NULL,			      /* Malta */			      syscon_uint32_read, &malta_minor_tty0,			      NULL,	          NULL );    syscon_register_id_board( SYSCON_COM_TTY1_MAJOR, 			      /* Atlas   */			      syscon_uint32_read, &atlas_major_tty1,			      NULL,	          NULL,			      /* SEAD    */			      syscon_uint32_read, &sead_major_tty1,			      NULL,	          NULL,			      /* Malta */			      syscon_uint32_read, &malta_major_tty1,			      NULL,	          NULL );    syscon_register_id_board( SYSCON_COM_TTY1_MINOR, 			      /* Atlas   */			      syscon_uint32_read, &atlas_minor_tty1,			      NULL,	          NULL,			      /* SEAD    */			      syscon_uint32_read, &sead_minor_tty1,			      NULL,	          NULL,			      /* Malta */			      syscon_uint32_read, &malta_minor_tty1,			      NULL,	          NULL );    syscon_register_id_board( SYSCON_COM_TTY1_ON_TEXAS, 			      /* Atlas   */			      NULL,	         NULL,			      NULL,		 NULL,			      /* SEAD    */			      NULL,		 NULL,			      NULL,		 NULL,			      /* Malta */			      syscon_bool_read,  (void *)&malta_tty1_on_texas,			      syscon_bool_write, (void *)&malta_tty1_on_texas );    syscon_register_generic(  SYSCON_BOARD_UART_COUNT_ID,			      syscon_uint8_read, (void *)&uart_count,			      NULL,	         NULL );}

⌨️ 快捷键说明

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