CC26xx Driver Library |

- Main Page
- Related Pages
- CC26xx APIs
- Register Descriptions
- Online Resources

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Functions
[ioc] I/O Controller

## Functions
void | IOCPortConfigureSet (uint32_t ui32IOId, uint32_t ui32PortId, uint32_t ui32IOConfig)
| Set the configuration of an IO port. More...
uint32_t | IOCPortConfigureGet (uint32_t ui32IOId)
| Get the configuration of an IO port. More...
void | IOCIOShutdownSet (uint32_t ui32IOId, uint32_t ui32IOShutdown)
| Set wake-up on an IO port. More...
void | IOCIOJTagSet (uint32_t ui32IOId, uint32_t ui32IOJTag)
| Set wake-up on an IO port. More...
void | IOCIOModeSet (uint32_t ui32IOId, uint32_t ui32IOMode)
| Set the IO Mode of an IO Port. More...
void | IOCIOIntSet (uint32_t ui32IOId, uint32_t ui32Int, uint32_t ui32EdgeDet)
| Setup interrupt detection on an IO Port. More...
void | IOCIOPortPullSet (uint32_t ui32IOId, uint32_t ui32Pull)
| Set the pull on an IO port. More...
void | IOCIOHystSet (uint32_t ui32IOId, uint32_t ui32Hysteresis)
| Configure hysteresis on and IO port. More...
void | IOCIOInputSet (uint32_t ui32IOId, uint32_t ui32Input)
| Enable/disable IO port as input. More...
void | IOCIOSlewCtrlSet (uint32_t ui32IOId, uint32_t ui32SlewEnable)
| Enable/disable the slew control on an IO port. More...
void | IOCIODrvStrengthSet (uint32_t ui32IOId, uint32_t ui32IOCurrent, uint32_t ui32DrvStrength)
| Configure the drive strength and maxium current of an IO port. More...
void | IOCIOPortIdSet (uint32_t ui32IOId, uint32_t ui32PortId)
| Setup the Port ID for this IO. More...
__STATIC_INLINE void | IOCIntRegister (void(*pfnHandler)(void))
| Register an interrupt handler for an IO edge interrupt. More...
__STATIC_INLINE void | IOCIntUnregister (void)
| Unregisters an interrupt handler for a IO edge interrupt. More...
void | IOCIntEnable (uint32_t ui32IOId)
| Enables individual IO edge detect interrupt. More...
void | IOCIntDisable (uint32_t ui32IOId)
| Disables individual IO edge interrupt sources. More...
__STATIC_INLINE void | IOCIntClear (uint32_t ui32IOId)
| Clears the IO edge interrupt source. More...
__STATIC_INLINE uint32_t | IOCIntStatus (uint32_t ui32IOId)
| Returns the status of the IO interrupts. More...
void | IOCPinTypeGpioInput (uint32_t ui32IOId)
| Setup an IO for standard GPIO input. More...
void | IOCPinTypeGpioOutput (uint32_t ui32IOId)
| Setup an IO for standard GPIO output. More...
void | IOCPinTypeUart (uint32_t ui32Base, uint32_t ui32Rx, uint32_t ui32Tx, uint32_t ui32Cts, uint32_t ui32Rts)
| Configure a set of IOs for standard UART peripheral control. More...
void | IOCPinTypeSsiMaster (uint32_t ui32Base, uint32_t ui32Rx, uint32_t ui32Tx, uint32_t ui32Fss, uint32_t ui32Clk)
| Configure a set of IOs for standard SSI peripheral master control. More...
void | IOCPinTypeSsiSlave (uint32_t ui32Base, uint32_t ui32Rx, uint32_t ui32Tx, uint32_t ui32Fss, uint32_t ui32Clk)
| Configure a set of IOs for standard SSI peripheral slave control. More...
void | IOCPinTypeI2c (uint32_t ui32Base, uint32_t ui32Data, uint32_t ui32Clk)
| Configure a set of IOs for standard I2C peripheral control. More...
void | IOCPinTypeSpis (uint32_t ui32Rx, uint32_t ui32Tx, uint32_t ui32Fss, uint32_t ui32Clk)
| Configure a set of IOs for standard SPIS peripheral control. More...
void | IOCPinTypeAux (uint32_t ui32IOId)
| Configure an IO for AUX control. More...

## Detailed Description

## Function Documentation

__STATIC_INLINE void IOCIntClear | ( | uint32_t | ui32IOId | ) |

Clears the IO edge interrupt source.

The specified IO edge interrupt source is cleared, so that it no longer asserts. This function must be called in the interrupt handler to keep the interrupt from being recognized again immediately upon exit.

Note
  Because there is a write buffer in the Cortex-M3 processor, it may take several clock cycles before the interrupt source is actually cleared. Therefore, it is recommended that the interrupt source be cleared early in the interrupt handler (as opposed to the very last action) to avoid returning from the interrupt handler before the interrupt source is actually cleared. Failure to do so may result in the interrupt handler being immediately reentered (because the interrupt controller still sees the interrupt source asserted).

Parameters

  ui32IOId | is the IO causing the interrupt. IOID_0 ... IOID_31

Returns
  None

Definition at line 833 of file ioc.h.

void IOCIntDisable | ( | uint32_t | ui32IOId | ) |

Disables individual IO edge interrupt sources.

This function disables the indicated IO edge interrupt source. Only the sources that are enabled can be reflected to the processor interrupt; disabled sources have no effect on the processor.

Parameters

  ui32IOId | is the IO edge interrupt source to be disabled. IOID_0 ... IOID_31

Returns
  None

Definition at line 496 of file ioc.c.

void IOCIntEnable | ( | uint32_t | ui32IOId | ) |

Enables individual IO edge detect interrupt.

This function enables the indicated IO edge interrupt sources. Only the sources that are enabled can be reflected to the processor interrupt; disabled sources have no effect on the processor.

Parameters

  ui32IOId | is the IO to enable edge detect interrupt for.

Returns
  None

Definition at line 467 of file ioc.c.

__STATIC_INLINE void IOCIntRegister | ( | void(*)(void) | pfnHandler | ) |

Register an interrupt handler for an IO edge interrupt.

This function does the actual registering of the interrupt handler. This function enables the global interrupt in the interrupt controller; specific IO interrupts must be enabled via IOCIntEnable(). It is the interrupt handler's responsibility to clear the interrupt source.

Parameters

  pfnHandler | is a pointer to the function to be called when the IOC interrupt occurs.

Returns
  None

See also
  IntRegister() for important information about registering interrupt handlers.

Definition at line 734 of file ioc.h.

__STATIC_INLINE uint32_t IOCIntStatus | ( | uint32_t | ui32IOId | ) |

Returns the status of the IO interrupts.

TBD : Please check with designer if IOC configuration bit (IOC_IOCFG0_EDGE_IRQ_EN) works as a masking bit for the interrupt generation. In other words will GPIO events always appear in the EVENT register in the GPIO module.

Parameters

  ui32IOId | is the IO to get the status for. IOID_0 ... IOID_31

Returns
  None

Definition at line 863 of file ioc.h.

__STATIC_INLINE void IOCIntUnregister | ( | void |  | ) |

Unregisters an interrupt handler for a IO edge interrupt.

This function does the actual unregistering of the interrupt handler. It clears the handler to be called when an IO edge interrupt occurs.

Returns
  None

See also
  IntRegister() for important information about registering interrupt handlers.

Definition at line 761 of file ioc.h.

void IOCIODrvStrengthSet | ( | uint32_t | ui32IOId,
|  | uint32_t | ui32IOCurrent,
|  | uint32_t | ui32DrvStrength
| ) |  |

Configure the drive strength and maxium current of an IO port.

This function sets the drive strength of an IO port.

Parameters

  ui32IOId | defines the IO to configure. IOID_0 ... IOID_31
  ui32IOCurrent | sets the IO current on the IO port. IOC_CURRENT_2MA IOC_CURRENT_4MA IOC_CURRENT_8MA IOC_CURRENT_16MA
  ui32DrvStrength | sets the drive strength for the IO port. IOC_STRENGTH_AUTO IOC_STRENGTH_MAX IOC_STRENGTH_MED IOC_STRENGTH_MIN

Returns
  None

Definition at line 399 of file ioc.c.

void IOCIOHystSet | ( | uint32_t | ui32IOId,
|  | uint32_t | ui32Hysteresis
| ) |  |

Configure hysteresis on and IO port.

This function is used to enable/disable hysteresis on an IO.

Parameters

  ui32IOId | defines the IO to configure. IOID_0 ... IOID_31
  ui32Hysteresis | enable/disable input hysteresis on IO. IOC_HYST_ENABLE IOC_HYST_DISABLE

Returns
  None

Definition at line 306 of file ioc.c.

void IOCIOInputSet | ( | uint32_t | ui32IOId,
|  | uint32_t | ui32Input
| ) |  |

Enable/disable IO port as input.

This function is used to enable/disable input on an IO.

Parameters

  ui32IOId | defines the IO to configure. IOID_0 ... IOID_31
  ui32Input | enable/disable input on IO. IOC_INPUT_ENABLE IOC_INPUT_DISABLE

Returns
  None

Definition at line 337 of file ioc.c.

void IOCIOIntSet | ( | uint32_t | ui32IOId,
|  | uint32_t | ui32Int,
|  | uint32_t | ui32EdgeDet
| ) |  |

Setup interrupt detection on an IO Port.

This function is used to setup the interrupt detection on an IO.

Parameters

  ui32IOId | defines the IO to configure. IOID_0 ... IOID_31
  ui32Int | enables/disables interrupt generation on this IO port. IOC_INT_ENABLE IOC_INT_DISABLE
  ui32EdgeDet | enables/disables edge detection events on this IO port. IOC_NO_EDGE IOC_FALLING_EDGE IOC_RISING_EDGE IOC_BOTH_EDGES

Returns
  None

Definition at line 239 of file ioc.c.

void IOCIOJTagSet | ( | uint32_t | ui32IOId,
|  | uint32_t | ui32IOJTag
| ) |  |

Set wake-up on an IO port.

This function is used to set the wake-up mode of an IO.

Parameters

  ui32IOId | defines the IO to configure. IOID_0 ... IOID_31
  ui32IOJTag | enables the IO for JTAG operation. IOC_JTAG_TDO_ENABLE IOC_JTAG_TDI_ENABLE IOC_JTAG_DISABLE

Returns
  None

void IOCIOModeSet | ( | uint32_t | ui32IOId,
|  | uint32_t | ui32IOMode
| ) |  |

Set the IO Mode of an IO Port.

This function is used to set the input/output mode of an IO.

Parameters

  ui32IOId | defines the IO to configure. IOID_0 ... IOID_31
  ui32IOMode | sets the port IO Mode. IOC_IOMODE_NORMAL IOC_IOMODE_INV IOC_IOMODE_OPEN_DRAIN_NORMAL IOC_IOMODE_OPEN_DRAIN_INV IOC_IOMODE_OPEN_SRC_NORMAL IOC_IOMODE_OPEN_SRC_INV

Returns
  None

Definition at line 204 of file ioc.c.

void IOCIOPortIdSet | ( | uint32_t | ui32IOId,
|  | uint32_t | ui32PortId
| ) |  |

Setup the Port ID for this IO.

The `ui32PortId` specifies which functional peripheral to hook up to this IO.

Parameters

  ui32IOId | defines the IO to configure. IOID_0 ... IOID_31
  ui32PortId | selects the port to map to the IO. IOC_PORT_GPIO IOC_PORT_AON_SCS IOC_PORT_AON_SCK IOC_PORT_AON_SDI IOC_PORT_AON_SDO IOC_PORT_AON_CLK32K IOC_PORT_AUX_IO IOC_PORT_MCU_SSI0_RX IOC_PORT_MCU_SSI0_TX IOC_PORT_MCU_SSI0_FSS IOC_PORT_MCU_SSI0_CLK IOC_PORT_MCU_I2C_MSSDA IOC_PORT_MCU_I2C_MSSCL IOC_PORT_MCU_UART0_RX IOC_PORT_MCU_UART0_TX IOC_PORT_MCU_UART0_CTS IOC_PORT_MCU_UART0_RTS IOC_PORT_MCU_PORT_EVENT0 IOC_PORT_MCU_PORT_EVENT1 IOC_PORT_MCU_PORT_EVENT2 IOC_PORT_MCU_PORT_EVENT3 IOC_PORT_MCU_PORT_EVENT4 IOC_PORT_MCU_PORT_EVENT5 IOC_PORT_MCU_PORT_EVENT6 IOC_PORT_MCU_PORT_EVENT7 IOC_PORT_MCU_SWV IOC_PORT_MCU_SSI1_RX IOC_PORT_MCU_SSI1_TX IOC_PORT_MCU_SSI1_FSS IOC_PORT_MCU_SSI1_CLK IOC_PORT_MCU_I2S_AD0 IOC_PORT_MCU_I2S_AD1 IOC_PORT_MCU_I2S_WCLK IOC_PORT_MCU_I2S_BCLK IOC_PORT_MCU_I2S_MCLK IOC_PORT_RFC_TRC IOC_PORT_RFC_GPO0 IOC_PORT_RFC_GPO1 IOC_PORT_RFC_GPO2 IOC_PORT_RFC_GPO3 IOC_PORT_RFC_GPI0 IOC_PORT_RFC_GPI1

Returns
  None

Definition at line 437 of file ioc.c.

void IOCIOPortPullSet | ( | uint32_t | ui32IOId,
|  | uint32_t | ui32Pull
| ) |  |

Set the pull on an IO port.

This function is used to configure the pull on an IO.

Parameters

  ui32IOId | defines the IO to configure. IOID_0 ... IOID_31
  ui32Pull | enables/disables pull on this IO port. IOC_NO_IOPULL IOC_IOPULL_UP IOC_IOPULL_DOWN

Returns
  None

Definition at line 274 of file ioc.c.

void IOCIOShutdownSet | ( | uint32_t | ui32IOId,
|  | uint32_t | ui32IOShutdown
| ) |  |

Set wake-up on an IO port.

This function is used to set the wake-up mode of an IO.

Parameters

  ui32IOId | defines the IO to configure. IOID_0 ... IOID_31
  ui32IOShutdown | enables wake-up on LOW/HIGH by this IO port. IOC_NO_WAKE_UP IOC_WAKE_ON_LOW IOC_WAKE_ON_HIGH

Returns
  None

Definition at line 171 of file ioc.c.

void IOCIOSlewCtrlSet | ( | uint32_t | ui32IOId,
|  | uint32_t | ui32SlewEnable
| ) |  |

Enable/disable the slew control on an IO port.

This function is used to enable/disable slew control on an IO.

Parameters

  ui32IOId | defines the IO to configure. IOID_0 ... IOID_31
  ui32SlewEnable | enables/disables the slew control on an output. IOC_SLEW_ENABLE IOC_SLEW_DISABLE

Returns
  None

Definition at line 368 of file ioc.c.

void IOCPinTypeAux | ( | uint32_t | ui32IOId | ) |

Configure an IO for AUX control.

Use this function to enable AUX to control a specific IO. Please note, that when using AUX to control the IO, the input/output control in the IOC is bypassed and completely controlled by AUX, so enabling or disabling input in the IOC has no effect.

Note
  The IOs available for AUX control can vary from device to device.

Parameters

  ui32IOId | is the IO to setup for AUX usage. IOID_0 ... IOID_31 IOID_UNUSED

Returns
  None

Definition at line 805 of file ioc.c.

void IOCPinTypeGpioInput | ( | uint32_t | ui32IOId | ) |

Setup an IO for standard GPIO input.

Setup an IO for standard GPIO input with the following configuration:

- Port ID:
  - IOC_PORT_GPIO
- Configuration:
  - IOC_CURRENT_2MA
  - IOC_STRENGTH_AUTO
  - IOC_NO_IOPULL
  - IOC_SLEW_DISABLE
  - IOC_HYST_DISABLE
  - IOC_NO_EDGE
  - IOC_INT_DISABLE
  - IOC_IOMODE_NORMAL
  - IOC_NO_WAKE_UP
  - IOC_INPUT_ENABLE
  - IOC_JTAG_DISABLE

Parameters

  ui32IOId | is the IO to setup for GPIO input IOID_0 ... IOID_31

Returns
  None

Definition at line 525 of file ioc.c.

void IOCPinTypeGpioOutput | ( | uint32_t | ui32IOId | ) |

Setup an IO for standard GPIO output.

Setup an IO for standard GPIO output with the following configuration:

- Port ID:
  - IOC_PORT_GPIO
- Configuration:
  - IOC_CURRENT_2MA
  - IOC_STRENGTH_AUTO
  - IOC_NO_IOPULL
  - IOC_SLEW_DISABLE
  - IOC_HYST_DISABLE
  - IOC_NO_EDGE
  - IOC_INT_DISABLE
  - IOC_IOMODE_NORMAL
  - IOC_NO_WAKE_UP
  - IOC_INPUT_DISABLE
  - IOC_JTAG_DISABLE

Parameters

  ui32IOId | is the IO to setup for GPIO output IOID_0 ... IOID_31

Returns
  None

Definition at line 549 of file ioc.c.

void IOCPinTypeI2c | ( | uint32_t | ui32Base,
|  | uint32_t | ui32Data,
|  | uint32_t | ui32Clk
| ) |  |

Configure a set of IOs for standard I2C peripheral control.

Parameters

  ui32Base | is the base address of the I2C module to connect to the IOs
  ui32Data | is the I2C data line IOID_0 ... IOID_31 IOID_UNUSED
  ui32Clk | is the I2C input clock IOID_0 ... IOID_31 IOID_UNUSED

Returns
  None

Definition at line 736 of file ioc.c.

void IOCPinTypeSpis | ( | uint32_t | ui32Rx,
|  | uint32_t | ui32Tx,
|  | uint32_t | ui32Fss,
|  | uint32_t | ui32Clk
| ) |  |

Configure a set of IOs for standard SPIS peripheral control.

Parameters

  ui32Rx | is the IO to connect to the SPIs MOSI line. IOID_0 ... IOID_31 IOID_UNUSED
  ui32Tx | is the IO to connect to the SPIS MISO line. IOID_0 ... IOID_31 IOID_UNUSED
  ui32Fss | is the IO to connect to the SPIS FSS line. IOID_0 ... IOID_31 IOID_UNUSED
  ui32Clk | is the IO to connect to the SPIS Clock input line. IOID_0 ... IOID_31 IOID_UNUSED

Returns
  None

Definition at line 767 of file ioc.c.

void IOCPinTypeSsiMaster | ( | uint32_t | ui32Base,
|  | uint32_t | ui32Rx,
|  | uint32_t | ui32Tx,
|  | uint32_t | ui32Fss,
|  | uint32_t | ui32Clk
| ) |  |

Configure a set of IOs for standard SSI peripheral master control.

Parameters

  ui32Base | is the mase address of the SSI module to connect to the IOs
  ui32Rx | is the IO to connect to the SSI MISO line. IOID_0 ... IOID_31 IOID_UNUSED
  ui32Tx | is the IO to connect to the SSI MOSI line. IOID_0 ... IOID_31 IOID_UNUSED
  ui32Fss | is the IO to connect to the SSI FSS line. IOID_0 ... IOID_31 IOID_UNUSED
  ui32Clk | is the IO to connect to the SSI Clock output line. IOID_0 ... IOID_31 IOID_UNUSED

Returns
  None

Definition at line 612 of file ioc.c.

void IOCPinTypeSsiSlave | ( | uint32_t | ui32Base,
|  | uint32_t | ui32Rx,
|  | uint32_t | ui32Tx,
|  | uint32_t | ui32Fss,
|  | uint32_t | ui32Clk
| ) |  |

Configure a set of IOs for standard SSI peripheral slave control.

Parameters

  ui32Base | is the base address of the SSI module to connect to the IOs
  ui32Rx | is the IO to connect to the SSI MOSI line. IOID_0 ... IOID_31 IOID_UNUSED
  ui32Tx | is the IO to connect to the SSI MISO line. IOID_0 ... IOID_31 IOID_UNUSED
  ui32Fss | is the IO to connect to the SSI FSS line. IOID_0 ... IOID_31 IOID_UNUSED
  ui32Clk | is the IO to connect to the SSI Clock input line.

Returns
  None

Definition at line 674 of file ioc.c.

void IOCPinTypeUart | ( | uint32_t | ui32Base,
|  | uint32_t | ui32Rx,
|  | uint32_t | ui32Tx,
|  | uint32_t | ui32Cts,
|  | uint32_t | ui32Rts
| ) |  |

Configure a set of IOs for standard UART peripheral control.

The UART pins must be properly configured for the UART peripheral to function correctly. This function provides a typical configuration for those pin(s). Other configurations may work as well depending upon the board setup (for example, using the on-chip pull-ups).

Note
  If a UART pin is not intended to be used, then the parameter in the function should be IOID_UNUSED.

Parameters

  ui32Base | is the base address of the UART module.
  ui32Rx | is the IO Id of the IO to use as UART Receive. IOID_0 ... IOID_31 IOID_UNUSED
  ui32Tx | is the IO Id of the IO to use as UART Transmit. IOID_0 ... IOID_31 IOID_UNUSED
  ui32Cts | is the IO Id of the IO to use for UART Clear to send. IOID_0 ... IOID_31 IOID_UNUSED
  ui32Rts | is the IO Id of the IO to use for UART Request to send. IOID_0 ... IOID_31 IOID_UNUSED

Returns
  None

Definition at line 573 of file ioc.c.

uint32_t IOCPortConfigureGet | ( | uint32_t | ui32IOId | ) |

Get the configuration of an IO port.

This function is used for getting the configuration of an IO.

Each IO port has a dedicated register for setting up the IO. This function returns the current configuration for the given IO.

Parameters

  ui32IOId | selects the IO to return the configuration for. IOID_0 ... IOID_31

Returns
  Returns the IO Port configuration. See IOCPortConfigureSet() for configuration options.

Definition at line 145 of file ioc.c.

void IOCPortConfigureSet | ( | uint32_t | ui32IOId,
|  | uint32_t | ui32PortId,
|  | uint32_t | ui32IOConfig
| ) |  |

Set the configuration of an IO port.

This function is used to configure the functionality of an IO.

The `ui32IOId` parameter specifies which IO to configure.

The `ui32PortId` parameter specifies which functional peripheral to hook up to this IO.

The `ui32IOConfig` parameter consists of a bitwise OR'ed value of all the available configuration modes

Note
  All IO Ports are tied to a specific functionality in a sub module except for the IOC_PORT_AUX_IO. Each of the IOs in the AUX domain are hardcoded to a specific IO. When enabling one or more pins for the AUX domain, they should all be configured to using IOC_PORT_AUX_IO.

Parameters

  ui32IOId | defines the IO to configure and must be one of the following: IOID_0 ... IOID_31
  ui32PortId | selects the functional IO port to connect. The available IO ports are: IOC_PORT_GPIO IOC_PORT_AON_SCS IOC_PORT_AON_SCK IOC_PORT_AON_SDI IOC_PORT_AON_SDO IOC_PORT_AON_CLK32K IOC_PORT_AUX_IO IOC_PORT_MCU_SSI0_RX IOC_PORT_MCU_SSI0_TX IOC_PORT_MCU_SSI0_FSS IOC_PORT_MCU_SSI0_CLK IOC_PORT_MCU_I2C_MSSDA IOC_PORT_MCU_I2C_MSSCL IOC_PORT_MCU_UART0_RX IOC_PORT_MCU_UART0_TX IOC_PORT_MCU_UART0_CTS IOC_PORT_MCU_UART0_RTS IOC_PORT_MCU_PORT_EVENT0 IOC_PORT_MCU_PORT_EVENT1 IOC_PORT_MCU_PORT_EVENT2 IOC_PORT_MCU_PORT_EVENT3 IOC_PORT_MCU_PORT_EVENT4 IOC_PORT_MCU_PORT_EVENT5 IOC_PORT_MCU_PORT_EVENT6 IOC_PORT_MCU_PORT_EVENT7 IOC_PORT_MCU_SWV IOC_PORT_MCU_SSI1_RX IOC_PORT_MCU_SSI1_TX IOC_PORT_MCU_SSI1_FSS IOC_PORT_MCU_SSI1_CLK IOC_PORT_MCU_I2S_AD0 IOC_PORT_MCU_I2S_AD1 IOC_PORT_MCU_I2S_WCLK IOC_PORT_MCU_I2S_BCLK IOC_PORT_MCU_I2S_MCLK IOC_PORT_RFC_TRC IOC_PORT_RFC_GPO0 IOC_PORT_RFC_GPO1 IOC_PORT_RFC_GPO2 IOC_PORT_RFC_GPO3 IOC_PORT_RFC_GPI0 IOC_PORT_RFC_GPI1
  ui32IOConfig | is the IO configuration consisting of the bitwise OR of all configuration modes: Input/output mode: IOC_IOMODE_NORMAL IOC_IOMODE_INV IOC_IOMODE_OPEN_DRAIN_NORMAL IOC_IOMODE_OPEN_DRAIN_INV IOC_IOMODE_OPEN_SRC_NORMAL IOC_IOMODE_OPEN_SRC_INV Wake up mode: IOC_NO_WAKE_UP IOC_WAKE_ON_LOW IOC_WAKE_ON_HIGH JTAG configuration modes: IOC_JTAG_TDO_ENABLE IOC_JTAG_TDI_ENABLE IOC_JTAG_DISABLE Edge detection mode: IOC_NO_EDGE IOC_FALLING_EDGE IOC_RISING_EDGE IOC_BOTH_EDGES Interrupt mode on edge detection: IOC_INT_ENABLE IOC_INT_DISABLE Pull mode: IOC_NO_IOPULL IOC_IOPULL_UP IOC_IOPULL_DOWN Input mode: IOC_INPUT_ENABLE IOC_INPUT_DISABLE Hysteresis mode: IOC_HYST_ENABLE IOC_HYST_DISABLE Slew control mode: IOC_SLEW_ENABLE IOC_SLEW_DISABLE Maximum current mode: IOC_CURRENT_2MA IOC_CURRENT_4MA IOC_CURRENT_8MA IOC_CURRENT_16MA Drive strength mode: IOC_STRENGTH_AUTO IOC_STRENGTH_MAX IOC_STRENGTH_MED IOC_STRENGTH_MIN

Returns
  None

Definition at line 117 of file ioc.c.

Referenced by IOCPinTypeAux(), IOCPinTypeGpioInput(), IOCPinTypeGpioOutput(), IOCPinTypeI2c(), IOCPinTypeSpis(), IOCPinTypeSsiMaster(), IOCPinTypeSsiSlave(), and IOCPinTypeUart().

## Macro Definition Documentation

#define IOC_BOTH_EDGES 0x00030000

Definition at line 263 of file ioc.h.

Referenced by IOCIOIntSet().

#define IOC_CURRENT_16MA 0x00000C00

Definition at line 287 of file ioc.h.

Referenced by IOCIODrvStrengthSet().

#define IOC_CURRENT_2MA 0x00000000

Definition at line 284 of file ioc.h.

Referenced by IOCIODrvStrengthSet(), and IOCPinTypeI2c().

#define IOC_CURRENT_4MA 0x00000400

Definition at line 285 of file ioc.h.

Referenced by IOCIODrvStrengthSet().

#define IOC_CURRENT_8MA 0x00000800

Definition at line 286 of file ioc.h.

Referenced by IOCIODrvStrengthSet().

#define IOC_FALLING_EDGE 0x00010000

Definition at line 261 of file ioc.h.

Referenced by IOCIOIntSet().

#define IOC_HYST_DISABLE 0x00000000

Definition at line 223 of file ioc.h.

Referenced by IOCIOHystSet(), and IOCPinTypeI2c().

#define IOC_HYST_ENABLE 0x40000000

Definition at line 222 of file ioc.h.

Referenced by IOCIOHystSet().

#define IOC_INPUT_DISABLE 0x00000000

Definition at line 221 of file ioc.h.

Referenced by IOCIOInputSet().

#define IOC_INPUT_ENABLE 0x20000000

Definition at line 220 of file ioc.h.

Referenced by IOCIOInputSet(), and IOCPinTypeI2c().

#define IOC_INT_DISABLE 0x00000000

Definition at line 265 of file ioc.h.

Referenced by IOCIOIntSet(), and IOCPinTypeI2c().

#define IOC_INT_ENABLE 0x00040000

Definition at line 264 of file ioc.h.

Referenced by IOCIOIntSet().

#define IOC_INT_M 0x00070000

Definition at line 266 of file ioc.h.

#define IOC_IOID_MASK 0x000000FF

Definition at line 156 of file ioc.h.

#define IOC_IOMODE_INV 0x01000000

Definition at line 243 of file ioc.h.

Referenced by IOCIOModeSet().

#define IOC_IOMODE_NORMAL 0x00000000

Definition at line 242 of file ioc.h.

Referenced by IOCIOModeSet().

#define IOC_IOMODE_OPEN_DRAIN_INV 0x05000000

Definition at line 246 of file ioc.h.

Referenced by IOCIOModeSet().

#define IOC_IOMODE_OPEN_DRAIN_NORMAL 0x04000000

Definition at line 244 of file ioc.h.

Referenced by IOCIOModeSet(), and IOCPinTypeI2c().

#define IOC_IOMODE_OPEN_SRC_INV 0x07000000

Definition at line 251 of file ioc.h.

Referenced by IOCIOModeSet().

#define IOC_IOMODE_OPEN_SRC_NORMAL 0x06000000

Definition at line 249 of file ioc.h.

Referenced by IOCIOModeSet().

#define IOC_IOPULL_DOWN 0x00002000

Definition at line 275 of file ioc.h.

Referenced by IOCIOPortPullSet().

#define IOC_IOPULL_M 0x00006000

Definition at line 277 of file ioc.h.

#define IOC_IOPULL_M 0x00006000

Definition at line 277 of file ioc.h.

#define IOC_IOPULL_UP 0x00004000

Definition at line 274 of file ioc.h.

Referenced by IOCIOPortPullSet(), and IOCPinTypeI2c().

#define IOC_JTAG_DISABLE 0x00000000

Definition at line 226 of file ioc.h.

#define IOC_JTAG_TDI_ENABLE 0x00100000

Definition at line 225 of file ioc.h.

#define IOC_JTAG_TDO_ENABLE 0x00080000

Definition at line 224 of file ioc.h.

#define IOC_NO_EDGE 0x00000000

Definition at line 260 of file ioc.h.

Referenced by IOCIOIntSet(), and IOCPinTypeI2c().

#define IOC_NO_IOPULL 0x00006000

Definition at line 273 of file ioc.h.

Referenced by IOCIOPortPullSet().

#define IOC_NO_WAKE_UP 0x00000000

Definition at line 233 of file ioc.h.

Referenced by IOCIOShutdownSet(), and IOCPinTypeI2c().

#define IOC_PORT_AON_CLK32K 0x00000007

Definition at line 175 of file ioc.h.

#define IOC_PORT_AON_SCK 0x00000002

Definition at line 172 of file ioc.h.

Referenced by IOCPinTypeSpis().

#define IOC_PORT_AON_SCS 0x00000001

Definition at line 171 of file ioc.h.

Referenced by IOCPinTypeSpis().

#define IOC_PORT_AON_SDI 0x00000003

Definition at line 173 of file ioc.h.

Referenced by IOCPinTypeSpis().

#define IOC_PORT_AON_SDO 0x00000004

Definition at line 174 of file ioc.h.

Referenced by IOCPinTypeSpis().

#define IOC_PORT_AUX_IO 0x00000008

Definition at line 176 of file ioc.h.

Referenced by IOCPinTypeAux().

#define IOC_PORT_GPIO 0x00000000

Definition at line 170 of file ioc.h.

Referenced by IOCPinTypeGpioInput(), and IOCPinTypeGpioOutput().

#define IOC_PORT_MCU_I2C_MSSCL 0x0000000E

Definition at line 182 of file ioc.h.

Referenced by IOCPinTypeI2c().

#define IOC_PORT_MCU_I2C_MSSDA 0x0000000D

Definition at line 181 of file ioc.h.

Referenced by IOCPinTypeI2c().

#define IOC_PORT_MCU_I2S_AD0 0x00000025

Definition at line 200 of file ioc.h.

#define IOC_PORT_MCU_I2S_AD1 0x00000026

Definition at line 201 of file ioc.h.

#define IOC_PORT_MCU_I2S_BCLK 0x00000028

Definition at line 203 of file ioc.h.

#define IOC_PORT_MCU_I2S_MCLK 0x00000029

Definition at line 204 of file ioc.h.

#define IOC_PORT_MCU_I2S_WCLK 0x00000027

Definition at line 202 of file ioc.h.

#define IOC_PORT_MCU_PORT_EVENT0 0x00000017

Definition at line 187 of file ioc.h.

#define IOC_PORT_MCU_PORT_EVENT1 0x00000018

Definition at line 188 of file ioc.h.

#define IOC_PORT_MCU_PORT_EVENT2 0x00000019

Definition at line 189 of file ioc.h.

#define IOC_PORT_MCU_PORT_EVENT3 0x0000001A

Definition at line 190 of file ioc.h.

#define IOC_PORT_MCU_PORT_EVENT4 0x0000001B

Definition at line 191 of file ioc.h.

#define IOC_PORT_MCU_PORT_EVENT5 0x0000001C

Definition at line 192 of file ioc.h.

#define IOC_PORT_MCU_PORT_EVENT6 0x0000001D

Definition at line 193 of file ioc.h.

#define IOC_PORT_MCU_PORT_EVENT7 0x0000001E

Definition at line 194 of file ioc.h.

#define IOC_PORT_MCU_SSI0_CLK 0x0000000C

Definition at line 180 of file ioc.h.

Referenced by IOCPinTypeSsiMaster(), and IOCPinTypeSsiSlave().

#define IOC_PORT_MCU_SSI0_FSS 0x0000000B

Definition at line 179 of file ioc.h.

Referenced by IOCPinTypeSsiMaster(), and IOCPinTypeSsiSlave().

#define IOC_PORT_MCU_SSI0_RX 0x00000009

Definition at line 177 of file ioc.h.

Referenced by IOCPinTypeSsiMaster(), and IOCPinTypeSsiSlave().

#define IOC_PORT_MCU_SSI0_TX 0x0000000A

Definition at line 178 of file ioc.h.

Referenced by IOCPinTypeSsiMaster(), and IOCPinTypeSsiSlave().

#define IOC_PORT_MCU_SSI1_CLK 0x00000024

Definition at line 199 of file ioc.h.

Referenced by IOCPinTypeSsiMaster(), and IOCPinTypeSsiSlave().

#define IOC_PORT_MCU_SSI1_FSS 0x00000023

Definition at line 198 of file ioc.h.

Referenced by IOCPinTypeSsiMaster(), and IOCPinTypeSsiSlave().

#define IOC_PORT_MCU_SSI1_RX 0x00000021

Definition at line 196 of file ioc.h.

Referenced by IOCPinTypeSsiMaster(), and IOCPinTypeSsiSlave().

#define IOC_PORT_MCU_SSI1_TX 0x00000022

Definition at line 197 of file ioc.h.

Referenced by IOCPinTypeSsiMaster(), and IOCPinTypeSsiSlave().

#define IOC_PORT_MCU_SWV 0x00000020

Definition at line 195 of file ioc.h.

#define IOC_PORT_MCU_UART0_CTS 0x00000011

Definition at line 185 of file ioc.h.

Referenced by IOCPinTypeUart().

#define IOC_PORT_MCU_UART0_RTS 0x00000012

Definition at line 186 of file ioc.h.

Referenced by IOCPinTypeUart().

#define IOC_PORT_MCU_UART0_RX 0x0000000F

Definition at line 183 of file ioc.h.

Referenced by IOCPinTypeUart().

#define IOC_PORT_MCU_UART0_TX 0x00000010

Definition at line 184 of file ioc.h.

Referenced by IOCPinTypeUart().

#define IOC_PORT_RFC_GPI0 0x00000033

Definition at line 210 of file ioc.h.

#define IOC_PORT_RFC_GPI1 0x00000034

Definition at line 211 of file ioc.h.

#define IOC_PORT_RFC_GPO0 0x0000002F

Definition at line 206 of file ioc.h.

#define IOC_PORT_RFC_GPO1 0x00000030

Definition at line 207 of file ioc.h.

#define IOC_PORT_RFC_GPO2 0x00000031

Definition at line 208 of file ioc.h.

#define IOC_PORT_RFC_GPO3 0x00000032

Definition at line 209 of file ioc.h.

#define IOC_PORT_RFC_TRC 0x0000002E

Definition at line 205 of file ioc.h.

#define IOC_RISING_EDGE 0x00020000

Definition at line 262 of file ioc.h.

Referenced by IOCIOIntSet().

#define IOC_SLEW_DISABLE 0x00000000

Definition at line 219 of file ioc.h.

Referenced by IOCIOSlewCtrlSet(), and IOCPinTypeI2c().

#define IOC_SLEW_ENABLE 0x00001000

Definition at line 218 of file ioc.h.

Referenced by IOCIOSlewCtrlSet().

#define IOC_STD_INPUT

Value:
(IOC_CURRENT_2MA | IOC_STRENGTH_AUTO | \
IOC_NO_IOPULL | IOC_SLEW_DISABLE | \
IOC_HYST_DISABLE | IOC_NO_EDGE | \
IOC_INT_DISABLE | IOC_IOMODE_NORMAL | \
IOC_NO_WAKE_UP | IOC_INPUT_ENABLE | \
IOC_JTAG_DISABLE)
IOC_INPUT_ENABLE
#define IOC_INPUT_ENABLE
Definition: ioc.h:220
IOC_INT_DISABLE
#define IOC_INT_DISABLE
Definition: ioc.h:265
IOC_NO_WAKE_UP
#define IOC_NO_WAKE_UP
Definition: ioc.h:233
IOC_CURRENT_2MA
#define IOC_CURRENT_2MA
Definition: ioc.h:284
IOC_NO_EDGE
#define IOC_NO_EDGE
Definition: ioc.h:260
IOC_SLEW_DISABLE
#define IOC_SLEW_DISABLE
Definition: ioc.h:219
IOC_STRENGTH_AUTO
#define IOC_STRENGTH_AUTO
Definition: ioc.h:289
IOC_HYST_DISABLE
#define IOC_HYST_DISABLE
Definition: ioc.h:223
IOC_IOMODE_NORMAL
#define IOC_IOMODE_NORMAL
Definition: ioc.h:242
IOC_JTAG_DISABLE
#define IOC_JTAG_DISABLE
Definition: ioc.h:226
IOC_NO_IOPULL
#define IOC_NO_IOPULL
Definition: ioc.h:273

Definition at line 302 of file ioc.h.

Referenced by IOCPinTypeAux(), IOCPinTypeGpioInput(), IOCPinTypeSpis(), IOCPinTypeSsiMaster(), IOCPinTypeSsiSlave(), and IOCPinTypeUart().

#define IOC_STD_OUTPUT

Value:
(IOC_CURRENT_2MA | IOC_STRENGTH_AUTO | \
IOC_NO_IOPULL | IOC_SLEW_DISABLE | \
IOC_HYST_DISABLE | IOC_NO_EDGE | \
IOC_INT_DISABLE | IOC_IOMODE_NORMAL | \
IOC_NO_WAKE_UP | IOC_INPUT_DISABLE | \
IOC_JTAG_DISABLE)
IOC_INT_DISABLE
#define IOC_INT_DISABLE
Definition: ioc.h:265
IOC_INPUT_DISABLE
#define IOC_INPUT_DISABLE
Definition: ioc.h:221
IOC_NO_WAKE_UP
#define IOC_NO_WAKE_UP
Definition: ioc.h:233
IOC_CURRENT_2MA
#define IOC_CURRENT_2MA
Definition: ioc.h:284
IOC_NO_EDGE
#define IOC_NO_EDGE
Definition: ioc.h:260
IOC_SLEW_DISABLE
#define IOC_SLEW_DISABLE
Definition: ioc.h:219
IOC_STRENGTH_AUTO
#define IOC_STRENGTH_AUTO
Definition: ioc.h:289
IOC_HYST_DISABLE
#define IOC_HYST_DISABLE
Definition: ioc.h:223
IOC_IOMODE_NORMAL
#define IOC_IOMODE_NORMAL
Definition: ioc.h:242
IOC_JTAG_DISABLE
#define IOC_JTAG_DISABLE
Definition: ioc.h:226
IOC_NO_IOPULL
#define IOC_NO_IOPULL
Definition: ioc.h:273

Definition at line 308 of file ioc.h.

Referenced by IOCPinTypeGpioOutput(), IOCPinTypeSpis(), IOCPinTypeSsiMaster(), IOCPinTypeSsiSlave(), and IOCPinTypeUart().

#define IOC_STRENGTH_AUTO 0x00000000

Definition at line 289 of file ioc.h.

Referenced by IOCIODrvStrengthSet(), and IOCPinTypeI2c().

#define IOC_STRENGTH_MAX 0x00000300

Definition at line 291 of file ioc.h.

Referenced by IOCIODrvStrengthSet().

#define IOC_STRENGTH_MED 0x00000200

Definition at line 293 of file ioc.h.

Referenced by IOCIODrvStrengthSet().

#define IOC_STRENGTH_MIN 0x00000100

Definition at line 295 of file ioc.h.

Referenced by IOCIODrvStrengthSet().

#define IOC_WAKE_ON_HIGH 0x18000000

Definition at line 235 of file ioc.h.

Referenced by IOCIOShutdownSet().

#define IOC_WAKE_ON_LOW 0x10000000

Definition at line 234 of file ioc.h.

Referenced by IOCIOShutdownSet().

#define IOID_0 0x00000000

Definition at line 122 of file ioc.h.

#define IOID_1 0x00000001

Definition at line 123 of file ioc.h.

#define IOID_10 0x0000000A

Definition at line 132 of file ioc.h.

#define IOID_11 0x0000000B

Definition at line 133 of file ioc.h.

#define IOID_12 0x0000000C

Definition at line 134 of file ioc.h.

#define IOID_13 0x0000000D

Definition at line 135 of file ioc.h.

#define IOID_14 0x0000000E

Definition at line 136 of file ioc.h.

#define IOID_15 0x0000000F

Definition at line 137 of file ioc.h.

#define IOID_16 0x00000010

Definition at line 138 of file ioc.h.

#define IOID_17 0x00000011

Definition at line 139 of file ioc.h.

#define IOID_18 0x00000012

Definition at line 140 of file ioc.h.

#define IOID_19 0x00000013

Definition at line 141 of file ioc.h.

#define IOID_2 0x00000002

Definition at line 124 of file ioc.h.

#define IOID_20 0x00000014

Definition at line 142 of file ioc.h.

#define IOID_21 0x00000015

Definition at line 143 of file ioc.h.

#define IOID_22 0x00000016

Definition at line 144 of file ioc.h.

#define IOID_23 0x00000017

Definition at line 145 of file ioc.h.

#define IOID_24 0x00000018

Definition at line 146 of file ioc.h.

#define IOID_25 0x00000019

Definition at line 147 of file ioc.h.

#define IOID_26 0x0000001A

Definition at line 148 of file ioc.h.

#define IOID_27 0x0000001B

Definition at line 149 of file ioc.h.

#define IOID_28 0x0000001C

Definition at line 150 of file ioc.h.

#define IOID_29 0x0000001D

Definition at line 151 of file ioc.h.

#define IOID_3 0x00000003

Definition at line 125 of file ioc.h.

#define IOID_30 0x0000001E

Definition at line 152 of file ioc.h.

#define IOID_31 0x0000001F

Definition at line 153 of file ioc.h.

Referenced by IOCIntClear(), IOCIntDisable(), IOCIntEnable(), IOCIntStatus(), IOCIODrvStrengthSet(), IOCIOHystSet(), IOCIOInputSet(), IOCIOIntSet(), IOCIOModeSet(), IOCIOPortIdSet(), IOCIOPortPullSet(), IOCIOShutdownSet(), IOCIOSlewCtrlSet(), IOCPinTypeAux(), IOCPinTypeGpioInput(), IOCPinTypeGpioOutput(), IOCPinTypeI2c(), IOCPinTypeSpis(), IOCPinTypeSsiMaster(), IOCPinTypeSsiSlave(), IOCPinTypeUart(), IOCPortConfigureGet(), and IOCPortConfigureSet().

#define IOID_4 0x00000004

Definition at line 126 of file ioc.h.

#define IOID_5 0x00000005

Definition at line 127 of file ioc.h.

#define IOID_6 0x00000006

Definition at line 128 of file ioc.h.

#define IOID_7 0x00000007

Definition at line 129 of file ioc.h.

#define IOID_8 0x00000008

Definition at line 130 of file ioc.h.

#define IOID_9 0x00000009

Definition at line 131 of file ioc.h.

#define IOID_UNUSED 0xFFFFFFFF

Definition at line 154 of file ioc.h.

Referenced by IOCPinTypeAux(), IOCPinTypeI2c(), IOCPinTypeSpis(), IOCPinTypeSsiMaster(), IOCPinTypeSsiSlave(), and IOCPinTypeUart().

#define NUM_IO_MAX 32

Definition at line 115 of file ioc.h.

#define NUM_IO_PORTS 56

Definition at line 163 of file ioc.h.