Difference between revisions of "Unit QEMUVersatilePB"
(6 intermediate revisions by the same user not shown) | |||
Line 11: | Line 11: | ||
This includes standard interfaces such as network, filesystem and storage as well as drivers that are specific to the VersatilePB and may or may not be included by anything else. | This includes standard interfaces such as network, filesystem and storage as well as drivers that are specific to the VersatilePB and may or may not be included by anything else. | ||
− | The unit also provides a very simple clock device driver for the 24MHz clock included in the | + | The unit also provides a very simple clock device driver for the 24MHz clock included in the Versatile PB System Control registers. This clock is 32bit only, runs at a fixed rate of 24MHz and cannot be stopped or reset. |
Additional units can be included anywhere within a program and they will be linked during the compile process. This unit simply provides a convenient way to ensure all relevant units have been included and the standard drivers registered. | Additional units can be included anywhere within a program and they will be linked during the compile process. This unit simply provides a convenient way to ensure all relevant units have been included and the standard drivers registered. | ||
Line 18: | Line 18: | ||
---- | ---- | ||
− | '' | + | |
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 20px; padding-bottom: 15px;"> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''QEMUVersatilePB specific constants''' <code> NAME_* </code></div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>VERSATILEPB_CLOCK_DESCRIPTION = 'VersatilePB 24MHz Clock';</code> | ||
+ | | Description of 24MHz clock device | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
=== Type definitions === | === Type definitions === | ||
Line 28: | Line 39: | ||
---- | ---- | ||
+ | ''None defined'' | ||
− | + | === Function declarations === | |
+ | ---- | ||
− | + | ||
+ | '''Initialization functions''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">procedure QEMUVersatilePBInit;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Initialize the QEMUVersatilePB unit and parameters</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | + | ! Note | |
− | | | + | | Called only during system startup |
|- | |- | ||
|} | |} | ||
− | + | </div></div> | |
+ | <br /> | ||
+ | |||
+ | '''QEMUVersatilePB MMCI functions''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function MMCIGetCardDetect(MMC:PMMCDevice):LongWord; </pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Implementation of MMCDeviceGetCardDetect API for QEMUVPB MMCI</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | | | + | ! Note |
− | + | | Not intended to be called directly by applications, use MMCDeviceGetCardDetect instead. | |
+ | Not currently used as the VERSATILEPB_SYS_MCI register is not connected in QEMUVPB | ||
|- | |- | ||
|} | |} | ||
− | + | </div></div> | |
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function MMCIGetWriteProtect(MMC:PMMCDevice):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Implementation of MMCDeviceGetWriteProtect API for QEMUVPB MMCI</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | | | + | ! Note |
− | + | | Not intended to be called directly by applications, use MMCDeviceGetWriteProtect instead. | |
+ | Not currently used as the VERSATILEPB_SYS_MCI register is not connected in QEMUVPB | ||
|- | |- | ||
|} | |} | ||
− | + | </div></div> | |
− | + | <br /> | |
− | + | ||
− | + | '''QEMUVersatilePB clock functions''' | |
− | + | ||
− | + | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | |
− | {| class="wikitable" style="font-size: 14px; | + | <pre style="border: 0; padding-bottom:0px;">function VersatilePBClockRead(Clock:PClockDevice):LongWord;</pre> |
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Implementation of ClockDeviceRead API for the 24MHz Clock</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | + | ! Note | |
− | | | + | | Not intended to be called directly by applications, use ClockDeviceRead instead. |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
|} | |} | ||
+ | </div></div> | ||
<br /> | <br /> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
− | <pre style="border: 0; padding-bottom:0px;"> | + | <pre style="border: 0; padding-bottom:0px;">function VersatilePBClockRead64(Clock:PClockDevice):Int64;</pre> |
− | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' | + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Implementation of ClockDeviceRead64 API for the 24MHz Clock</div> |
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
− | | | + | | Not intended to be called directly by applications, use ClockDeviceRead64 instead. |
|- | |- | ||
|} | |} |
Latest revision as of 01:04, 25 April 2018
Return to Unit Reference
Description
Ultibo QEMU VersatilePB unit
This unit serves to include all units relevant to the QEMU VersatilePB and to register the drivers that are appropriate to the configuration.
This includes standard interfaces such as network, filesystem and storage as well as drivers that are specific to the VersatilePB and may or may not be included by anything else.
The unit also provides a very simple clock device driver for the 24MHz clock included in the Versatile PB System Control registers. This clock is 32bit only, runs at a fixed rate of 24MHz and cannot be stopped or reset.
Additional units can be included anywhere within a program and they will be linked during the compile process. This unit simply provides a convenient way to ensure all relevant units have been included and the standard drivers registered.
Constants
NAME_*
VERSATILEPB_CLOCK_DESCRIPTION = 'VersatilePB 24MHz Clock';
|
Description of 24MHz clock device |
Type definitions
None defined
Public variables
None defined
Function declarations
Initialization functions
procedure QEMUVersatilePBInit;
Note | Called only during system startup |
---|
QEMUVersatilePB MMCI functions
function MMCIGetCardDetect(MMC:PMMCDevice):LongWord;
Note | Not intended to be called directly by applications, use MMCDeviceGetCardDetect instead.
Not currently used as the VERSATILEPB_SYS_MCI register is not connected in QEMUVPB |
---|
function MMCIGetWriteProtect(MMC:PMMCDevice):LongWord;
Note | Not intended to be called directly by applications, use MMCDeviceGetWriteProtect instead.
Not currently used as the VERSATILEPB_SYS_MCI register is not connected in QEMUVPB |
---|
QEMUVersatilePB clock functions
function VersatilePBClockRead(Clock:PClockDevice):LongWord;
Note | Not intended to be called directly by applications, use ClockDeviceRead instead. |
---|
function VersatilePBClockRead64(Clock:PClockDevice):Int64;
Note | Not intended to be called directly by applications, use ClockDeviceRead64 instead. |
---|
Return to Unit Reference