Difference between revisions of "Unit PL011"

From Ultibo.org
Jump to: navigation, search
Line 299: Line 299:
 
|-
 
|-
 
| <code>PL011_UART_IFLS_RXIFLSEL1_8 = (0 shl 3);</code>
 
| <code>PL011_UART_IFLS_RXIFLSEL1_8 = (0 shl 3);</code>
| b000 = Receive FIFO becomes 1/8 full
+
| b000 = Receive FIFO becomes >= 1/8 full
 
|-
 
|-
 
| <code>PL011_UART_IFLS_RXIFLSEL1_4 = (1 shl 3);</code>
 
| <code>PL011_UART_IFLS_RXIFLSEL1_4 = (1 shl 3);</code>
| b001 = Receive FIFO becomes 1/4 full
+
| b001 = Receive FIFO becomes >= 1/4 full
 
|-
 
|-
 
| <code>PL011_UART_IFLS_RXIFLSEL1_2 = (2 shl 3);</code>
 
| <code>PL011_UART_IFLS_RXIFLSEL1_2 = (2 shl 3);</code>
| b010 = Receive FIFO becomes 1/2 full
+
| b010 = Receive FIFO becomes >= 1/2 full
 
|-
 
|-
 
| <code>PL011_UART_IFLS_RXIFLSEL3_4 = (3 shl 3);</code>
 
| <code>PL011_UART_IFLS_RXIFLSEL3_4 = (3 shl 3);</code>
| b011 = Receive FIFO becomes 3/4 full
+
| b011 = Receive FIFO becomes >= 3/4 full
 
|-
 
|-
 
| <code>PL011_UART_IFLS_RXIFLSEL7_8 = (4 shl 3);</code>
 
| <code>PL011_UART_IFLS_RXIFLSEL7_8 = (4 shl 3);</code>
| b100 = Receive FIFO becomes 7/8 full
+
| b100 = Receive FIFO becomes >= 7/8 full
 
|-
 
|-
 
| <code>PL011_UART_IFLS_TXIFLSEL = (7 shl 0);</code>
 
| <code>PL011_UART_IFLS_TXIFLSEL = (7 shl 0);</code>
Line 317: Line 317:
 
|-
 
|-
 
| <code>PL011_UART_IFLS_TXIFLSEL1_8 = (0 shl 0);</code>
 
| <code>PL011_UART_IFLS_TXIFLSEL1_8 = (0 shl 0);</code>
| b000 = Transmit FIFO becomes 1/8 full
+
| b000 = Transmit FIFO becomes <= 1/8 full
 
|-
 
|-
 
| <code>PL011_UART_IFLS_TXIFLSEL1_4 = (1 shl 0);</code>
 
| <code>PL011_UART_IFLS_TXIFLSEL1_4 = (1 shl 0);</code>
| b001 = Transmit FIFO becomes 1/4 full
+
| b001 = Transmit FIFO becomes <= 1/4 full
 
|-
 
|-
 
| <code>PL011_UART_IFLS_TXIFLSEL1_2 = (2 shl 0);</code>
 
| <code>PL011_UART_IFLS_TXIFLSEL1_2 = (2 shl 0);</code>
| b010 = Transmit FIFO becomes 1/2 full
+
| b010 = Transmit FIFO becomes <= 1/2 full
 
|-
 
|-
 
| <code>PL011_UART_IFLS_TXIFLSEL3_4 = (3 shl 0);</code>
 
| <code>PL011_UART_IFLS_TXIFLSEL3_4 = (3 shl 0);</code>
| b011 = Transmit FIFO becomes 3/4 full
+
| b011 = Transmit FIFO becomes <= 3/4 full
 
|-
 
|-
 
| <code>PL011_UART_IFLS_TXIFLSEL7_8 = (4 shl 0);</code>
 
| <code>PL011_UART_IFLS_TXIFLSEL7_8 = (4 shl 0);</code>
| b100 = Transmit FIFO becomes 7/8 full
+
| b100 = Transmit FIFO becomes <= 7/8 full
 
|-
 
|-
 
|}
 
|}

Revision as of 06:50, 20 April 2017

Return to Unit Reference


Description


ARM PrimeCell PL011 UART Driver unit

To be documented

Constants



[Expand]
PL011 specific constants PL011_*


[Expand]
PL011 UART data PL011_UART_DR_*


[Expand]
PL011 UART receive status/error clear PL011_UART_RSRECR_*


[Expand]
PL011 UART flag PL011_UART_FR_*


[Expand]
PL011 UART integer baud rate divisor PL011_UART_IBRD_*


[Expand]
PL011 UART fractional baud rate divisor PL011_UART_FBRD_*


[Expand]
PL011 UART line control PL011_UART_LCRH_*


[Expand]
PL011 UART control PL011_UART_CR_*


[Expand]
PL011 UART interrupt FIFO level select PL011_UART_IFLS_*


[Expand]
PL011 UART interrupt mask set/clear PL011_UART_IMSC_*


[Expand]
PL011 UART raw interrupt status PL011_UART_RIS_*


[Expand]
PL011 UART masked interrupt status PL011_UART_MIS_*


[Expand]
PL011 UART interrupt clear PL011_UART_ICR_*


[Expand]
PL011 UART DMA Control






Type definitions



PL011 UART registers

[Expand]

PPL011UARTRegisters = ^TPL011UARTRegisters;

TPL011UARTRegisters = record

PL011 UART properties

[Expand]

PPL011UART = ^TPL011UART;

TPL011UART = record


Public variables


None defined

Function declarations



PL011 functions

[Expand]
function PL011UARTCreate(Address:LongWord; const Name:String; IRQ,ClockRate:LongWord):PUARTDevice;
Description: Create and register a new PL011 UART device which can be accessed using the UART API


[Expand]
function PL011UARTDestroy(UART:PUARTDevice):LongWord;
Description: Close, deregister and destroy a PL011 UART device created by this driver


PL011 UART functions

[Expand]
function PL011UARTOpen(UART:PUARTDevice; BaudRate,DataBits,StopBits,Parity,FlowControl:LongWord):LongWord;
Description: Implementation of UARTDeviceOpen API for PL011 UART


[Expand]
function PL011UARTClose(UART:PUARTDevice):LongWord;
Description: Implementation of UARTDeviceClose API for PL011 UART


[Expand]
function PL011UARTRead(UART:PUARTDevice; Buffer:Pointer; Size,Flags:LongWord; var Count:LongWord):LongWord;
Description: Implementation of UARTDeviceRead API for PL011 UART


[Expand]
function PL011UARTWrite(UART:PUARTDevice; Buffer:Pointer; Size,Flags:LongWord; var Count:LongWord):LongWord;
Description: Implementation of UARTDeviceWrite API for PL011 UART


[Expand]
function PL011UARTStatus(UART:PUARTDevice):LongWord;
Description: Implementation of UARTDeviceStatus API for PL011 UART


[Expand]
procedure PL011UARTInterruptHandler(UART:PUARTDevice);
Description: To be documented


[Expand]
procedure PL011UARTReceive(UART:PUARTDevice);
Description: To be documented


[Expand]
procedure PL011UARTTransmit(UART:PUARTDevice);
Description: To be documented


Return to Unit Reference