49 #define DDI32RegWrite NOROM_DDI32RegWrite
51 #define DDI16BitWrite NOROM_DDI16BitWrite
52 #undef DDI16BitfieldWrite
53 #define DDI16BitfieldWrite NOROM_DDI16BitfieldWrite
55 #define DDI16BitRead NOROM_DDI16BitRead
56 #undef DDI16BitfieldRead
57 #define DDI16BitfieldRead NOROM_DDI16BitfieldRead
72 ASSERT(DDIBaseValid(ui32Base));
88 uint32_t ui32Mask, uint32_t ui32WrData)
96 ASSERT(DDIBaseValid(ui32Base));
97 ASSERT(!((ui32Mask & 0xFFFF0000) ^ (ui32Mask & 0x0000FFFF)));
98 ASSERT(!(ui32WrData & 0xFFFF0000));
103 ui32RegAddr = ui32Base + (ui32Reg << 1) + DDI_O_MASK16B;
108 if(ui32Mask & 0xFFFF0000)
117 ui32Data = ui32WrData ? ui32Mask : 0x0;
132 uint32_t ui32Mask, uint32_t ui32Shift,
135 uint32_t ui32RegAddr;
141 ASSERT(DDIBaseValid(ui32Base));
146 ui32RegAddr = ui32Base + (ui32Reg << 1) + DDI_O_MASK16B;
153 ui32Shift = ui32Shift - 16;
155 ui32Mask = ui32Mask >> 16;
161 ui32WrData = ui32Data << ui32Shift;
177 uint32_t ui32RegAddr;
183 ASSERT(DDIBaseValid(ui32Base));
188 ui32RegAddr = ui32Base + ui32Reg + DDI_O_DIR;
193 if(ui32Mask & 0xFFFF0000)
196 ui32Mask = ui32Mask >> 16;
207 ui16Data = ui16Data & ui32Mask;
222 uint32_t ui32Mask, uint32_t ui32Shift)
224 uint32_t ui32RegAddr;
230 ASSERT(DDIBaseValid(ui32Base));
235 ui32RegAddr = ui32Base + ui32Reg + DDI_O_DIR;
242 ui32Shift = ui32Shift - 16;
244 ui32Mask = ui32Mask >> 16;
255 ui16Data &= ui32Mask;
256 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.
void DDI32RegWrite(uint32_t ui32Base, uint32_t ui32Reg, uint32_t ui32Val)
Write a 32 bit value to a register in the DDI slave.
static void AuxAdiDdiSafeWrite(uint32_t nAddr, uint32_t nData, uint32_t nSize)
Safely write to AUX ADI/DDI interfaces using a semaphore.