Unit PL110

From Ultibo.org
Jump to: navigation, search

Return to Unit Reference


Description


ARM PrimeCell PL110 Color LCD Controller Driver unit

The ARM PrimeCell PL110 Color LCD Controller is an AMBA compliant module that provides LCD display support for both TFT and STN displays in a variety of configurations.

While the controller supports TFT displays it differs from other TFT display controllers because it has a DMA interface to system memory rather than using SPI or other serial transfer protocols.

Currently this driver only supports the setup required for the QEMU VersatilePB target however it is possible to support additional configurations by adding more variations of the PL110FramebufferCreate functions (eg PL110FramebufferCreateSTN etc).

Note: The driver does not include support for FRAMEBUFFER_FLAG_SYNC as the QEMU emulation of the device does not provide interrupt support at present.

Constants



[Expand]
PL110 specific constants PL110_*


[Expand]
PL110 mode PL110_MODE_*


[Expand]
PL110 register offset PL110_CLCD_*


[Expand]
PL110 CLCD timing0 PL110_CLCD_TIMING0_*


[Expand]
PL110 CLCD timing1 PL110_CLCD_TIMING1_*


[Expand]
PL110 CLCD timing2 PL110_CLCD_TIMING2_*


[Expand]
PL110 CLCD timing3 PL110_CLCD_TIMING3_*


[Expand]
PL110 CLCD control PL110_CLCD_CONTROL_*


[Expand]
PL110 control PL110_CONTROL_*


[Expand]
PL110 timing0 PL110_TIMING0_*


[Expand]
PL110 timing1 PL110_TIMING1_*


[Expand]
PL110 timing2 PL110_TIMING2_*


Type definitions



PL110 CLCD registers

[Expand]

PPL110CLCDRegisters = ^TPL110CLCDRegisters;

TPL110CLCDRegisters = record

PL110 framebuffer properties

[Expand]

PPL110Framebuffer = ^TPL110Framebuffer;

TPL110Framebuffer = record


Public variables


None defined

Function declarations



PL110 functions

[Expand]
function PL110FramebufferCreateVGA(Address:PtrUInt; const Name:String; Rotation,Width,Height,Depth:LongWord):PFramebufferDevice;
Description: Create, register and allocate a new PL110 Framebuffer device which can be accessed using the framebuffer API


[Expand]
function PL110FramebufferCreateSVGA(Address:PtrUInt; const Name:String; Rotation,Width,Height,Depth:LongWord):PFramebufferDevice;
Description: Create, register and allocate a new PL110 Framebuffer device which can be accessed using the framebuffer API


[Expand]
function PL110FramebufferDestroy(Framebuffer:PFramebufferDevice):LongWord;
Description: Release, deregister and destroy a PL110 Framebuffer device created by this driver


PL110 framebuffer functions

[Expand]
function PL110FramebufferAllocate(Framebuffer:PFramebufferDevice; Properties:PFramebufferProperties):LongWord;
Description: Implementation of FramebufferDeviceAllocate API for PL110 Framebuffer


[Expand]
function PL110FramebufferRelease(Framebuffer:PFramebufferDevice):LongWord;
Description: Implementation of FramebufferDeviceRelease API for PL110 Framebuffer


[Expand]
function PL110FramebufferBlank(Framebuffer:PFramebufferDevice; Blank:Boolean):LongWord;
Description: Implementation of FramebufferDevicBlank API for PL110 Framebuffer


[Expand]
function PL110FramebufferCommit(Framebuffer:PFramebufferDevice; Address:PtrUInt; Size,Flags:LongWord):LongWord;
Description: Implementation of FramebufferDeviceCommit API for PL110 Framebuffer


[Expand]
function PL110FramebufferSetOffsetEx(Framebuffer:PFramebufferDevice; X,Y:LongWord; Pan,Switch:Boolean):LongWord;
Description: Implementation of FramebufferDeviceSetOffsetEx API for PL110 Framebuffer


Return to Unit Reference