2 * Hyper Operating System Application Framework
4 * @file at91uartdrv_open.c
5 * @brief %jp{ATMEL AT91シリーズUART用デバイスドライバ}
7 * Copyright (C) 2006-2007 by Project HOS
8 * http://sourceforge.jp/projects/hos/
12 #include "at91uartdrv_local.h"
16 HANDLE At91UartDrv_Open(C_DRVOBJ *pDrvObj, const char *pszPath, int iMode)
22 self = (C_AT91UARTDRV *)pDrvObj;
24 /* create file descriptor */
25 if ( (pChrFile = SysMem_Alloc(sizeof(*pChrFile))) == NULL )
29 ChrFile_Create(pChrFile, pDrvObj, NULL);
33 if ( self->iOpenCount++ == 0 )
35 AT91UART_REG_WRITE(self, AT91UART_US_MR, 0x000008c0); /* 8bit, non-paroty */
36 AT91UART_REG_WRITE(self, AT91UART_US_CR, 0x00000050); /* enable */
37 AT91UART_REG_WRITE(self, AT91UART_US_BRGR, 0x00000034);
39 SysInt_Enable(self->iIntNum);
42 return (HANDLE)pChrFile;