Unit PL031

From Ultibo.org
Revision as of 05:12, 23 April 2017 by Ultibo (Talk | contribs)

Jump to: navigation, search

Return to Unit Reference


Description


ARM PrimeCell PL031 Real Time Clock Driver unit

The PL031 is a simple memory mapped Real Time Clock (RTC) device that supports a single 32-bit time counter based on the Unix time format which starts at 1 Jan 1970 and runs out at 19 Jan 2038.

The device also includes a single alarm value which can trigger an interrupt when the selected time is reached.

This driver currently does not support reading or setting the alarm value.

Constants


To be documented

Type definitions



PL031 real time clock (RTC) registers

[Expand]

PPL031RTCRegisters = ^TPL031RTCRegisters;

TPL031RTCRegisters = record

PL031 real time clock (RTC)

[Expand]

PPL031RTC = ^TPL031RTC;

TPL031RTC = record


Public variables


None defined

Function declarations



PL031 functions

[Expand]
function PL031RTCCreate(Address:LongWord; const Name:String; IRQ:LongWord):PRTCDevice;
Description: Create, register and start a new PL031 RTC device which can be accessed using the RTC API


[Expand]
function PL031RTCDestroy(RTC:PRTCDevice):LongWord;
Description: Stop, deregister and destroy a PL031 RTC device created by this driver


PL031 RTC functions

[Expand]
function PL031RTCStart(RTC:PRTCDevice):LongWord;
Description: Implementation of RTCDeviceStart API for PL031 RTC


[Expand]
function PL031RTCStop(RTC:PRTCDevice):LongWord;
Description: Implementation of RTCDeviceStop API for PL031 RTC


[Expand]
function PL031RTCGetTime(RTC:PRTCDevice):Int64;
Description: Implementation of RTCDeviceGetTime API for PL031 RTC


[Expand]
function PL031RTCSetTime(RTC:PRTCDevice; const Time:Int64):Int64;
Description: Implementation of RTCDeviceSetTime API for PL031 RTC


PL031 helper functions

[Expand]
function PL031FileTimeToRTCTime(RTC:PRTCDevice; const FileTime:Int64; var RTCTime:LongWord):Boolean;
Description: Convert a FileTime value in 100 nanosecond ticks since 1 January 1601 to the time format of the PL031 RTC which is seconds since 1 January 1970


[Expand]
function PL031RTCTimeToFileTime(RTC:PRTCDevice; RTCTime:LongWord; var FileTime:Int64):Boolean;
Description: Convert a PL031 RTC time value in seconds since 1 January 1970 to the FileTime format which is 100 nanosecond ticks since 1 January 1601


Return to Unit Reference