CC27xxx10DriverLibrary
ioc.h File Reference
#include <stdint.h>
#include <string.h>
#include "../inc/hw_types.h"
#include "../inc/hw_memmap.h"
#include "../inc/hw_ioc.h"
#include "debug.h"
Include dependency graph for ioc.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define IOC_REG_SPACING   4U
 IOC register spacing. More...
 
IOC Config masks

These are masks for each config field.

#define IOC_CONFIG_DRIVE_STRENGTH_M
 Bit mask for the drive strength field. More...
 
#define IOC_CONFIG_SLEW_RATE_M
 Bit mask for the slew rate field. More...
 
#define IOC_CONFIG_PULL_CONTROL_M
 Bit mask for the pull control field. More...
 
#define IOC_CONFIG_EDGE_DETECT_M
 Bit mask for the edge detection field. More...
 
#define IOC_CONFIG_STANDBY_WAKEUP_M
 Bit mask for the standby wakeup field. More...
 
#define IOC_CONFIG_SHUTDOWN_WAKEUP_M
 Bit mask for the shutdown wakeup field. More...
 
#define IOC_CONFIG_INVERT_M
 Bit mask for the IO invert field. More...
 
#define IOC_CONFIG_IO_MODE_M
 Bit mask for the IO mode field. More...
 
#define IOC_CONFIG_INPUT_BUFFER_M
 Bit mask for the input buffer field. More...
 
#define IOC_CONFIG_HYSTERESIS_M
 Bit mask for the hysteresis field. More...
 
#define IOC_CONFIG_ALL_M
 Bit mask for all IOC config options. More...
 
IOC Config drive strength options

#define IOC_CONFIG_DRIVE_STRENGTH_8MA
 Manual mode, 8 mA drive strength. More...
 
#define IOC_CONFIG_DRIVE_STRENGTH_4MA
 Manual mode, 4 mA drive strength. More...
 
#define IOC_CONFIG_DRIVE_STRENGTH_2MA
 Manual mode, 2 mA drive strength. More...
 
IOC Config slew rate options

#define IOC_CONFIG_SLEW_RATE_NORMAL
 Normal slew rate. More...
 
#define IOC_CONFIG_SLEW_RATE_REDUCED
 Reduced slew rate. More...
 
IOC Config pull control options

#define IOC_CONFIG_PULL_CONTROL_NONE
 No pull. More...
 
#define IOC_CONFIG_PULL_CONTROL_UP
 Pull up. More...
 
#define IOC_CONFIG_PULL_CONTROL_DOWN
 Pull down. More...
 
IOC Config edge detection options

#define IOC_CONFIG_EDGE_DETECT_DISABLED
 Edge detection disabled. More...
 
#define IOC_CONFIG_EDGE_DETECT_FALLING
 Detect falling edge. More...
 
#define IOC_CONFIG_EDGE_DETECT_RISING
 Detect rising edge. More...
 
#define IOC_CONFIG_EDGE_DETECT_BOTH
 Detect falling and rising edges. More...
 
IOC Config standby wakeup options

#define IOC_CONFIG_STANDBY_WAKEUP_DISABLED
 Standby wakeup disabled. More...
 
#define IOC_CONFIG_STANDBY_WAKEUP_ENABLED
 
IOC Config shutdown wakeup options

#define IOC_CONFIG_SHUTDOWN_WAKEUP_DISABLED
 Shutdown wakeup disabled. More...
 
#define IOC_CONFIG_SHUTDOWN_WAKEUP_HIGH
 
#define IOC_CONFIG_SHUTDOWN_WAKEUP_LOW
 
IOC Config IO invert options

#define IOC_CONFIG_INVERT_ENABLED
 Input/output values are inverted. More...
 
#define IOC_CONFIG_INVERT_DISABLED
 Input/output values are normal (default) More...
 
IOC Config IO mode options

#define IOC_CONFIG_IO_MODE_NORMAL
 Normal IO mode. More...
 
#define IOC_CONFIG_IO_MODE_OPEN_DRAIN
 Open drain IO mode. More...
 
#define IOC_CONFIG_IO_MODE_OPEN_SOURCE
 Open source IO mode. More...
 
IOC Config input buffer options

#define IOC_CONFIG_INPUT_BUFFER_DISABLED
 Input buffer is disabled. More...
 
#define IOC_CONFIG_INPUT_BUFFER_ENABLED
 Input buffer is enabled. More...
 
IOC Config hysteresis options

#define IOC_CONFIG_HYSTERESIS_DISABLED
 Hysteresis is disabled. More...
 
#define IOC_CONFIG_HYSTERESIS_ENABLED
 Hysteresis is enabled. More...
 
IOC Mux options
#define IOC_MUX_GPIO
 GPIO function. More...
 
#define IOC_MUX_DTB   (IOC_IOC2_PORTCFG_DTB)
 Digital Test Bus (DTB) function. More...
 
#define IOC_MUX_ANALOG
 Analog function. More...
 
#define IOC_MUX_PERIPH_FUNC1
 Digital peripheral function 1. More...
 
#define IOC_MUX_PERIPH_FUNC2
 Digital peripheral function 2. More...
 
#define IOC_MUX_PERIPH_FUNC3
 Digital peripheral function 3. More...
 
#define IOC_MUX_PERIPH_FUNC4
 Digital peripheral function 4. More...
 
#define IOC_MUX_PERIPH_FUNC5
 Digital peripheral function 5. More...
 

Functions

__STATIC_INLINE void IOCSetConfigAndMux (uint32_t dioNumber, uint32_t config, uint32_t mux)
 Set the configuration and mux option for a specific DIO. More...
 
__STATIC_INLINE uint32_t IOCGetMux (uint32_t dioNumber)
 Get the current mux option for a specific DIO. More...
 
__STATIC_INLINE uint32_t IOCGetConfig (uint32_t dioNumber)
 Get the current configuration for a specific DIO. More...
 
__STATIC_INLINE void IOCSetEdgeDetectConfig (uint32_t dioNumber, uint32_t edgeDetectConfig)
 Set the edge detect configuration for a specific DIO, while keeping all other configs the same. More...