49 #define DDI16BitWrite NOROM_DDI16BitWrite
50 #undef DDI16BitfieldWrite
51 #define DDI16BitfieldWrite NOROM_DDI16BitfieldWrite
53 #define DDI16BitRead NOROM_DDI16BitRead
54 #undef DDI16BitfieldRead
55 #define DDI16BitfieldRead NOROM_DDI16BitfieldRead
65 uint32_t ui32Mask, uint32_t ui32WrData)
73 ASSERT(DDIBaseValid(ui32Base));
74 ASSERT(!((ui32Mask & 0xFFFF0000) ^ (ui32Mask & 0x0000FFFF)));
75 ASSERT(!(ui32WrData & 0xFFFF0000));
80 ui32RegAddr = ui32Base + (ui32Reg << 1) + DDI_O_MASK16B;
85 if(ui32Mask & 0xFFFF0000)
94 ui32Data = ui32WrData ? ui32Mask : 0x0;
109 uint32_t ui32Mask, uint32_t ui32Shift,
112 uint32_t ui32RegAddr;
118 ASSERT(DDIBaseValid(ui32Base));
123 ui32RegAddr = ui32Base + (ui32Reg << 1) + DDI_O_MASK16B;
130 ui32Shift = ui32Shift - 16;
132 ui32Mask = ui32Mask >> 16;
138 ui32WrData = ui32Data << ui32Shift;
154 uint32_t ui32RegAddr;
160 ASSERT(DDIBaseValid(ui32Base));
165 ui32RegAddr = ui32Base + ui32Reg + DDI_O_DIR;
170 if(ui32Mask & 0xFFFF0000)
173 ui32Mask = ui32Mask >> 16;
184 ui16Data = ui16Data & ui32Mask;
199 uint32_t ui32Mask, uint32_t ui32Shift)
201 uint32_t ui32RegAddr;
207 ASSERT(DDIBaseValid(ui32Base));
212 ui32RegAddr = ui32Base + ui32Reg + DDI_O_DIR;
219 ui32Shift = ui32Shift - 16;
221 ui32Mask = ui32Mask >> 16;
232 ui16Data &= ui32Mask;
233 ui16Data >>= ui32Shift;
void DDI16BitWrite(uint32_t ui32Base, uint32_t ui32Reg, uint32_t ui32Mask, uint32_t ui32WrData)
Write a single bit using a 16-bit maskable write.
static uint32_t AuxAdiDdiSafeRead(uint32_t nAddr, uint32_t nSize)
Safely read from AUX ADI/DDI interfaces using a semaphore.
uint16_t DDI16BitRead(uint32_t ui32Base, uint32_t ui32Reg, uint32_t ui32Mask)
Read a bit via the DDI using 16-bit READ.
void DDI16BitfieldWrite(uint32_t ui32Base, uint32_t ui32Reg, uint32_t ui32Mask, uint32_t ui32Shift, uint16_t ui32Data)
Write a bitfield via the DDI using 16-bit maskable write.
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.
static void AuxAdiDdiSafeWrite(uint32_t nAddr, uint32_t nData, uint32_t nSize)
Safely write to AUX ADI/DDI interfaces using a semaphore.