Unit PL011

From Ultibo.org
Jump to: navigation, search

Return to Unit Reference


Description


ARM PrimeCell PL011 UART Driver unit

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



PL011 specific variables

PL011_RX_IRQ_MASK:Boolean = False; If True then mask RX interrupts while RX FIFO is not empty (Allows for implementation variations)


Function declarations



PL011 functions

[Expand]
function PL011UARTCreate(Address:PtrUInt; 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 PL011UARTPushRX(UART:PUARTDevice):LongWord;
Description: To be documented


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


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


[Expand]
function PL011UARTSetStatus(UART:PUARTDevice; Status:LongWord):LongWord;
Description: Implementation of UARTDeviceSetStatus API for PL011 UART


[Expand]
procedure PL011UARTInterruptHandler(UART:PUARTDevice);
Description: Interrupt handler for the PL011 UART device


[Expand]
procedure PL011UARTReceive(UART:PUARTDevice);
Description: Receive handler for the PL011 UART device


[Expand]
procedure PL011UARTTransmit(UART:PUARTDevice);
Description: Transmit handler for the PL011 UART device


[Expand]
procedure PL011UARTEnableInterrupt(UART:PPL011UART; Interrupt:LongWord);
Description: Enable the specified interrupt in the interrupt mask register of a PL011 UART device


[Expand]
procedure PL011UARTDisableInterrupt(UART:PPL011UART; Interrupt:LongWord);
Description: Disable the specified interrupt in the interrupt mask register of a PL011 UART device


Return to Unit Reference