static void initialize(int minor) { volatile lm3s69xx_uart *uart = get_uart_regs(minor); uart->ctl = 0; uart->lcrh = UARTLCRH_WLEN(0x3) | UARTLCRH_FEN; uart->ctl = UARTCTL_RXE | UARTCTL_TXE | UARTCTL_UARTEN; }
static void initialize(int minor) { const console_tbl *ct = Console_Port_Tbl[minor]; volatile lm3s69xx_uart *uart = get_uart_regs(minor); unsigned int num = get_uart_number(minor); lm3s69xx_syscon_enable_uart_clock(num, true); uart->ctl &= ~UARTCTL_UARTEN; uint32_t brd = get_baud_div(LM3S69XX_UART_BAUD); uart->ibrd = brd / 64; uart->fbrd = brd % 64; uart->lcrh = UARTLCRH_WLEN(0x3) | UARTLCRH_FEN; uart->cc = UARTCC_CS(0x0); uart->ctl = UARTCTL_RXE | UARTCTL_TXE | UARTCTL_UARTEN; int rv = rtems_interrupt_handler_install(ct->ulIntVector, "UART", RTEMS_INTERRUPT_UNIQUE, irq_handler, (void *)minor); assert(rv == RTEMS_SUCCESSFUL); }