[GSoC] [ARM] Patch by Johannes Wischert.
Add UART initialization for OMAP. uncomment polling wait loops. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32317 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -113,18 +113,22 @@ void uart_init_port(int port, uint baud)
|
|||||||
|
|
||||||
void uart_init_early(void)
|
void uart_init_early(void)
|
||||||
{
|
{
|
||||||
#warning INTITIALIZE UART!!!!!
|
#if BOARD_CPU_OMAP3
|
||||||
/* UART1 */
|
/* UART1 */
|
||||||
// RMWREG32(CKEN1, 13, 1, 1),
|
RMWREG32(CM_FCLKEN1_CORE, 13, 1, 1);
|
||||||
// RMWREG32(CM_ICLKEN1_CORE, 13, 1, 1),
|
RMWREG32(CM_ICLKEN1_CORE, 13, 1, 1);
|
||||||
|
|
||||||
/* UART2 */
|
/* UART2 */
|
||||||
// RMWREG32(CM_FCLKEN1_CORE, 14, 1, 1),
|
RMWREG32(CM_FCLKEN1_CORE, 14, 1, 1);
|
||||||
// RMWREG32(CM_ICLKEN1_CORE, 14, 1, 1),
|
RMWREG32(CM_ICLKEN1_CORE, 14, 1, 1);
|
||||||
|
|
||||||
/* UART3 */
|
/* UART3 */
|
||||||
// RMWREG32(CM_FCLKEN_PER, 11, 1, 1),
|
RMWREG32(CM_FCLKEN_PER, 11, 1, 1);
|
||||||
// RMWREG32(CM_ICLKEN_PER, 11, 1, 1),
|
RMWREG32(CM_ICLKEN_PER, 11, 1, 1);
|
||||||
|
#else
|
||||||
|
#warning INTITIALIZE UART!!!!!
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
uart_init_port(DEBUG_UART, 115200);
|
uart_init_port(DEBUG_UART, 115200);
|
||||||
}
|
}
|
||||||
@@ -136,21 +140,21 @@ void uart_init(void)
|
|||||||
int uart_putc(int port, char c )
|
int uart_putc(int port, char c )
|
||||||
{
|
{
|
||||||
|
|
||||||
// while (!(read_uart_reg(port, UART_LSR) & (1<<6))) // wait for the last char to get out
|
while (!(read_uart_reg(port, UART_LSR) & (1<<6))) // wait for the last char to get out
|
||||||
// ;
|
;
|
||||||
write_uart_reg(port, UART_THR, c);
|
write_uart_reg(port, UART_THR, c);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int uart_getc(int port, bool wait) /* returns -1 if no data available */
|
int uart_getc(int port, bool wait) /* returns -1 if no data available */
|
||||||
{
|
{
|
||||||
// if (wait) {
|
if (wait) {
|
||||||
// while (!(read_uart_reg(port, UART_LSR) & (1<<0))) // wait for data to show up in the rx fifo
|
while (!(read_uart_reg(port, UART_LSR) & (1<<0))) // wait for data to show up in the rx fifo
|
||||||
// ;
|
;
|
||||||
// } else {
|
} else {
|
||||||
// if (!(read_uart_reg(port, UART_LSR) & (1<<0)))
|
if (!(read_uart_reg(port, UART_LSR) & (1<<0)))
|
||||||
// return -1;
|
return -1;
|
||||||
// }
|
}
|
||||||
return read_uart_reg(port, UART_RHR);
|
return read_uart_reg(port, UART_RHR);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user