TI-RTOS for SimpleLink Wireless MCUs  2.14.03.28
Macros | Functions | Variables
PINCC26XX.h File Reference

Detailed Description

Device-specific pin & GPIO driver for CC26xx family [def].


Overview

This is the device-specific implementation of the generic PIN driver for the CC26xx family of devices.

#include <ti/drivers/PIN.h>
#include <driverlib/ioc.h>
#include <driverlib/gpio.h>
#include <ti/sysbios/family/arm/m3/Hwi.h>
#include <stdint.h>
#include <stddef.h>
Include dependency graph for PINCC26XX.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define PIN_CHKEN   1
 
Device-specific PIN_Config flags/fields for CC26xx family

CC26XX-specific I/O configuration fields/flags for use in PIN_Config entries. These fields flags/for the most part map directly to the values used in the IOCFG hardware registers for efficiency. May not be mixed with device-independent I/O options.

#define PINCC26XX_INPUT_EN   (1<<29)
 Enable input buffer. More...
 
#define PINCC26XX_HYSTERESIS   (1<<30)
 Enable input buffer hysteresis. More...
 
#define PINCC26XX_NOPULL   (0x3<<13)
 No pull-up or pull-down resistor. More...
 
#define PINCC26XX_PULLUP   (0x2<<13)
 ~20k pull-up resistor enabled More...
 
#define PINCC26XX_PULLDOWN   (0x1<<13)
 ~20k pull-down resistor enabled More...
 
#define PINCC26XX_BM_INPUT_EN   (0x01<<29)
 Bitmask for input enable option. More...
 
#define PINCC26XX_BM_HYSTERESIS   (0x01<<30)
 Bitmask for all input mode options. More...
 
#define PINCC26XX_BM_PULLING   (0x03<<13)
 
#define PINCC26XX_BM_INPUT_MODE
 Bitmask for all input mode options. More...
 
#define PINCC26XX_GPIO_OUTPUT_EN   (1<<23)
 Enable output buffer when GPIO. More...
 
#define PINCC26XX_GPIO_LOW   (0<<22)
 Output buffer drives to VSS when GPIO. More...
 
#define PINCC26XX_GPIO_HIGH   (1<<22)
 Output buffer drives to VDD when GPIO. More...
 
#define PINCC26XX_PUSHPULL   (0x0<<25)
 Output buffer mode: push/pull. More...
 
#define PINCC26XX_OPENDRAIN   (0x2<<25)
 Output buffer mode: open drain. More...
 
#define PINCC26XX_OPENSOURCE   (0x3<<25)
 Output buffer mode: open source. More...
 
#define PINCC26XX_SLEWCTRL   (1<<12)
 Enable output buffer slew control. More...
 
#define PINCC26XX_DRVSTR_MIN   (0x0<<8)
 Drive strength is 2/2 mA. More...
 
#define PINCC26XX_DRVSTR_MED   (0x4<<8)
 Drive strength is 4/4 mA. More...
 
#define PINCC26XX_DRVSTR_MAX   (0x8<<8)
 Drive strength is 4/8 mA. More...
 
#define PINCC26XX_BM_GPIO_OUTPUT_EN   (1<<23)
 Bitmask for output enable option. More...
 
#define PINCC26XX_BM_GPIO_OUTPUT_VAL   (1<<22)
 Bitmask for output value option. More...
 
#define PINCC26XX_BM_OUTPUT_BUF   (3<<25)
 Bitmask for output buffer options. More...
 
#define PINCC26XX_BM_SLEWCTRL   (1<<12)
 Bitmask for slew control options. More...
 
#define PINCC26XX_BM_DRVSTR   (0xF<<8)
 
#define PINCC26XX_BM_GPIO_OUTPUT_MODE   (PINCC26XX_BM_GPIO_OUTPUT_EN|PINCC26XX_BM_GPIO_OUTPUT_VAL)
 Bitmask for all GPIO output mode options. More...
 
#define PINCC26XX_BM_OUTPUT_MODE
 Bitmask for all output mode options. More...
 
#define PINCC26XX_INV_INOUT   (1<<24)
 Logically invert input and output. More...
 
#define PINCC26XX_IRQ_DIS   (0x0<<16)
 Enable IRQ on pin. More...
 
#define PINCC26XX_IRQ_NEGEDGE   (0x5<<16)
 IRQ on negative edge. More...
 
#define PINCC26XX_IRQ_POSEDGE   (0x6<<16)
 IRQ on positive edge. More...
 
#define PINCC26XX_IRQ_BOTHEDGES   (0x7<<16)
 IRQ on both edges. More...
 
#define PINCC26XX_BM_INV_INOUT   (1<<24)
 Bitmask for input/output inversion option. More...
 
#define PINCC26XX_BM_IRQ   (0x7<<16)
 Bitmask for pin interrupt option. More...
 
#define PINCC26XX_NO_WAKEUP   (0<<27)
 No wakeup from shutdown for this pin. More...
 
#define PINCC26XX_WAKEUP_POSEDGE   (3<<27)
 Wakeup from shutdown on positive edge. More...
 
#define PINCC26XX_WAKEUP_NEGEDGE   (2<<27)
 Wakeup from shutdown on negative edge. More...
 
#define PINCC26XX_BM_WAKEUP   (3<<27)
 Bitmask for pin wakeup from shutdown option. More...
 
#define PINCC26XX_BM_IOCFG
 Bitmask for all pin options in IOCFG register. More...
 
#define PINCC26XX_BM_ALL   (PINCC26XX_BM_IOCFG|PINCC26XX_BM_GPIO_OUTPUT_MODE)
 Bitmask for all pin options. More...
 
PIN names for the CC26xx family

The digital I/O pins in the CC26xx family are named DIOx, where x is from 0 to IO_MAX. Numeric IO indexes for x can be used directly, i.e. 5 or PIN_ID(5). For convenience and readability aliases are defined below for all DIOs.

#define PINCC26XX_DIO0   0
 
#define PINCC26XX_DIO1   1
 
#define PINCC26XX_DIO2   2
 
#define PINCC26XX_DIO3   3
 
#define PINCC26XX_DIO4   4
 
#define PINCC26XX_DIO5   5
 
#define PINCC26XX_DIO6   6
 
#define PINCC26XX_DIO7   7
 
#define PINCC26XX_DIO8   8
 
#define PINCC26XX_DIO9   9
 
#define PINCC26XX_DIO10   10
 
#define PINCC26XX_DIO11   11
 
#define PINCC26XX_DIO12   12
 
#define PINCC26XX_DIO13   13
 
#define PINCC26XX_DIO14   14
 
#define PINCC26XX_DIO15   15
 
#define PINCC26XX_DIO16   16
 
#define PINCC26XX_DIO17   17
 
#define PINCC26XX_DIO18   18
 
#define PINCC26XX_DIO19   19
 
#define PINCC26XX_DIO20   20
 
#define PINCC26XX_DIO21   21
 
#define PINCC26XX_DIO22   22
 
#define PINCC26XX_DIO23   23
 
#define PINCC26XX_DIO24   24
 
#define PINCC26XX_DIO25   25
 
#define PINCC26XX_DIO26   26
 
#define PINCC26XX_DIO27   27
 
#define PINCC26XX_DIO28   28
 
#define PINCC26XX_DIO29   29
 
#define PINCC26XX_DIO30   30
 
#define PINCC26XX_DIO31   31
 
Device-specific pin mux values for CC26xx family

Deprecated:

Use IOC_PORT_* defines from driverlib/ioc.h directly instead

CC26XX-specific mux vakues used in conjunction with PINCC26XX_setMux() to map hardware peripheral ports, GPIO or observation signals to pins.

#define PINCC26XX_MUX_GPIO   IOC_PORT_GPIO
 
#define PINCC26XX_MUX_AON_SCS   IOC_PORT_AON_SCS
 
#define PINCC26XX_MUX_AON_SCK   IOC_PORT_AON_SCK
 
#define PINCC26XX_MUX_AON_SDI   IOC_PORT_AON_SDI
 
#define PINCC26XX_MUX_AON_SDO   IOC_PORT_AON_SDO
 
#define PINCC26XX_MUX_AON_TDI   IOC_PORT_AON_TDI
 
#define PINCC26XX_MUX_AON_TDO   IOC_PORT_AON_TDO
 
#define PINCC26XX_MUX_AON_CLK32K   IOC_PORT_AON_CLK32K
 
#define PINCC26XX_MUX_AUX_IO   IOC_PORT_AUX_IO
 
#define PINCC26XX_MUX_MCU_SSI0_RX   IOC_PORT_MCU_SSI0_RX
 
#define PINCC26XX_MUX_MCU_SSI0_TX   IOC_PORT_MCU_SSI0_TX
 
#define PINCC26XX_MUX_MCU_SSI0_FSS   IOC_PORT_MCU_SSI0_FSS
 
#define PINCC26XX_MUX_MCU_SSI0_CLK   IOC_PORT_MCU_SSI0_CLK
 
#define PINCC26XX_MUX_MCU_I2C_MSSDA   IOC_PORT_MCU_I2C_MSSDA
 
#define PINCC26XX_MUX_MCU_I2C_MSSCL   IOC_PORT_MCU_I2C_MSSCL
 
#define PINCC26XX_MUX_MCU_UART0_RX   IOC_PORT_MCU_UART0_RX
 
#define PINCC26XX_MUX_MCU_UART0_TX   IOC_PORT_MCU_UART0_TX
 
#define PINCC26XX_MUX_MCU_UART0_CTS   IOC_PORT_MCU_UART0_CTS
 
#define PINCC26XX_MUX_MCU_UART0_RTS   IOC_PORT_MCU_UART0_RTS
 
#define PINCC26XX_MUX_MCU_UART1_RX   IOC_PORT_MCU_UART1_RX
 
#define PINCC26XX_MUX_MCU_UART1_TX   IOC_PORT_MCU_UART1_TX
 
#define PINCC26XX_MUX_MCU_UART1_CTS   IOC_PORT_MCU_UART1_CTS
 
#define PINCC26XX_MUX_MCU_UART1_RTS   IOC_PORT_MCU_UART1_RTS
 
#define PINCC26XX_MUX_MCU_TIMER0   IOC_PORT_MCU_TIMER0
 
#define PINCC26XX_MUX_MCU_TIMER1   IOC_PORT_MCU_TIMER1
 
#define PINCC26XX_MUX_MCU_TIMER2   IOC_PORT_MCU_TIMER2
 
#define PINCC26XX_MUX_MCU_TIMER3   IOC_PORT_MCU_TIMER3
 
#define PINCC26XX_MUX_MCU_TIMER4   IOC_PORT_MCU_TIMER4
 
#define PINCC26XX_MUX_MCU_TIMER5   IOC_PORT_MCU_TIMER5
 
#define PINCC26XX_MUX_MCU_TIMER6   IOC_PORT_MCU_TIMER6
 
#define PINCC26XX_MUX_MCU_TIMER7   IOC_PORT_MCU_TIMER7
 
#define PINCC26XX_MUX_RESERVED0   IOC_PORT_RESERVED0
 
#define PINCC26XX_MUX_RESERVED1   IOC_PORT_RESERVED1
 
#define PINCC26XX_MUX_MCU_SSI1_RX   IOC_PORT_MCU_SSI1_RX
 
#define PINCC26XX_MUX_MCU_SSI1_TX   IOC_PORT_MCU_SSI1_TX
 
#define PINCC26XX_MUX_MCU_SSI1_FSS   IOC_PORT_MCU_SSI1_FSS
 
#define PINCC26XX_MUX_MCU_SSI1_CLK   IOC_PORT_MCU_SSI1_CLK
 
#define PINCC26XX_MUX_MCU_I2S_AD0   IOC_PORT_MCU_I2S_AD0
 
#define PINCC26XX_MUX_MCU_I2S_AD1   IOC_PORT_MCU_I2S_AD1
 
#define PINCC26XX_MUX_MCU_I2S_WCLK   IOC_PORT_MCU_I2S_WCLK
 
#define PINCC26XX_MUX_MCU_I2S_BCLK   IOC_PORT_MCU_I2S_BCLK
 
#define PINCC26XX_MUX_MCU_I2S_MCLK   IOC_PORT_MCU_I2S_MCLK
 
#define PINCC26XX_MUX_MCU_IOC_OBS0   IOC_PORT_MCU_IOC_OBS0
 
#define PINCC26XX_MUX_MCU_IOC_OBS1   IOC_PORT_MCU_IOC_OBS1
 
#define PINCC26XX_MUX_MCU_IOC_OBS2   IOC_PORT_MCU_IOC_OBS2
 
#define PINCC26XX_MUX_MCU_IOC_OBS3   IOC_PORT_MCU_IOC_OBS3
 
#define PINCC26XX_MUX_RFC_TRC   IOC_PORT_RFC_TRC
 
#define PINCC26XX_MUX_RFC_GPO0   IOC_PORT_RFC_GPO0
 
#define PINCC26XX_MUX_RFC_GPO1   IOC_PORT_RFC_GPO1
 
#define PINCC26XX_MUX_RFC_GPO2   IOC_PORT_RFC_GPO2
 
#define PINCC26XX_MUX_RFC_GPO3   IOC_PORT_RFC_GPO3
 
#define PINCC26XX_MUX_RFC_GPI0   IOC_PORT_RFC_GPI0
 
#define PINCC26XX_MUX_RFC_GPI1   IOC_PORT_RFC_GPI1
 
#define PINCC26XX_MUX_RFC_SMI_DL_OUT   IOC_PORT_RFC_SMI_DL_OUT
 
#define PINCC26XX_MUX_RFC_SMI_DL_IN   IOC_PORT_RFC_SMI_DL_IN
 
#define PINCC26XX_MUX_RFC_SMI_CL_OUT   IOC_PORT_RFC_SMI_CL_OUT
 
#define PINCC26XX_MUX_RFC_SMI_CL_IN   IOC_PORT_RFC_SMI_CL_IN
 

Functions

__STATIC_INLINE uint32_t PIN_ctz (uint32_t x)
 
__STATIC_INLINE uint_t PINCC26XX_getInputValue (PIN_Id pinId)
 Fast/efficient version of PIN_getInputValue() More...
 
__STATIC_INLINE void PINCC26XX_setOutputEnable (PIN_Id pinId, bool bOutEn)
 
__STATIC_INLINE void PINCC26XX_setOutputValue (PIN_Id pinId, uint_t val)
 
__STATIC_INLINE uint_t PINCC26XX_getOutputValue (PIN_Id pinId)
 Fast/efficient version of PIN_getOutputValue() More...
 
__STATIC_INLINE void PINCC26XX_clrPendInterrupt (PIN_Id pinId)
 
__STATIC_INLINE uint_t PINCC26XX_getPortInputValue (PIN_Handle handle)
 Fast/efficient version of PIN_getPortInputValue() More...
 
__STATIC_INLINE uint_t PINCC26XX_getPortOutputValue (PIN_Handle handle)
 Fast/efficient version of PIN_getPortOutputValue() More...
 
__STATIC_INLINE void PINCC26XX_setPortOutputValue (PIN_Handle handle, uint_t bmOutVal)
 
__STATIC_INLINE void PINCC26XX_setPortOutputEnable (PIN_Handle handle, uint_t bmOutEn)
 
PIN_Config PINCC26XX_getConfig (PIN_Id pinId)
 Returns CC26xx device-specific pin configuration. More...
 
PIN_Status PINCC26XX_setWakeup (const PIN_Config aPinCfg[])
 Configure wakeup (from shutdown) on pins. More...
 
int_t PINCC26XX_getMux (PIN_Id pinId)
 Get device-specific pin mapping to GPIO, HW peripheral or HW signal. More...
 
PIN_Status PINCC26XX_setMux (PIN_Handle handle, PIN_Id pinId, int32_t nMux)
 Connect pin to HW peripheral, signal or to GPIO. More...
 

Variables

PIN_Handle PIN_HandleTable []
 
uint_t PIN_NumPins
 

Macro Definition Documentation

#define PIN_CHKEN   1
#define PINCC26XX_INPUT_EN   (1<<29)

Enable input buffer.

#define PINCC26XX_HYSTERESIS   (1<<30)

Enable input buffer hysteresis.

#define PINCC26XX_NOPULL   (0x3<<13)

No pull-up or pull-down resistor.

#define PINCC26XX_PULLUP   (0x2<<13)

~20k pull-up resistor enabled

#define PINCC26XX_PULLDOWN   (0x1<<13)

~20k pull-down resistor enabled

#define PINCC26XX_BM_INPUT_EN   (0x01<<29)

Bitmask for input enable option.

#define PINCC26XX_BM_HYSTERESIS   (0x01<<30)

Bitmask for all input mode options.

#define PINCC26XX_BM_PULLING   (0x03<<13)

Bitmask for pull-up/pull-down options

#define PINCC26XX_BM_INPUT_MODE
Value:
#define PINCC26XX_BM_PULLING
Definition: PINCC26XX.h:106
#define PINCC26XX_BM_HYSTERESIS
Bitmask for all input mode options.
Definition: PINCC26XX.h:105
#define PINCC26XX_BM_INPUT_EN
Bitmask for input enable option.
Definition: PINCC26XX.h:104

Bitmask for all input mode options.

#define PINCC26XX_GPIO_OUTPUT_EN   (1<<23)

Enable output buffer when GPIO.

#define PINCC26XX_GPIO_LOW   (0<<22)

Output buffer drives to VSS when GPIO.

#define PINCC26XX_GPIO_HIGH   (1<<22)

Output buffer drives to VDD when GPIO.

#define PINCC26XX_PUSHPULL   (0x0<<25)

Output buffer mode: push/pull.

#define PINCC26XX_OPENDRAIN   (0x2<<25)

Output buffer mode: open drain.

#define PINCC26XX_OPENSOURCE   (0x3<<25)

Output buffer mode: open source.

#define PINCC26XX_SLEWCTRL   (1<<12)

Enable output buffer slew control.

#define PINCC26XX_DRVSTR_MIN   (0x0<<8)

Drive strength is 2/2 mA.

#define PINCC26XX_DRVSTR_MED   (0x4<<8)

Drive strength is 4/4 mA.

#define PINCC26XX_DRVSTR_MAX   (0x8<<8)

Drive strength is 4/8 mA.

#define PINCC26XX_BM_GPIO_OUTPUT_EN   (1<<23)

Bitmask for output enable option.

#define PINCC26XX_BM_GPIO_OUTPUT_VAL   (1<<22)

Bitmask for output value option.

#define PINCC26XX_BM_OUTPUT_BUF   (3<<25)

Bitmask for output buffer options.

#define PINCC26XX_BM_SLEWCTRL   (1<<12)

Bitmask for slew control options.

#define PINCC26XX_BM_DRVSTR   (0xF<<8)

Bitmask for drive strength options

#define PINCC26XX_BM_GPIO_OUTPUT_MODE   (PINCC26XX_BM_GPIO_OUTPUT_EN|PINCC26XX_BM_GPIO_OUTPUT_VAL)

Bitmask for all GPIO output mode options.

#define PINCC26XX_BM_OUTPUT_MODE
Value:
#define PINCC26XX_BM_OUTPUT_BUF
Bitmask for output buffer options.
Definition: PINCC26XX.h:123
#define PINCC26XX_BM_SLEWCTRL
Bitmask for slew control options.
Definition: PINCC26XX.h:124
#define PINCC26XX_BM_DRVSTR
Definition: PINCC26XX.h:125
#define PINCC26XX_BM_GPIO_OUTPUT_MODE
Bitmask for all GPIO output mode options.
Definition: PINCC26XX.h:127

Bitmask for all output mode options.

#define PINCC26XX_INV_INOUT   (1<<24)

Logically invert input and output.

#define PINCC26XX_IRQ_DIS   (0x0<<16)

Enable IRQ on pin.

#define PINCC26XX_IRQ_NEGEDGE   (0x5<<16)

IRQ on negative edge.

#define PINCC26XX_IRQ_POSEDGE   (0x6<<16)

IRQ on positive edge.

#define PINCC26XX_IRQ_BOTHEDGES   (0x7<<16)

IRQ on both edges.

#define PINCC26XX_BM_INV_INOUT   (1<<24)

Bitmask for input/output inversion option.

#define PINCC26XX_BM_IRQ   (0x7<<16)

Bitmask for pin interrupt option.

#define PINCC26XX_NO_WAKEUP   (0<<27)

No wakeup from shutdown for this pin.

#define PINCC26XX_WAKEUP_POSEDGE   (3<<27)

Wakeup from shutdown on positive edge.

#define PINCC26XX_WAKEUP_NEGEDGE   (2<<27)

Wakeup from shutdown on negative edge.

#define PINCC26XX_BM_WAKEUP   (3<<27)

Bitmask for pin wakeup from shutdown option.

#define PINCC26XX_BM_IOCFG
Value:
#define PINCC26XX_BM_INPUT_MODE
Bitmask for all input mode options.
Definition: PINCC26XX.h:108
#define PINCC26XX_BM_INV_INOUT
Bitmask for input/output inversion option.
Definition: PINCC26XX.h:137
#define PINCC26XX_BM_OUTPUT_BUF
Bitmask for output buffer options.
Definition: PINCC26XX.h:123
#define PINCC26XX_BM_SLEWCTRL
Bitmask for slew control options.
Definition: PINCC26XX.h:124
#define PINCC26XX_BM_DRVSTR
Definition: PINCC26XX.h:125
#define PINCC26XX_BM_WAKEUP
Bitmask for pin wakeup from shutdown option.
Definition: PINCC26XX.h:143
#define PINCC26XX_BM_IRQ
Bitmask for pin interrupt option.
Definition: PINCC26XX.h:138

Bitmask for all pin options in IOCFG register.

#define PINCC26XX_BM_ALL   (PINCC26XX_BM_IOCFG|PINCC26XX_BM_GPIO_OUTPUT_MODE)

Bitmask for all pin options.

#define PINCC26XX_DIO0   0
#define PINCC26XX_DIO1   1
#define PINCC26XX_DIO2   2
#define PINCC26XX_DIO3   3
#define PINCC26XX_DIO4   4
#define PINCC26XX_DIO5   5
#define PINCC26XX_DIO6   6
#define PINCC26XX_DIO7   7
#define PINCC26XX_DIO8   8
#define PINCC26XX_DIO9   9
#define PINCC26XX_DIO10   10
#define PINCC26XX_DIO11   11
#define PINCC26XX_DIO12   12
#define PINCC26XX_DIO13   13
#define PINCC26XX_DIO14   14
#define PINCC26XX_DIO15   15
#define PINCC26XX_DIO16   16
#define PINCC26XX_DIO17   17
#define PINCC26XX_DIO18   18
#define PINCC26XX_DIO19   19
#define PINCC26XX_DIO20   20
#define PINCC26XX_DIO21   21
#define PINCC26XX_DIO22   22
#define PINCC26XX_DIO23   23
#define PINCC26XX_DIO24   24
#define PINCC26XX_DIO25   25
#define PINCC26XX_DIO26   26
#define PINCC26XX_DIO27   27
#define PINCC26XX_DIO28   28
#define PINCC26XX_DIO29   29
#define PINCC26XX_DIO30   30
#define PINCC26XX_DIO31   31
#define PINCC26XX_MUX_GPIO   IOC_PORT_GPIO
#define PINCC26XX_MUX_AON_SCS   IOC_PORT_AON_SCS
#define PINCC26XX_MUX_AON_SCK   IOC_PORT_AON_SCK
#define PINCC26XX_MUX_AON_SDI   IOC_PORT_AON_SDI
#define PINCC26XX_MUX_AON_SDO   IOC_PORT_AON_SDO
#define PINCC26XX_MUX_AON_TDI   IOC_PORT_AON_TDI
#define PINCC26XX_MUX_AON_TDO   IOC_PORT_AON_TDO
#define PINCC26XX_MUX_AON_CLK32K   IOC_PORT_AON_CLK32K
#define PINCC26XX_MUX_AUX_IO   IOC_PORT_AUX_IO
#define PINCC26XX_MUX_MCU_SSI0_RX   IOC_PORT_MCU_SSI0_RX
#define PINCC26XX_MUX_MCU_SSI0_TX   IOC_PORT_MCU_SSI0_TX
#define PINCC26XX_MUX_MCU_SSI0_FSS   IOC_PORT_MCU_SSI0_FSS
#define PINCC26XX_MUX_MCU_SSI0_CLK   IOC_PORT_MCU_SSI0_CLK
#define PINCC26XX_MUX_MCU_I2C_MSSDA   IOC_PORT_MCU_I2C_MSSDA
#define PINCC26XX_MUX_MCU_I2C_MSSCL   IOC_PORT_MCU_I2C_MSSCL
#define PINCC26XX_MUX_MCU_UART0_RX   IOC_PORT_MCU_UART0_RX
#define PINCC26XX_MUX_MCU_UART0_TX   IOC_PORT_MCU_UART0_TX
#define PINCC26XX_MUX_MCU_UART0_CTS   IOC_PORT_MCU_UART0_CTS
#define PINCC26XX_MUX_MCU_UART0_RTS   IOC_PORT_MCU_UART0_RTS
#define PINCC26XX_MUX_MCU_UART1_RX   IOC_PORT_MCU_UART1_RX
#define PINCC26XX_MUX_MCU_UART1_TX   IOC_PORT_MCU_UART1_TX
#define PINCC26XX_MUX_MCU_UART1_CTS   IOC_PORT_MCU_UART1_CTS
#define PINCC26XX_MUX_MCU_UART1_RTS   IOC_PORT_MCU_UART1_RTS
#define PINCC26XX_MUX_MCU_TIMER0   IOC_PORT_MCU_TIMER0
#define PINCC26XX_MUX_MCU_TIMER1   IOC_PORT_MCU_TIMER1
#define PINCC26XX_MUX_MCU_TIMER2   IOC_PORT_MCU_TIMER2
#define PINCC26XX_MUX_MCU_TIMER3   IOC_PORT_MCU_TIMER3
#define PINCC26XX_MUX_MCU_TIMER4   IOC_PORT_MCU_TIMER4
#define PINCC26XX_MUX_MCU_TIMER5   IOC_PORT_MCU_TIMER5
#define PINCC26XX_MUX_MCU_TIMER6   IOC_PORT_MCU_TIMER6
#define PINCC26XX_MUX_MCU_TIMER7   IOC_PORT_MCU_TIMER7
#define PINCC26XX_MUX_RESERVED0   IOC_PORT_RESERVED0
#define PINCC26XX_MUX_RESERVED1   IOC_PORT_RESERVED1
#define PINCC26XX_MUX_MCU_SSI1_RX   IOC_PORT_MCU_SSI1_RX
#define PINCC26XX_MUX_MCU_SSI1_TX   IOC_PORT_MCU_SSI1_TX
#define PINCC26XX_MUX_MCU_SSI1_FSS   IOC_PORT_MCU_SSI1_FSS
#define PINCC26XX_MUX_MCU_SSI1_CLK   IOC_PORT_MCU_SSI1_CLK
#define PINCC26XX_MUX_MCU_I2S_AD0   IOC_PORT_MCU_I2S_AD0
#define PINCC26XX_MUX_MCU_I2S_AD1   IOC_PORT_MCU_I2S_AD1
#define PINCC26XX_MUX_MCU_I2S_WCLK   IOC_PORT_MCU_I2S_WCLK
#define PINCC26XX_MUX_MCU_I2S_BCLK   IOC_PORT_MCU_I2S_BCLK
#define PINCC26XX_MUX_MCU_I2S_MCLK   IOC_PORT_MCU_I2S_MCLK
#define PINCC26XX_MUX_MCU_IOC_OBS0   IOC_PORT_MCU_IOC_OBS0
#define PINCC26XX_MUX_MCU_IOC_OBS1   IOC_PORT_MCU_IOC_OBS1
#define PINCC26XX_MUX_MCU_IOC_OBS2   IOC_PORT_MCU_IOC_OBS2
#define PINCC26XX_MUX_MCU_IOC_OBS3   IOC_PORT_MCU_IOC_OBS3
#define PINCC26XX_MUX_RFC_TRC   IOC_PORT_RFC_TRC
#define PINCC26XX_MUX_RFC_GPO0   IOC_PORT_RFC_GPO0
#define PINCC26XX_MUX_RFC_GPO1   IOC_PORT_RFC_GPO1
#define PINCC26XX_MUX_RFC_GPO2   IOC_PORT_RFC_GPO2
#define PINCC26XX_MUX_RFC_GPO3   IOC_PORT_RFC_GPO3
#define PINCC26XX_MUX_RFC_GPI0   IOC_PORT_RFC_GPI0
#define PINCC26XX_MUX_RFC_GPI1   IOC_PORT_RFC_GPI1
#define PINCC26XX_MUX_RFC_SMI_DL_OUT   IOC_PORT_RFC_SMI_DL_OUT
#define PINCC26XX_MUX_RFC_SMI_DL_IN   IOC_PORT_RFC_SMI_DL_IN
#define PINCC26XX_MUX_RFC_SMI_CL_OUT   IOC_PORT_RFC_SMI_CL_OUT
#define PINCC26XX_MUX_RFC_SMI_CL_IN   IOC_PORT_RFC_SMI_CL_IN

Function Documentation

__STATIC_INLINE uint32_t PIN_ctz ( uint32_t  x)
__STATIC_INLINE uint_t PINCC26XX_getInputValue ( PIN_Id  pinId)

Fast/efficient version of PIN_getInputValue()

__STATIC_INLINE void PINCC26XX_setOutputEnable ( PIN_Id  pinId,
bool  bOutEn 
)
__STATIC_INLINE void PINCC26XX_setOutputValue ( PIN_Id  pinId,
uint_t  val 
)
__STATIC_INLINE uint_t PINCC26XX_getOutputValue ( PIN_Id  pinId)

Fast/efficient version of PIN_getOutputValue()

__STATIC_INLINE void PINCC26XX_clrPendInterrupt ( PIN_Id  pinId)
__STATIC_INLINE uint_t PINCC26XX_getPortInputValue ( PIN_Handle  handle)

Fast/efficient version of PIN_getPortInputValue()

__STATIC_INLINE uint_t PINCC26XX_getPortOutputValue ( PIN_Handle  handle)

Fast/efficient version of PIN_getPortOutputValue()

__STATIC_INLINE void PINCC26XX_setPortOutputValue ( PIN_Handle  handle,
uint_t  bmOutVal 
)

References PIN_State_s::bmPort.

__STATIC_INLINE void PINCC26XX_setPortOutputEnable ( PIN_Handle  handle,
uint_t  bmOutEn 
)

References PIN_State_s::bmPort.

PIN_Config PINCC26XX_getConfig ( PIN_Id  pinId)

Returns CC26xx device-specific pin configuration.

Parameters
pinIdPin ID
Returns
Current pin configuration as a PIN_Config value
Note
The pin ID is embedded in return value.
Return value uses CC26xx specific I/O options
PIN_Status PINCC26XX_setWakeup ( const PIN_Config  aPinCfg[])

Configure wakeup (from shutdown) on pins.

Parameters
aPinCfgPIN_Config list identifying pin ID and relevant pin configuration as one of:
Returns
PIN_SUCCESS if successful, else error code
Todo:
Define properly
Usage
1 PIN_setWakeup(NULL, PIN_ID(9)|PIN_WAKEUP_NEGEDGE);
2 Power_enterShutdown();
int_t PINCC26XX_getMux ( PIN_Id  pinId)

Get device-specific pin mapping to GPIO, HW peripheral or HW signal.

Parameters
pinIdPin ID
Returns
Device-specific pin mapping index for connection to hardware peripheral or hardware signal, -1 if pin is used for GPIO
Note
Mostly used by driver code
Usage
1 if (PINCC26XX_getMux(PIN_ID(16)) < 0) {
2  // Pin is GPIO
3 }
PIN_Status PINCC26XX_setMux ( PIN_Handle  handle,
PIN_Id  pinId,
int32_t  nMux 
)

Connect pin to HW peripheral, signal or to GPIO.

Parameters
handleHandle provided by previous call to PIN_open()
pinIdPin ID
nMuxDevice-specific index of peripheral port or hardware signal. A value of -1 reverts the pin to GPIO mapping
Returns
PIN_SUCCESS if successful, else error code
Note
Mostly used by driver code or for diagnostics
Usage
1 PIN_setMux(hPins, PIN_ID(16), PINCC26XX_UART_TX);

Variable Documentation

PIN_Handle PIN_HandleTable[]
uint_t PIN_NumPins
Copyright 2015, Texas Instruments Incorporated