1/* 2 * Copyright (c) 2010, 2015 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 78 unchanged lines hidden (view full) --- 87 clearInterrupts(UART_RXINTR | UART_RTINTR); 88 if (device->dataAvailable()) { 89 DPRINTF(Uart, "Re-raising interrupt due to more data " 90 "after UART_DR read\n"); 91 dataAvailable(); 92 } 93 } 94 break; |
95 case UART_RSR: 96 data = 0x0; // We never have errors 97 break; |
98 case UART_FR: 99 data = 100 UART_FR_CTS | // Clear To Send 101 // Given we do not simulate a FIFO we are either empty or full. 102 (!device->dataAvailable() ? UART_FR_RXFE : UART_FR_RXFF) | 103 UART_FR_TXFE; // TX FIFO empty 104 105 DPRINTF(Uart, --- 97 unchanged lines hidden (view full) --- 203 204 device->writeData(data & 0xFF); 205 // We're supposed to clear TXINTR when this register is 206 // written to, however. since we're also infinitely fast, we 207 // need to immediately raise it again. 208 clearInterrupts(UART_TXINTR); 209 raiseInterrupts(UART_TXINTR); 210 break; |
211 case UART_ECR: // clears errors, ignore 212 break; |
213 case UART_CR: 214 control = data; 215 break; 216 case UART_IBRD: 217 ibrd = data; 218 break; 219 case UART_FBRD: 220 fbrd = data; --- 104 unchanged lines hidden --- |