Functions | |
static void | AuxAdiDdiSafeWrite (uint32_t nAddr, uint32_t nData, uint32_t nSize) |
Safely write to AUX ADI/DDI interfaces using a semaphore. More... | |
static uint32_t | AuxAdiDdiSafeRead (uint32_t nAddr, uint32_t nSize) |
Safely read from AUX ADI/DDI interfaces using a semaphore. More... | |
static void | DDI32RegWrite (uint32_t ui32Base, uint32_t ui32Reg, uint32_t ui32Val) |
Write a 32 bit value to a register in the DDI slave. More... | |
static uint32_t | DDI32RegRead (uint32_t ui32Base, uint32_t ui32Reg) |
Read the value in a 32 bit register. More... | |
static void | DDI32BitsSet (uint32_t ui32Base, uint32_t ui32Reg, uint32_t ui32Val) |
Set specific bits in a DDI slave register. More... | |
static void | DDI32BitsClear (uint32_t ui32Base, uint32_t ui32Reg, uint32_t ui32Val) |
Clear specific bits in a 32 bit DDI register. More... | |
static void | DDI8SetValBit (uint32_t ui32Base, uint32_t ui32Reg, uint32_t ui32Byte, uint16_t ui16Mask, uint16_t ui16Val) |
Set a value on any 8 bits inside a 32 bit register in the DDI slave. More... | |
static void | DDI16SetValBit (uint32_t ui32Base, uint32_t ui32Reg, bool bWriteHigh, uint32_t ui32Mask, uint32_t ui32Val) |
Set a value on any 16 bits inside a 32 bit register aligned on a half-word boundary in the DDI slave. More... | |
void | DDI16BitWrite (uint32_t ui32Base, uint32_t ui32Reg, uint32_t ui32Mask, uint32_t ui32WrData) |
Write a single bit using a 16-bit maskable write. More... | |
void | DDI16BitfieldWrite (uint32_t ui32Base, uint32_t ui32Reg, uint32_t ui32Mask, uint32_t ui32Shift, uint16_t ui32Data) |
Write a bit field via the DDI using 16-bit maskable write. More... | |
uint16_t | DDI16BitRead (uint32_t ui32Base, uint32_t ui32Reg, uint32_t ui32Mask) |
Read a bit via the DDI using 16-bit read. More... | |
uint16_t | DDI16BitfieldRead (uint32_t ui32Base, uint32_t ui32Reg, uint32_t ui32Mask, uint32_t ui32Shift) |
Read a bitfield via the DDI using 16-bit read. More... | |
|
inlinestatic |
Safely read from AUX ADI/DDI interfaces using a semaphore.
nAddr | is the register address. |
nSize | is the register access size in bytes. |
Definition at line 168 of file ddi.h.
Referenced by ADI16RegRead(), ADI32RegRead(), ADI8RegRead(), ADIProtect(), DDI16BitfieldRead(), DDI16BitRead(), and DDI32RegRead().
|
inlinestatic |
Safely write to AUX ADI/DDI interfaces using a semaphore.
nAddr | is the register address. |
nData | is the data to write to the register. |
nSize | is the register access size in bytes. |
Definition at line 136 of file ddi.h.
Referenced by ADI16BitsClear(), ADI16BitsSet(), ADI16RegWrite(), ADI16SetValBit(), ADI32BitsClear(), ADI32BitsSet(), ADI32RegWrite(), ADI4SetValBit(), ADI8BitsClear(), ADI8BitsSet(), ADI8RegWrite(), ADI8SetValBit(), ADIConfigSet(), ADIProtect(), ADISync(), DDI16BitfieldWrite(), DDI16BitWrite(), DDI16SetValBit(), DDI32BitsClear(), DDI32BitsSet(), DDI32RegWrite(), and DDI8SetValBit().
uint16_t DDI16BitfieldRead | ( | uint32_t | ui32Base, |
uint32_t | ui32Reg, | ||
uint32_t | ui32Mask, | ||
uint32_t | ui32Shift | ||
) |
Read a bitfield via the DDI using 16-bit read.
Requires that bit fields do not space the low/high word boundary.
ui32Base | is the base address of the DDI port. |
ui32Reg | is register to access. |
ui32Mask | is the mask defining which of the 16 bits that should be overwritten. The mask must be defined in the lower half of the 32 bits. |
ui32Shift | defines the required shift of the data to align with bit 0. |
Definition at line 198 of file ddi.c.
Referenced by OSCClockSourceGet(), and OSCHfSourceReady().
void DDI16BitfieldWrite | ( | uint32_t | ui32Base, |
uint32_t | ui32Reg, | ||
uint32_t | ui32Mask, | ||
uint32_t | ui32Shift, | ||
uint16_t | ui32Data | ||
) |
Write a bit field via the DDI using 16-bit maskable write.
Requires that bitfields not space the low/high word boundary.
ui32Base | is the base address of the DDI port. |
ui32Reg | is register to access. |
ui32Mask | is the mask defining which of the 16 bits that should be overwritten. The mask must be defined in the lower half of the 32 bits. |
ui32Shift | |
ui32Data |
Write a bit field via the DDI using 16-bit maskable write.
Definition at line 108 of file ddi.c.
Referenced by HapiTrimDeviceShutDown(), OSCClockLossEventDisable(), OSCClockLossEventEnable(), and OSCClockSourceSet().
uint16_t DDI16BitRead | ( | uint32_t | ui32Base, |
uint32_t | ui32Reg, | ||
uint32_t | ui32Mask | ||
) |
Read a bit via the DDI using 16-bit read.
ui32Base | is the base address of the DDI module. |
ui32Reg | is the register to read. |
ui32Mask | defines the bit which should be read. |
Read a bit via the DDI using 16-bit read.
Definition at line 152 of file ddi.c.
void DDI16BitWrite | ( | uint32_t | ui32Base, |
uint32_t | ui32Reg, | ||
uint32_t | ui32Mask, | ||
uint32_t | ui32WrData | ||
) |
Write a single bit using a 16-bit maskable write.
A '1' is written to the bit if ui32WrData
is non-zero, else a '0' is written.
ui32Base | is the base address of the DDI port. |
ui32Reg | is register to access. |
ui32Mask | is the mask defining which of the 16 bit that should be overwritten. The mask must be defined in the lower half of the 32 bits. |
ui32WrData | is the value to write. The value must be defined in the lower half of the 32 bits. |
Definition at line 64 of file ddi.c.
Referenced by OSCXHfPowerModeSet().
|
inlinestatic |
Set a value on any 16 bits inside a 32 bit register aligned on a half-word boundary in the DDI slave.
This function allows 16 bit masked access to the DDI slave registers.
Use this function to write any value in the range 0-15 bits aligned on a half-word boundary. Fx. for writing the value 0b101 to bits 1-3 set ui32Val = 0x000A
and ui32Mask = 0x000E
. Bits 0 and 5-15 will not be affected by the operation, as long as the corresponding bits are not set in the ui32Mask
.
ui32Base | is the base address of the DDI port. |
ui32Reg | is register to access. |
bWriteHigh | defines which part of the register to write in. |
ui32Mask | is the mask defining which of the 16 bit that should be overwritten. The mask must be defined in the lower half of the 32 bits. |
ui32Val | is the value to write. The value must be defined in the lower half of the 32 bits. |
Definition at line 448 of file ddi.h.
|
inlinestatic |
Clear specific bits in a 32 bit DDI register.
This function will clear bits in a register in the analog domain.
ui32Base | is DDI base address. |
ui32Reg | is the base registers to clear the bits in. |
ui32Val | is the 32 bit one-hot encoded value specifying which bits to clear in the register. |
Definition at line 344 of file ddi.h.
|
inlinestatic |
Set specific bits in a DDI slave register.
This function will set bits in a register in the analog domain.
ui32Base | is DDI base address. |
ui32Reg | is the base register to assert the bits in. |
ui32Val | is the 32 bit one-hot encoded value specifying which bits to set in the register. |
Definition at line 304 of file ddi.h.
|
inlinestatic |
Read the value in a 32 bit register.
This function will read a register in the analog domain and return the value as an uint32_t
.
ui32Base | is DDI base address. |
ui32Reg | is the 32 bit register to read. |
Definition at line 267 of file ddi.h.
|
inlinestatic |
Write a 32 bit value to a register in the DDI slave.
This function will write a value to a register in the analog domain.
ui32Base | is DDI base address. |
ui32Reg | is the register to write. |
ui32Val | is the 32 bit value to write to the register. |
Definition at line 235 of file ddi.h.
Referenced by HapiTrimDeviceShutDown().
|
inlinestatic |
Set a value on any 8 bits inside a 32 bit register in the DDI slave.
This function allows byte (8 bit access) to the DDI slave registers.
Use this function to write any value in the range 0-7 bits aligned on a byte boundary. Fx. for writing the value 0b101 to bits 1-3 set ui16Val = 0x0A
and ui16Mask = 0x0E
. Bits 0 and 5-7 will not be affected by the operation, as long as the corresponding bits are not set in the ui16Mask
.
ui32Base | is the base address of the DDI port. |
ui32Reg | is the Least Significant Register in the DDI slave that will be affected by the write operation. |
ui32Byte | is the byte number to access within the 32 bit register. |
ui16Mask | is the mask defining which of the 8 bits that should be overwritten. The mask must be defined in the lower half of the 16 bits. |
ui16Val | is the value to write. The value must be defined in the lower half of the 16 bits. |
Definition at line 395 of file ddi.h.
#define DDI_SLAVE_REGS 64 |
Definition at line 96 of file ddi.h.
Referenced by DDI16SetValBit(), DDI32BitsClear(), DDI32BitsSet(), DDI32RegRead(), DDI32RegWrite(), and DDI8SetValBit().