CC26xx Driver Library
[adi.h] Analog to Digital Interface

Functions

static void ADI8RegWrite (uint32_t ui32Base, uint32_t ui32Reg, uint8_t ui8Val)
 Write an 8 bit value to a register in an ADI slave. More...
 
static void ADI16RegWrite (uint32_t ui32Base, uint32_t ui32Reg, uint16_t ui16Val)
 Write a 16 bit value to 2 registers in the ADI slave. More...
 
static void ADI32RegWrite (uint32_t ui32Base, uint32_t ui32Reg, uint32_t ui32Val)
 Write a 32 bit value to 4 registers in the ADI slave. More...
 
static uint32_t ADI8RegRead (uint32_t ui32Base, uint32_t ui32Reg)
 Read the value of an 8 bit register in the ADI slave. More...
 
static uint32_t ADI16RegRead (uint32_t ui32Base, uint32_t ui32Reg)
 Read the value in a 16 bit register. More...
 
static uint32_t ADI32RegRead (uint32_t ui32Base, uint32_t ui32Reg)
 Read the value in a 32 bit register. More...
 
static void ADI8BitsSet (uint32_t ui32Base, uint32_t ui32Reg, uint8_t ui8Val)
 Set specific bits in a single 8 bit ADI register. More...
 
static void ADI16BitsSet (uint32_t ui32Base, uint32_t ui32Reg, uint16_t ui16Val)
 Set specific bits in 2 x 8 bit ADI slave registers. More...
 
static void ADI32BitsSet (uint32_t ui32Base, uint32_t ui32Reg, uint32_t ui32Val)
 Set specific bits in 4 x 8 bit ADI slave registers. More...
 
static void ADI8BitsClear (uint32_t ui32Base, uint32_t ui32Reg, uint8_t ui8Val)
 Clear specific bits in an 8 bit ADI register. More...
 
static void ADI16BitsClear (uint32_t ui32Base, uint32_t ui32Reg, uint16_t ui16Val)
 Clear specific bits in two 8 bit ADI register. More...
 
static void ADI32BitsClear (uint32_t ui32Base, uint32_t ui32Reg, uint32_t ui32Val)
 Clear specific bits in four 8 bit ADI register. More...
 
static void ADI4SetValBit (uint32_t ui32Base, uint32_t ui32Reg, bool bWriteHigh, uint8_t ui8Mask, uint8_t ui8Val)
 Set a value on any 4 bits inside an 8 bit register in the ADI slave. More...
 
static void ADI8SetValBit (uint32_t ui32Base, uint32_t ui32Reg, uint16_t ui16Mask, uint16_t ui16Val)
 Set a value on any bits inside an 8 bit register in the ADI slave. More...
 
static void ADI16SetValBit (uint32_t ui32Base, uint32_t ui32Reg, uint32_t ui32Mask, uint32_t ui32Val)
 Set a value on any bits inside an 2 x 8 bit register aligned on a half-word (byte) boundary in the ADI slave. More...
 

Detailed Description

Introduction


API

The API functions can be grouped like this:

Write:

Read:

Function Documentation

static void ADI16BitsClear ( uint32_t  ui32Base,
uint32_t  ui32Reg,
uint16_t  ui16Val 
)
inlinestatic

Clear specific bits in two 8 bit ADI register.

This function will clear bits in 2 registers in the analog domain. The access to the registers in the analog domain is either 8, 16 or 32 bit aligned, but arranged in chunks of 32 bits. You can only do 16 bit access on registers 0-1 / 2-3, etc. Similarly 32 bit accesses are always performed on register 0-3 / 4-7 etc. Addresses for the registers and values being written to the registers will be truncated according to this access scheme.

Note
This operation is write only for the specified register. This function is used to clear bits in 2 consecutive 8 bit registers in the ADI slave. Only bits in the selected registers are affected by the operation.
AUX_ADI4_BASE : Both the AUX module and the clock for the AUX SMPH module must be enabled before calling this function.
Parameters
ui32Baseis ADI base address.
ui32Regis the base registers to clear the bits in.
ui16Valis the 16 bit one-hot encoded value specifying which bits to clear in the registers.
Returns
None
See also
ADI8BitsClear(), ADI32BitsClear()
562 {
563  uint32_t ui32RegOffset;
564 
565  // Check the arguments.
566  ASSERT(ADIBaseValid(ui32Base));
567  ASSERT(ui32Reg < ADI_SLAVE_REGS);
568 
569  // Get the correct address of the first register used for setting bits
570  // in the ADI slave.
571  ui32RegOffset = ADI_O_CLR;
572 
573  // Set the selected bits.
574  HWREGH(ui32Base + ui32RegOffset + (ui32Reg & 0xFE)) = ui16Val;
575 }
#define ASSERT(expr)
Definition: debug.h:73
#define ADI_SLAVE_REGS
Definition: adi.h:77
static void ADI16BitsSet ( uint32_t  ui32Base,
uint32_t  ui32Reg,
uint16_t  ui16Val 
)
inlinestatic

Set specific bits in 2 x 8 bit ADI slave registers.

This function will set bits in 2 registers in the analog domain. The access to the registers in the analog domain is either 8, 16 or 32 bit aligned, but arranged in chunks of 32 bits. You can only do 16 bit access on registers 0-1 / 2-3, etc. Similarly 32 bit accesses are always performed on register 0-3 / 4-7 etc. Addresses for the registers and values being written to the registers will be truncated according to this access scheme.

Note
This operation is write only for the specified register. This function is used to set bits in 2 consecutive 8 bit registers in the ADI slave. Only bits in the selected registers are affected by the operation.
AUX_ADI4_BASE : Both the AUX module and the clock for the AUX SMPH module must be enabled before calling this function.
Parameters
ui32Baseis ADI base address.
ui32Regis the base register to assert the bits in.
ui16Valis the 16 bit one-hot encoded value specifying which bits to set in the registers.
Returns
None
See also
ADI8BitsSet(), ADI32BitsSet()
421 {
422  uint32_t ui32RegOffset;
423 
424  // Check the arguments.
425  ASSERT(ADIBaseValid(ui32Base));
426  ASSERT(ui32Reg < ADI_SLAVE_REGS);
427 
428  // Get the correct address of the first register used for setting bits
429  // in the ADI slave.
430  ui32RegOffset = ADI_O_SET;
431 
432  // Set the selected bits.
433  HWREGH(ui32Base + ui32RegOffset + (ui32Reg & 0xFE)) = ui16Val;
434 }
#define ASSERT(expr)
Definition: debug.h:73
#define ADI_SLAVE_REGS
Definition: adi.h:77
static uint32_t ADI16RegRead ( uint32_t  ui32Base,
uint32_t  ui32Reg 
)
inlinestatic

Read the value in a 16 bit register.

This function will read 2 x 8 bit registers in the analog domain and return the value as the lower 16 bits of an uint32_t. The access to the registers in the analog domain is either 8, 16 or 32 bit aligned. You can only do 16 bit access on registers 0-1 / 2-3, etc. Similarly 32 bit accesses are always performed on register 0-3 / 4-7, etc. Addresses for the registers and values being written to the registers will be truncated according to this access scheme.

Note
The byte addressing bit will be ignored, to ensure 16 bit access to the ADI slave.
Parameters
ui32Baseis ADI base address.
ui32Regis the 16 bit register to read.
Returns
Returns the 16 bit value of the 2 analog register in the 2 least significant bytes of the uint32_t.
See also
ADI8RegRead(), ADI32RegRead()
300 {
301  // Check the arguments.
302  ASSERT(ADIBaseValid(ui32Base));
303  ASSERT(ui32Reg < ADI_SLAVE_REGS);
304 
305  // Read the registers and return the value.
306  return(HWREGH(ui32Base + (ui32Reg & 0xFE)));
307 }
#define ASSERT(expr)
Definition: debug.h:73
#define ADI_SLAVE_REGS
Definition: adi.h:77
static void ADI16RegWrite ( uint32_t  ui32Base,
uint32_t  ui32Reg,
uint16_t  ui16Val 
)
inlinestatic

Write a 16 bit value to 2 registers in the ADI slave.

This function will write a value to 2 consecutive registers in the analog domain. The access to the registers in the analog domain is either 8, 16 or 32 bit aligned. You can only do 16 bit access on registers 0-1 / 2-3, etc. Similarly 32 bit accesses are always performed on register 0-3 / 4-7, etc. Addresses for the registers and values being written to the registers will be truncated according to this access scheme.

Note
The byte addressing bit will be ignored, to ensure 16 bit access to the ADI slave.
This operation is write only for the specified register. No previous value of the register will be kept (i.e. this is NOT read-modify-write on the register).
AUX_ADI4_BASE : Both the AUX module and the clock for the AUX SMPH module must be enabled before calling this function.
Parameters
ui32Baseis ADI base address.
ui32Regis the register to write.
ui16Valis the 16 bit value to write to the register.
Returns
None
See also
ADI8RegWrite(), ADI32RegWrite()
192 {
193  // Check the arguments.
194  ASSERT(ADIBaseValid(ui32Base));
195  ASSERT(ui32Reg < ADI_SLAVE_REGS);
196 
197  // Write the value to the register.
198  HWREGH(ui32Base + (ui32Reg & 0xFE)) = ui16Val;
199 }
#define ASSERT(expr)
Definition: debug.h:73
#define ADI_SLAVE_REGS
Definition: adi.h:77
static void ADI16SetValBit ( uint32_t  ui32Base,
uint32_t  ui32Reg,
uint32_t  ui32Mask,
uint32_t  ui32Val 
)
inlinestatic

Set a value on any bits inside an 2 x 8 bit register aligned on a half-word (byte) boundary in the ADI slave.

This function allows 2 byte (16 bit) access to the ADI slave registers.

Use this function to write any value in the range 0-15 bits aligned on a half-word (byte) boundary. Fx. for writing the value 0b101 to bits 1 and 3 the ui32Val = 0x000A and the ui32Mask = 0x000E. Bits 0 and 5-15 will not be affected by the operation, as the corresponding bits are not set in the ui32Mask.

Note
AUX_ADI4_BASE : Both the AUX module and the clock for the AUX SMPH module must be enabled before calling this function.
Parameters
ui32Baseis the base address of the ADI port.
ui32Regis the Least Significant Register in the ADI slave that will be affected by the write operation.
ui32Maskis 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.
ui32Valis the value to write. The value must be defined in the lower half of the 32 bits.
Returns
None
See also
ADI4SetValBit(), ADI8SetValBit()
757 {
758  uint32_t ui32RegOffset;
759 
760  // Check the arguments.
761  ASSERT(ADIBaseValid(ui32Base));
762  ASSERT(ui32Reg < ADI_SLAVE_REGS);
763  ASSERT(!(ui32Val & 0xFFFF0000));
764  ASSERT(!(ui32Mask & 0xFFFF0000));
765 
766  // Get the correct address of the first register used for setting bits
767  // in the ADI slave.
768  ui32RegOffset = ADI_O_MASK16B + ((ui32Reg << 1) & 0xFC);
769 
770  // Set the selected bits.
771  HWREG(ui32Base + ui32RegOffset) = (ui32Mask << 16) | ui32Val;
772 }
#define ASSERT(expr)
Definition: debug.h:73
#define ADI_SLAVE_REGS
Definition: adi.h:77
static void ADI32BitsClear ( uint32_t  ui32Base,
uint32_t  ui32Reg,
uint32_t  ui32Val 
)
inlinestatic

Clear specific bits in four 8 bit ADI register.

This function will clear bits in 4 registers in the analog domain. The access to the registers in the analog domain is either 8, 16 or 32 bit aligned, but arranged in chunks of 32 bits. You can only do 16 bit access on registers 0-1 / 2-3, etc. Similarly 32 bit accesses are always performed on register 0-3 / 4-7 etc. Addresses for the registers and values being written to the registers will be truncated according to this access scheme.

Note
This operation is write only for the specified register. This function is used to clear bits in 4 consecutive 8 bit registers in the ADI slave. Only bits in the selected registers are affected by the operation.
AUX_ADI4_BASE : Both the AUX module and the clock for the AUX SMPH module must be enabled before calling this function.
Parameters
ui32Baseis ADI base address.
ui32Regis the base registers to clear the bits in.
ui32Valis the 32 bit one-hot encoded value specifying which bits to clear in the registers.
Returns
None
See also
ADI8BitsClear(), ADI16BitsClear()
609 {
610  uint32_t ui32RegOffset;
611 
612  // Check the arguments.
613  ASSERT(ADIBaseValid(ui32Base));
614  ASSERT(ui32Reg < ADI_SLAVE_REGS);
615 
616  // Get the correct address of the first register used for setting bits
617  // in the ADI slave.
618  ui32RegOffset = ADI_O_CLR;
619 
620  // Set the selected bits.
621  HWREG(ui32Base + ui32RegOffset + (ui32Reg & 0xFC)) = ui32Val;
622 }
#define ASSERT(expr)
Definition: debug.h:73
#define ADI_SLAVE_REGS
Definition: adi.h:77
static void ADI32BitsSet ( uint32_t  ui32Base,
uint32_t  ui32Reg,
uint32_t  ui32Val 
)
inlinestatic

Set specific bits in 4 x 8 bit ADI slave registers.

This function will set bits in 4 registers in the analog domain. The access to the registers in the analog domain is either 8, 16 or 32 bit aligned, but arranged in chunks of 32 bits. You can only do 16 bit access on registers 0-1 / 2-3, etc. Similarly 32 bit accesses are always performed on register 0-3 / 4-7 etc. Addresses for the registers and values being written to the registers will be truncated according to this access scheme.

Note
This operation is write only for the specified register. This function is used to set bits in 4 consecutive 8 bit registers in the ADI slave. Only bits in the selected registers are affected by the operation.
AUX_ADI4_BASE : Both the AUX module and the clock for the AUX SMPH module must be enabled before calling this function.
Parameters
ui32Baseis ADI base address.
ui32Regis the base register to assert the bits in.
ui32Valis the 32 bit one-hot encoded value specifying which bits to set in the registers.
Returns
None
See also
ADI8BitsSet(), ADI16BitsSet()
468 {
469  uint32_t ui32RegOffset;
470 
471  // Check the arguments.
472  ASSERT(ADIBaseValid(ui32Base));
473  ASSERT(ui32Reg < ADI_SLAVE_REGS);
474 
475  // Get the correct address of the first register used for setting bits
476  // in the ADI slave.
477  ui32RegOffset = ADI_O_SET;
478 
479  // Set the selected bits.
480  HWREG(ui32Base + ui32RegOffset + (ui32Reg & 0xFC)) = ui32Val;
481 }
#define ASSERT(expr)
Definition: debug.h:73
#define ADI_SLAVE_REGS
Definition: adi.h:77
static uint32_t ADI32RegRead ( uint32_t  ui32Base,
uint32_t  ui32Reg 
)
inlinestatic

Read the value in a 32 bit register.

This function will read 4 x 8 bit registers in the analog domain and return the value as an uint32_t. The access to the registers in the analog domain is either 8, 16 or 32 bit aligned. You can only do 16 bit access on registers 0-1 / 2-3, etc. Similarly 32 bit accesses are always performed on register 0-3 / 4-7, etc. Addresses for the registers and values being written to the registers will be truncated according to this access scheme.

Note
The byte and half word addressing bits will be ignored, to ensure 32 bit access to the ADI slave.
Parameters
ui32Baseis ADI base address.
ui32Regis the 32 bit register to read.
Returns
Returns the 32 bit value of the 4 analog registers.
See also
ADI8RegRead(), ADI16RegRead()
333 {
334  // Check the arguments.
335  ASSERT(ADIBaseValid(ui32Base));
336  ASSERT(ui32Reg < ADI_SLAVE_REGS);
337 
338  // Read the registers and return the value.
339  return(HWREG(ui32Base + (ui32Reg & 0xFC)));
340 }
#define ASSERT(expr)
Definition: debug.h:73
#define ADI_SLAVE_REGS
Definition: adi.h:77
static void ADI32RegWrite ( uint32_t  ui32Base,
uint32_t  ui32Reg,
uint32_t  ui32Val 
)
inlinestatic

Write a 32 bit value to 4 registers in the ADI slave.

This function will write a value to 4 consecutive registers in the analog domain. The access to the registers in the analog domain is either 8, 16 or 32 bit aligned. You can only do 16 bit access on registers 0-1 / 2-3, etc. Similarly 32 bit accesses are always performed on register 0-3 / 4-7, etc. Addresses for the registers and values being written to the registers will be truncated according to this access scheme.

Note
The byte and half word addressing bits will be ignored, to ensure 32 bit access to the ADI slave.
This operation is write only for the specified register. No previous value of the register will be kept (i.e. this is NOT read-modify-write on the register).
AUX_ADI4_BASE : Both the AUX module and the clock for the AUX SMPH module must be enabled before calling this function.
Parameters
ui32Baseis ADI base address.
ui32Regis the register to write.
ui32Valis the 32 bit value to write to the register.
Returns
None
See also
ADI8RegWrite(), ADI16RegWrite()
233 {
234  // Check the arguments.
235  ASSERT(ADIBaseValid(ui32Base));
236  ASSERT(ui32Reg < ADI_SLAVE_REGS);
237 
238  // Write the value to the register.
239  HWREG(ui32Base + (ui32Reg & 0xFC)) = ui32Val;
240 }
#define ASSERT(expr)
Definition: debug.h:73
#define ADI_SLAVE_REGS
Definition: adi.h:77
static void ADI4SetValBit ( uint32_t  ui32Base,
uint32_t  ui32Reg,
bool  bWriteHigh,
uint8_t  ui8Mask,
uint8_t  ui8Val 
)
inlinestatic

Set a value on any 4 bits inside an 8 bit register in the ADI slave.

This function allows halfbyte (4 bit) access to the ADI slave registers. The parameter bWriteHigh determines whether to write to the lower or higher part of the 8 bit register.

Use this function to write any value in the range 0-3 bits aligned on a half byte boundary. Fx. for writing the value 0b101 to bits 1 to 3 the ui8Val = 0xA and the ui8Mask = 0xE. Bit 0 will not be affected by the operation, as the corresponding bit is not set in the ui8Mask.

Note
AUX_ADI4_BASE : Both the AUX module and the clock for the AUX SMPH module must be enabled before calling this function.
Parameters
ui32Baseis the base address of the ADI port.
ui32Regis the Least Significant Register in the ADI slave that will be affected by the write operation.
bWriteHighdefines which part of the register to write in.
  • true: Write upper half byte of register.
  • false: Write lower half byte of register.
ui8Maskis the mask defining which of the 4 bits that should be overwritten. The mask must be defined in the lower half of the 8 bits of the parameter.
ui8Valis the value to write. The value must be defined in the lower half of the 8 bits of the parameter.
Returns
None
See also
ADI8SetValBit(), ADI16SetValBit
660 {
661  uint32_t ui32RegOffset;
662 
663  // Check the arguments.
664  ASSERT(ADIBaseValid(ui32Base));
665  ASSERT(ui32Reg < ADI_SLAVE_REGS);
666  ASSERT(!(ui8Val & 0xF0));
667  ASSERT(!(ui8Mask & 0xF0));
668 
669  // Get the correct address of the first register used for setting bits
670  // in the ADI slave.
671  ui32RegOffset = ADI_O_MASK4B + (ui32Reg << 1) + (bWriteHigh ? 1 : 0);
672 
673  // Set the selected bits.
674  HWREGB(ui32Base + ui32RegOffset) = (ui8Mask << 4) | ui8Val;
675 }
#define ASSERT(expr)
Definition: debug.h:73
#define ADI_SLAVE_REGS
Definition: adi.h:77
static void ADI8BitsClear ( uint32_t  ui32Base,
uint32_t  ui32Reg,
uint8_t  ui8Val 
)
inlinestatic

Clear specific bits in an 8 bit ADI register.

This function will clear bits in a register in the analog domain. The access to the registers in the analog domain is either 8, 16 or 32 bit aligned, but arranged in chunks of 32 bits. You can only do 16 bit access on registers 0-1 / 2-3, etc. Similarly 32 bit accesses are always performed on register 0-3 / 4-7 etc. Addresses for the registers and values being written to the registers will be truncated according to this access scheme.

Note
This operation is write only for the specified register. This function is used to clear bits in a specific 8 bit register in the ADI slave. Only bits in the selected register are affected by the operation.
AUX_ADI4_BASE : Both the AUX module and the clock for the AUX SMPH module must be enabled before calling this function.
Parameters
ui32Baseis ADI base address.
ui32Regis the base registers to clear the bits in.
ui8Valis the 8 bit one-hot encoded value specifying which bits to clear in the register.
Returns
None
See also
ADI16BitsClear(), ADI32BitsClear()

Referenced by AUXADCDisable().

515 {
516  uint32_t ui32RegOffset;
517 
518  // Check the arguments.
519  ASSERT(ADIBaseValid(ui32Base));
520  ASSERT(ui32Reg < ADI_SLAVE_REGS);
521 
522  // Get the correct address of the first register used for setting bits
523  // in the ADI slave.
524  ui32RegOffset = ADI_O_CLR;
525 
526  // Set the selected bits.
527  HWREGB(ui32Base + ui32RegOffset + ui32Reg) = ui8Val;
528 }
#define ASSERT(expr)
Definition: debug.h:73
#define ADI_SLAVE_REGS
Definition: adi.h:77
static void ADI8BitsSet ( uint32_t  ui32Base,
uint32_t  ui32Reg,
uint8_t  ui8Val 
)
inlinestatic

Set specific bits in a single 8 bit ADI register.

This function will set bits in a single register in the analog domain. The access to the registers in the analog domain is either 8, 16 or 32 bit aligned, but arranged in chunks of 32 bits. You can only do 16 bit access on registers 0-1 / 2-3, etc. Similarly 32 bit accesses are always performed on register 0-3 / 4-7 etc. Addresses for the registers and values being written to the registers will be truncated according to this access scheme.

Note
This operation is write only for the specified register. This function is used to set bits in a specific 8 bit register in the ADI slave. Only bits in the selected register are affected by the operation.
AUX_ADI4_BASE : Both the AUX module and the clock for the AUX SMPH module must be enabled before calling this function.
Parameters
ui32Baseis ADI base address.
ui32Regis the base register to assert the bits in.
ui8Valis the 8 bit one-hot encoded value specifying which bits to set in the register.
Returns
None
See also
ADI16BitsSet(), ADI32BitsSet()

Referenced by AUXADCDisableInputScaling(), AUXADCEnableAsync(), and AUXADCEnableSync().

374 {
375  uint32_t ui32RegOffset;
376 
377  // Check the arguments.
378  ASSERT(ADIBaseValid(ui32Base));
379  ASSERT(ui32Reg < ADI_SLAVE_REGS);
380 
381  // Get the correct address of the first register used for setting bits
382  // in the ADI slave.
383  ui32RegOffset = ADI_O_SET;
384 
385  // Set the selected bits.
386  HWREGB(ui32Base + ui32RegOffset + ui32Reg) = ui8Val;
387 }
#define ASSERT(expr)
Definition: debug.h:73
#define ADI_SLAVE_REGS
Definition: adi.h:77
static uint32_t ADI8RegRead ( uint32_t  ui32Base,
uint32_t  ui32Reg 
)
inlinestatic

Read the value of an 8 bit register in the ADI slave.

This function will read an 8 bit register in the analog domain and return the value as the lower 8 bits of an uint32_t. The access to the registers in the analog domain is either 8, 16 or 32 bit aligned. You can only do 16 bit access on registers 0-1 / 2-3, etc. Similarly 32 bit accesses are always performed on register 0-3 / 4-7, etc. Addresses for the registers and values being written to the registers will be truncated according to this access scheme.

Parameters
ui32Baseis ADI base address.
ui32Regis the 8 bit register to read.
Returns
Returns the 8 bit value of the analog register in the least significant byte of the uint32_t.
See also
ADI16RegRead(), ADI32RegRead()
265 {
266  // Check the arguments.
267  ASSERT(ADIBaseValid(ui32Base));
268  ASSERT(ui32Reg < ADI_SLAVE_REGS);
269 
270  // Read the register and return the value.
271  return(HWREGB(ui32Base + ui32Reg));
272 }
#define ASSERT(expr)
Definition: debug.h:73
#define ADI_SLAVE_REGS
Definition: adi.h:77
static void ADI8RegWrite ( uint32_t  ui32Base,
uint32_t  ui32Reg,
uint8_t  ui8Val 
)
inlinestatic

Write an 8 bit value to a register in an ADI slave.

This function will write a value to a single register in the analog domain. The access to the registers in the analog domain is either 8, 16, or 32 bit aligned. You can only do 16 bit access on registers 0-1 / 2-3, etc. Similarly 32 bit accesses are always performed on register 0-3 / 4-7, etc. Addresses for the registers and values being written to the registers will be truncated according to this access scheme.

Note
This operation is write only for the specified register. No previous value of the register will be kept (i.e. this is NOT read-modify-write on the register).
AUX_ADI4_BASE : Both the AUX module and the clock for the AUX SMPH module must be enabled before calling this function.
Parameters
ui32Baseis ADI base address.
ui32Regis the register to write.
ui8Valis the 8 bit value to write to the register.
Returns
None
See also
ADI16RegWrite(), ADI32RegWrite()
150 {
151  // Check the arguments.
152  ASSERT(ADIBaseValid(ui32Base));
153  ASSERT(ui32Reg < ADI_SLAVE_REGS);
154 
155  // Write the value to the register.
156  HWREGB(ui32Base + ui32Reg) = ui8Val;
157 }
#define ASSERT(expr)
Definition: debug.h:73
#define ADI_SLAVE_REGS
Definition: adi.h:77
static void ADI8SetValBit ( uint32_t  ui32Base,
uint32_t  ui32Reg,
uint16_t  ui16Mask,
uint16_t  ui16Val 
)
inlinestatic

Set a value on any bits inside an 8 bit register in the ADI slave.

This function allows byte (8 bit) access to the ADI 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 and 3 the ui16Val = 0x0A and the ui16Mask = 0x0E. Bits 0 and 5-7 will not be affected by the operation, as the corresponding bits are not set in the ui16Mask.

Note
AUX_ADI4_BASE : Both the AUX module and the clock for the AUX SMPH module must be enabled before calling this function.
Parameters
ui32Baseis the base address of the ADI port.
ui32Regis the Least Significant Register in the ADI slave that will be affected by the write operation.
ui16Maskis the mask defining which of the 8 bit that should be overwritten. The mask must be defined in the lower half of the 16 bits.
ui16Valis the value to write. The value must be defined in the lower half of the 16 bits.
Returns
None
See also
ADI4SetValBit(), ADI16SetValBit()
708 {
709  uint32_t ui32RegOffset;
710 
711  // Check the arguments.
712  ASSERT(ADIBaseValid(ui32Base));
713  ASSERT(ui32Reg < ADI_SLAVE_REGS);
714  ASSERT(!(ui16Val & 0xFF00));
715  ASSERT(!(ui16Mask & 0xFF00));
716 
717  // Get the correct address of the first register used for setting bits
718  // in the ADI slave.
719  ui32RegOffset = ADI_O_MASK8B + (ui32Reg << 1);
720 
721  // Set the selected bits.
722  HWREGH(ui32Base + ui32RegOffset) = (ui16Mask << 8) | ui16Val;
723 }
#define ASSERT(expr)
Definition: debug.h:73
#define ADI_SLAVE_REGS
Definition: adi.h:77

Macro Definition Documentation

#define ADI_ACK   0x00000001
#define ADI_PROTECT   0x00000080
#define ADI_SYNC   0x00000000