Changeset 1433ecda in mainline for kernel/genarch/src/drivers/pl011/pl011.c
- Timestamp:
- 2018-04-04T15:42:37Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 2c4e1cc
- Parents:
- 47b2d7e3
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/genarch/src/drivers/pl011/pl011.c
r47b2d7e3 r1433ecda 50 50 /* Wait for space becoming available in Tx FIFO. */ 51 51 // TODO make pio_read accept consts pointers and remove the cast 52 while ((pio_read_32((ioport32_t *)&uart->regs->flag) & PL011_UART_FLAG_TXFF_FLAG) != 0)52 while ((pio_read_32((ioport32_t *)&uart->regs->flag) & PL011_UART_FLAG_TXFF_FLAG) != 0) 53 53 ; 54 54 … … 86 86 87 87 // TODO make pio_read accept const pointers and remove the cast 88 while ((pio_read_32((ioport32_t *)&uart->regs->flag) & PL011_UART_FLAG_RXFE_FLAG) == 0) {88 while ((pio_read_32((ioport32_t *)&uart->regs->flag) & PL011_UART_FLAG_RXFE_FLAG) == 0) { 89 89 /* We ignore all error flags here */ 90 90 const uint8_t data = pio_read_32(&uart->regs->data); … … 99 99 { 100 100 assert(uart); 101 uart->regs = (void *)km_map(addr, sizeof(pl011_uart_regs_t),102 101 uart->regs = (void *)km_map(addr, sizeof(pl011_uart_regs_t), 102 PAGE_NOT_CACHEABLE); 103 103 assert(uart->regs); 104 104 105 105 /* Disable UART */ 106 uart->regs->control &= ~ 106 uart->regs->control &= ~PL011_UART_CONTROL_UARTEN_FLAG; 107 107 108 108 /* Enable hw flow control */ 109 109 uart->regs->control |= 110 111 110 PL011_UART_CONTROL_RTSE_FLAG | 111 PL011_UART_CONTROL_CTSE_FLAG; 112 112 113 113 /* Mask all interrupts */ … … 117 117 /* Enable UART, TX and RX */ 118 118 uart->regs->control |= 119 120 121 119 PL011_UART_CONTROL_UARTEN_FLAG | 120 PL011_UART_CONTROL_TXE_FLAG | 121 PL011_UART_CONTROL_RXE_FLAG; 122 122 123 123 outdev_initialize("pl011_uart_dev", &uart->outdev, &pl011_uart_ops); … … 143 143 /* Enable receive interrupts */ 144 144 uart->regs->interrupt_mask |= 145 146 145 PL011_UART_INTERRUPT_RX_FLAG | 146 PL011_UART_INTERRUPT_RT_FLAG; 147 147 } 148 148
Note:
See TracChangeset
for help on using the changeset viewer.