Difference between revisions of "Unit PL18X"

From Ultibo.org
Jump to: navigation, search
Line 954: Line 954:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| Called only during system startup
 
| Called only during system startup
 
|-
 
|-
Line 969: Line 969:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Address'''
+
! Address
 
| The address of the PL180 registers
 
| The address of the PL180 registers
 
|-
 
|-
! '''Name'''
+
! Name
 
| The text description of this device which will show in the device list (Optional)
 
| The text description of this device which will show in the device list (Optional)
 
|-
 
|-
! '''IRQ0'''
+
! IRQ0
 
| The interrupt 0 number for the PL180
 
| The interrupt 0 number for the PL180
 
|-
 
|-
! '''IRQ1'''
+
! IRQ1
 
| The interrupt 1 number for the PL180
 
| The interrupt 1 number for the PL180
 
|-
 
|-
! '''ClockMinimum'''
+
! ClockMinimum
 
| The minimum frequency for the Pl180 clock
 
| The minimum frequency for the Pl180 clock
 
|-
 
|-
! '''ClockMaximum'''
+
! ClockMaximum
 
| The maximum frequency for the Pl180 clock
 
| The maximum frequency for the Pl180 clock
 
|-
 
|-
! '''Return'''
+
! Return
 
| Pointer to the new SDHCI device or nil if the SDHCI device could not be created
 
| Pointer to the new SDHCI device or nil if the SDHCI device could not be created
 
|-
 
|-
Line 999: Line 999:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Address'''
+
! Address
 
| The address of the PL181 registers
 
| The address of the PL181 registers
 
|-
 
|-
! '''Name'''
+
! Name
 
| The text description of this device which will show in the device list (Optional)
 
| The text description of this device which will show in the device list (Optional)
 
|-
 
|-
! '''IRQ0'''
+
! IRQ0
 
| The interrupt 0 number for the PL181
 
| The interrupt 0 number for the PL181
 
|-
 
|-
! '''IRQ1'''
+
! IRQ1
 
| The interrupt 1 number for the PL181
 
| The interrupt 1 number for the PL181
 
|-
 
|-
! '''ClockMinimum'''
+
! ClockMinimum
 
| The minimum frequency for the Pl181 clock
 
| The minimum frequency for the Pl181 clock
 
|-
 
|-
! '''ClockMaximum'''
+
! ClockMaximum
 
| The maximum frequency for the Pl181 clock
 
| The maximum frequency for the Pl181 clock
 
|-
 
|-
! '''Return'''
+
! Return
 
| Pointer to the new SDHCI device or nil if the SDHCI device could not be created
 
| Pointer to the new SDHCI device or nil if the SDHCI device could not be created
 
|-
 
|-
Line 1,029: Line 1,029:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''SDHCI'''
+
! SDHCI
 
| The SDHCI device to destroy
 
| The SDHCI device to destroy
 
|-
 
|-
! '''Return'''
+
! Return
 
| ERROR_SUCCESS if completed or another error code on failure
 
| ERROR_SUCCESS if completed or another error code on failure
 
|-
 
|-
Line 1,047: Line 1,047:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
| Not intended to be called directly by applications, use MMCDeviceInitialize instead
+
| Not intended to be called directly by applications, use MMCDeviceInitialize instead.
 
|-
 
|-
 
|}
 
|}
Line 1,059: Line 1,059:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
| Not intended to be called directly by applications, use MMCDeviceGetCardDetect instead
+
| Not intended to be called directly by applications, use MMCDeviceGetCardDetect instead.
 
|-
 
|-
 
|}
 
|}
Line 1,071: Line 1,071:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
| Not intended to be called directly by applications, use MMCDeviceGetWriteProtect instead
+
| Not intended to be called directly by applications, use MMCDeviceGetWriteProtect instead.
 
|-
 
|-
 
|}
 
|}
Line 1,083: Line 1,083:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
| Not intended to be called directly by applications, use MMCDeviceSendCommand instead
+
| Not intended to be called directly by applications, use MMCDeviceSendCommand instead.
 
|-
 
|-
 
|}
 
|}
Line 1,095: Line 1,095:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
| Not intended to be called directly by applications, use MMCDeviceSetIOS instead
+
| Not intended to be called directly by applications, use MMCDeviceSetIOS instead.
 
|-
 
|-
 
|}
 
|}
Line 1,110: Line 1,110:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
| Not intended to be called directly by applications, use SDHCIHostStart instead
+
| Not intended to be called directly by applications, use SDHCIHostStart instead.
 
|-
 
|-
 
|}
 
|}
Line 1,122: Line 1,122:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
| Not intended to be called directly by applications, use SDHCIHostStop instead
+
| Not intended to be called directly by applications, use SDHCIHostStop instead.
 
|-
 
|-
 
|}
 
|}
Line 1,134: Line 1,134:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
| Not intended to be called directly by applications, use SDHCIHostReadByte instead
+
| Not intended to be called directly by applications, use SDHCIHostReadByte instead.
 
|-
 
|-
 
|}
 
|}
Line 1,146: Line 1,146:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
| Not intended to be called directly by applications, use SDHCIHostReadWord instead
+
| Not intended to be called directly by applications, use SDHCIHostReadWord instead.
 
|-
 
|-
 
|}
 
|}
Line 1,158: Line 1,158:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
| Not intended to be called directly by applications, use SDHCIHostReadLong instead
+
| Not intended to be called directly by applications, use SDHCIHostReadLong instead.
 
|-
 
|-
 
|}
 
|}
Line 1,170: Line 1,170:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
| Not intended to be called directly by applications, use SDHCIHostWriteByte instead
+
| Not intended to be called directly by applications, use SDHCIHostWriteByte instead.
 
|-
 
|-
 
|}
 
|}
Line 1,182: Line 1,182:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
| Not intended to be called directly by applications, use SDHCIHostWriteWord instead
+
| Not intended to be called directly by applications, use SDHCIHostWriteWord instead.
 
|-
 
|-
 
|}
 
|}
Line 1,194: Line 1,194:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
| Not intended to be called directly by applications, use SDHCIHostWriteLong instead
+
| Not intended to be called directly by applications, use SDHCIHostWriteLong instead.
 
|-
 
|-
 
|}
 
|}
Line 1,206: Line 1,206:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| Not intended to be called directly by applications
 
| Not intended to be called directly by applications
 
|-
 
|-
Line 1,218: Line 1,218:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| Not intended to be called directly by applications
 
| Not intended to be called directly by applications
 
Caller must hold the host lock
 
Caller must hold the host lock
Line 1,231: Line 1,231:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| Not intended to be called directly by applications
 
| Not intended to be called directly by applications
 
Caller must hold the host lock
 
Caller must hold the host lock
Line 1,244: Line 1,244:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| Not intended to be called directly by applications
 
| Not intended to be called directly by applications
 
Caller must hold the host lock
 
Caller must hold the host lock
Line 1,257: Line 1,257:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| Not intended to be called directly by applications
 
| Not intended to be called directly by applications
 
|-
 
|-
Line 1,269: Line 1,269:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| Not intended to be called directly by applications
 
| Not intended to be called directly by applications
 
Caller must hold the host lock
 
Caller must hold the host lock
Line 1,282: Line 1,282:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| Not intended to be called directly by applications
 
| Not intended to be called directly by applications
 
Caller must hold the host lock
 
Caller must hold the host lock
Line 1,298: Line 1,298:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 1,310: Line 1,310:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 1,322: Line 1,322:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 1,334: Line 1,334:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 1,346: Line 1,346:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 1,358: Line 1,358:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| Caller must hold the host lock
 
| Caller must hold the host lock
 
|-
 
|-
Line 1,370: Line 1,370:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| Caller must hold the host lock
 
| Caller must hold the host lock
 
|-
 
|-
Line 1,382: Line 1,382:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| Caller must hold the host lock
 
| Caller must hold the host lock
 
|-
 
|-
Line 1,394: Line 1,394:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| Caller must hold the host lock
 
| Caller must hold the host lock
 
|-
 
|-
Line 1,406: Line 1,406:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| Caller must hold the host lock
 
| Caller must hold the host lock
 
|-
 
|-
Line 1,418: Line 1,418:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| Caller must hold the host lock
 
| Caller must hold the host lock
 
|-
 
|-

Revision as of 05:02, 24 April 2018

Return to Unit Reference


Description


ARM PrimeCell PL180/181 Multimedia Card Interface Driver unit

The PL180/181 Multimedia Card is an ARM peripheral that is compatible with MMC multimedia cards and SD secure digital cards in memory mapped I/O format compatible with the ARM advanced peripheral bus (APB).

The design of the Pl180/181 allows for multiple cards per controller however this driver currently only supports attaching one card.

Constants



[Expand]
PL18X specific constants PL180_MMCI_*


[Expand]
PL18X power control register PL18X_MMCI_POWER_*


[Expand]
PL18X clock control register PL18X_MMCI_CLOCK*


[Expand]
PL18X argument register PL18X_MMCI_ARGUMENT*


[Expand]
PL18X command register PL18X_MMCI_COMMAND*


[Expand]
PL18X command response register PL18X_MMCI_RESPCMD*


[Expand]
PL18X response registers PL18X_MMCI_RESPONSE*


[Expand]
PL18X data timer register PL18X_MMCI_DATATIMER*


[Expand]
PL18X data length register PL18X_MMCI_DATALENGTH*


[Expand]
PL18X data control register PL18X_MMCI_DATACTRL*


[Expand]
PL18X data counter register PL18X_MMCI_DATACNT*


[Expand]
PL18X status register PL18X_MMCI_STATUS*


[Expand]
PL18X clear register PL18X_MMCI_CLEAR*


[Expand]
PL18X interrupt mask registers PL18X_MMCI_MASK*


[Expand]
PL18X SD card select register PL18X_MMCI_SELECT*


[Expand]
PL18X FIFO counter register PL18X_MMCI_FIFOCNT*


[Expand]
PL18X data FIFO register PL18X_MMCI_FIFO*


[Expand]
PL18X peripheral identification register PL18X_MMCI_PERIPHID*


[Expand]
PL18X PrimeCell identification register PL18X_MMCI_PCELLID*


Type definitions



PL18X version Id

[Expand]

PPL18XVersionID = ^TPL18XVersionID;

TPL18XVersionID = record

PL18X version data

[Expand]

PPL18XVersionData = ^TPL18XVersionData;

TPL18XVersionData = record

PL18X MMCI registers

[Expand]

PPL18XMMCIRegisters = ^TPL18XMMCIRegisters;

TPL18XMMCIRegisters = record

PL18X SDHCI get RXFIFO count

TPL18XSDHCIGetRXFIFOCount = function(SDHCI:PPL18XSDHCIHost; Status,Remain:LongWord):LongWord;

PL18X SDHCI host

[Expand]

PPL18XSDHCIHost = ^TPL18XSDHCIHost;

TPL18XSDHCIHost = record


Public variables



PL18X specific variables

PL18X_MMCI_FIQ_ENABLED:LongBool; The SDHCI uses Fast Interrupt Requests (FIQ) instead of IRQ
PL18X_MMCI_MIN_FREQ:LongWord = 400000; Minimum clock frequency for SDHCI (Default minimum of 400KHz)
PL18X_MMCI_MAX_FREQ:LongWord = 400000; Maximum clock frequency for SDHCI (Default maximum of 400KHz)


Function declarations



Initialization functions

[Expand]
procedure PL18XInit;
Description: Initialize the PL18X unit and version table


PL18X functions

[Expand]
function PL180SDHCICreate(Address:LongWord; const Name:String; IRQ0,IRQ1,ClockMinimum,ClockMaximum:LongWord; CardDetect:TMMCDeviceGetCardDetect; WriteProtect:TMMCDeviceGetWriteProtect):PSDHCIHost;
Description: Create and register a new PL180 SDHCI device which can be accessed using the SDHCI API


[Expand]
function PL181SDHCICreate(Address:LongWord; const Name:String; IRQ0,IRQ1,ClockMinimum,ClockMaximum:LongWord; CardDetect:TMMCDeviceGetCardDetect; WriteProtect:TMMCDeviceGetWriteProtect):PSDHCIHost;
Description: Create and register a new PL181 SDHCI device which can be accessed using the SDHCI API


[Expand]
function PL18XSDHCIDestroy(SDHCI:PSDHCIHost):LongWord;
Description: Stop, deregister and destroy a PL18X SDHCI device created by this driver


PL18X MMC functions

[Expand]
function PL18XMMCDeviceInitialize(MMC:PMMCDevice):LongWord;
Description: Implementation of MMCDeviceInitialize API for PL18X SDHCI


[Expand]
function PL18XMMCDeviceGetCardDetect(MMC:PMMCDevice):LongWord;
Description: Implementation of MMCDeviceGetCardDetect API for PL18X SDHCI


[Expand]
function PL18XMMCDeviceGetWriteProtect(MMC:PMMCDevice):LongWord;
Description: Implementation of MMCDeviceGetWriteProtect API for PL18X SDHCI


[Expand]
function PL18XMMCDeviceSendCommand(MMC:PMMCDevice; Command:PMMCCommand):LongWord;
Description: Implementation of MMCDeviceSendCommand API for PL18X SDHCI


[Expand]
function PL18XMMCDeviceSetIOS(MMC:PMMCDevice):LongWord;
Description: Implementation of MMCDeviceSetIOS API for PL18X SDHCI


PL18X SDHCI functions

[Expand]
function PL18XSDHCIHostStart(SDHCI:PSDHCIHost):LongWord;
Description: Implementation of SDHCIHostStart API for PL18X SDHCI


[Expand]
function PL18XSDHCIHostStop(SDHCI:PSDHCIHost):LongWord;
Description: Implementation of SDHCIHostStop API for PL18X SDHCI


[Expand]
function PL18XSDHCIHostReadByte(SDHCI:PSDHCIHost; Reg:LongWord):Byte;
Description: Implementation of SDHCIHostReadByte API for PL18X SDHCI


[Expand]
function PL18XSDHCIHostReadWord(SDHCI:PSDHCIHost; Reg:LongWord):Word;
Description: Implementation of SDHCIHostReadWord API for PL18X SDHCI


[Expand]
function PL18XSDHCIHostReadLong(SDHCI:PSDHCIHost; Reg:LongWord):LongWord;
Description: Implementation of SDHCIHostReadLong API for PL18X SDHCI


[Expand]
procedure PL18XSDHCIHostWriteByte(SDHCI:PSDHCIHost; Reg:LongWord; Value:Byte);
Description: Implementation of SDHCIHostWriteByte API for PL18X SDHCI


[Expand]
procedure PL18XSDHCIHostWriteWord(SDHCI:PSDHCIHost; Reg:LongWord; Value:Word);
Description: Implementation of SDHCIHostWriteWord API for PL18X SDHCI


[Expand]
procedure PL18XSDHCIHostWriteLong(SDHCI:PSDHCIHost; Reg:LongWord; Value:LongWord);
Description: Implementation of SDHCIHostWriteLong API for PL18X SDHCI


[Expand]
procedure PL18XSDHCIInterruptHandler(SDHCI:PPL18XSDHCIHost);
Description: Interrupt handler for the PL18X SDHCI


[Expand]
procedure PL18XSDHCIDataInterrupt(SDHCI:PPL18XSDHCIHost; Status:LongWord);
Description: Data interrupt handler for the PL18X SDHCI


[Expand]
procedure PL18XSDHCICommandInterrupt(SDHCI:PPL18XSDHCIHost; Status:LongWord);
Description: Command interrupt handler for the PL18X SDHCI


[Expand]
procedure PL18XSDHCIStopData(SDHCI:PPL18XSDHCIHost);
Description: Data stop handler for the PL18X SDHCI


[Expand]
procedure PL18XSDHCIPIOInterruptHandler(SDHCI:PPL18XSDHCIHost);
Description: PIO Interrupt handler for the PL18X SDHCI


[Expand]
function PL18XSHDCIReadPIO(SDHCI:PPL18XSDHCIHost ;Buffer:Pointer; Remain:LongWord):LongWord;
Description: PIO read interrupt handler for the PL18X SDHCI


[Expand]
function PL18XSDHCIWritePIO(SDHCI:PPL18XSDHCIHost; Buffer:Pointer; Remain,Status:LongWord):LongWord;
Description: PIO read interrupt handler for the PL18X SDHCI


PL18X helper functions

[Expand]
function PL18XGetPeripheralID(SDHCI:PPL18XSDHCIHost):LongWord;
Description: Return the Peripheral Id for a PL18X SDHCI device


[Expand]
function PL18XGetVersionData(SDHCI:PPL18XSDHCIHost):PPL18XVersionData;
Description: Return the version data for a PL18X SDHCI device based on the Peripheral Id


[Expand]
function PL18XGetRXFIFOCount(SDHCI:PPL18XSDHCIHost; Status,Remain:LongWord):LongWord;
Description: Determine the receive FIFO count available


[Expand]
function PL18XQualcommGetRXFIFOCount(SDHCI:PPL18XSDHCIHost; Status,Remain:LongWord):LongWord;
Description: Determine the receive FIFO count available


[Expand]
procedure PL18XRegisterDelay(SDHCI:PPL18XSDHCIHost);
Description: Delay for the required amount of time after a register write


[Expand]
procedure PL18XSetClockRegister(SDHCI:PPL18XSDHCIHost; MMC:PMMCDevice; Desired:LongWord);
Description: Setup the current clock rate in the clock register


[Expand]
procedure PL18XSetPowerRegister(SDHCI:PPL18XSDHCIHost; Value:LongWord);
Description: Setup the current power state in the power register


[Expand]
procedure PL18XSetInterruptMask1(SDHCI:PPL18XSDHCIHost; Mask:LongWord);
Description: Setup the interrupt mask to use either Mask0 or Mask1 depending on configuration


[Expand]
procedure PL18XWriteClockRegister(SDHCI:PPL18XSDHCIHost; Clock:LongWord);
Description: Write to the clock register


[Expand]
procedure PL18XWritePowerRegister(SDHCI:PPL18XSDHCIHost; Power:LongWord);
Description: Write to the power register


[Expand]
procedure PL18XWriteDataCtrlRegister(SDHCI:PPL18XSDHCIHost; DataCtrl:LongWord);
Description: Write to the data control register


Return to Unit Reference