Data Structures | Macros | Typedefs | Functions
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.

Refer to PIN.h for a complete description of APIs & example of use.

#include <stdint.h>
#include <stddef.h>
#include <ti/drivers/dpl/HwiP.h>
#include <ti/drivers/PIN.h>
#include <ti/devices/DeviceFamily.h>
#include <DeviceFamily_constructPath(driverlib/ioc.h)>
#include <DeviceFamily_constructPath(driverlib/gpio.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.

Data Structures

struct  PINCC26XX_HWAttrs
 PINCC26XX Hardware attributes. More...
 

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_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_PORT_EV_0   IOC_PORT_MCU_PORT_EVENT0
 
#define PINCC26XX_MUX_MCU_PORT_EV_1   IOC_PORT_MCU_PORT_EVENT1
 
#define PINCC26XX_MUX_MCU_PORT_EV_2   IOC_PORT_MCU_PORT_EVENT2
 
#define PINCC26XX_MUX_MCU_PORT_EV_3   IOC_PORT_MCU_PORT_EVENT3
 
#define PINCC26XX_MUX_MCU_PORT_EV_4   IOC_PORT_MCU_PORT_EVENT4
 
#define PINCC26XX_MUX_MCU_PORT_EV_5   IOC_PORT_MCU_PORT_EVENT5
 
#define PINCC26XX_MUX_MCU_PORT_EV_6   IOC_PORT_MCU_PORT_EVENT6
 
#define PINCC26XX_MUX_MCU_PORT_EV_7   IOC_PORT_MCU_PORT_EVENT7
 
#define PINCC26XX_MUX_SWV   IOC_PORT_MCU_SWV
 
#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_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
 

Typedefs

typedef struct PINCC26XX_HWAttrs PINCC26XX_HWAttrs
 PINCC26XX Hardware attributes. More...
 

Functions

__STATIC_INLINE uint32_t PIN_ctz (uint32_t x)
 
__STATIC_INLINE uint32_t PINCC26XX_getInputValue (PIN_Id pinId)
 Fast/efficient version of PIN_getInputValue() More...
 
__STATIC_INLINE void PINCC26XX_setOutputEnable (PIN_Id pinId, bool outputEnable)
 
__STATIC_INLINE void PINCC26XX_setOutputValue (PIN_Id pinId, uint32_t val)
 
__STATIC_INLINE uint32_t PINCC26XX_getOutputValue (PIN_Id pinId)
 Fast/efficient version of PIN_getOutputValue() More...
 
__STATIC_INLINE void PINCC26XX_clrPendInterrupt (PIN_Id pinId)
 
__STATIC_INLINE uint32_t PINCC26XX_getPortInputValue (PIN_Handle handle)
 Fast/efficient version of PIN_getPortInputValue() More...
 
__STATIC_INLINE uint32_t PINCC26XX_getPortOutputValue (PIN_Handle handle)
 Fast/efficient version of PIN_getPortOutputValue() More...
 
__STATIC_INLINE void PINCC26XX_setPortOutputValue (PIN_Handle handle, uint32_t outputValueMask)
 
__STATIC_INLINE void PINCC26XX_setPortOutputEnable (PIN_Handle handle, uint32_t outputEnableMask)
 
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...
 
int32_t PINCC26XX_getMux (PIN_Id pinId)
 Get device-specific pin mapping to GPIO, HW peripheral or HW signal. More...
 
uint32_t PINCC26XX_getPinCount ()
 Get device-specific count of how many pins are available on this device and package. More...
 
PIN_Status PINCC26XX_setMux (PIN_Handle handle, PIN_Id pinId, int32_t nMux)
 Connect pin to HW peripheral, signal or to GPIO. More...
 

Macro Definition Documentation

§ PIN_CHKEN

#define PIN_CHKEN   1

§ PINCC26XX_INPUT_EN

#define PINCC26XX_INPUT_EN   (1 << 29)

Enable input buffer.

§ PINCC26XX_HYSTERESIS

#define PINCC26XX_HYSTERESIS   (1 << 30)

Enable input buffer hysteresis.

§ PINCC26XX_NOPULL

#define PINCC26XX_NOPULL   (0x3 << 13)

No pull-up or pull-down resistor.

§ PINCC26XX_PULLUP

#define PINCC26XX_PULLUP   (0x2 << 13)

~20k pull-up resistor enabled

§ PINCC26XX_PULLDOWN

#define PINCC26XX_PULLDOWN   (0x1 << 13)

~20k pull-down resistor enabled

§ PINCC26XX_BM_INPUT_EN

#define PINCC26XX_BM_INPUT_EN   (0x01 << 29)

Bitmask for input enable option.

§ PINCC26XX_BM_HYSTERESIS

#define PINCC26XX_BM_HYSTERESIS   (0x01 << 30)

Bitmask for all input mode options.

§ PINCC26XX_BM_PULLING

#define PINCC26XX_BM_PULLING   (0x03 << 13)

Bitmask for pull-up/pull-down options

§ PINCC26XX_BM_INPUT_MODE

#define PINCC26XX_BM_INPUT_MODE
Value:
PINCC26XX_BM_PULLING)
#define PINCC26XX_BM_HYSTERESIS
Bitmask for all input mode options.
Definition: PINCC26XX.h:108
#define PINCC26XX_BM_INPUT_EN
Bitmask for input enable option.
Definition: PINCC26XX.h:107

Bitmask for all input mode options.

§ PINCC26XX_GPIO_OUTPUT_EN

#define PINCC26XX_GPIO_OUTPUT_EN   (1 << 23)

Enable output buffer when GPIO.

§ PINCC26XX_GPIO_LOW

#define PINCC26XX_GPIO_LOW   (0 << 22)

Output buffer drives to VSS when GPIO.

§ PINCC26XX_GPIO_HIGH

#define PINCC26XX_GPIO_HIGH   (1 << 22)

Output buffer drives to VDD when GPIO.

§ PINCC26XX_PUSHPULL

#define PINCC26XX_PUSHPULL   (0x0 << 25)

Output buffer mode: push/pull.

§ PINCC26XX_OPENDRAIN

#define PINCC26XX_OPENDRAIN   (0x2 << 25)

Output buffer mode: open drain.

§ PINCC26XX_OPENSOURCE

#define PINCC26XX_OPENSOURCE   (0x3 << 25)

Output buffer mode: open source.

§ PINCC26XX_SLEWCTRL

#define PINCC26XX_SLEWCTRL   (1 << 12)

Enable output buffer slew control.

§ PINCC26XX_DRVSTR_MIN

#define PINCC26XX_DRVSTR_MIN   (0x0 << 8)

Drive strength is 2/2 mA.

§ PINCC26XX_DRVSTR_MED

#define PINCC26XX_DRVSTR_MED   (0x4 << 8)

Drive strength is 4/4 mA.

§ PINCC26XX_DRVSTR_MAX

#define PINCC26XX_DRVSTR_MAX   (0x8 << 8)

Drive strength is 4/8 mA.

§ PINCC26XX_BM_GPIO_OUTPUT_EN

#define PINCC26XX_BM_GPIO_OUTPUT_EN   (1 << 23)

Bitmask for output enable option.

§ PINCC26XX_BM_GPIO_OUTPUT_VAL

#define PINCC26XX_BM_GPIO_OUTPUT_VAL   (1 << 22)

Bitmask for output value option.

§ PINCC26XX_BM_OUTPUT_BUF

#define PINCC26XX_BM_OUTPUT_BUF   (3 << 25)

Bitmask for output buffer options.

§ PINCC26XX_BM_SLEWCTRL

#define PINCC26XX_BM_SLEWCTRL   (1 << 12)

Bitmask for slew control options.

§ PINCC26XX_BM_DRVSTR

#define PINCC26XX_BM_DRVSTR   (0xF << 8)

Bitmask for drive strength options

§ PINCC26XX_BM_GPIO_OUTPUT_MODE

#define PINCC26XX_BM_GPIO_OUTPUT_MODE   (PINCC26XX_BM_GPIO_OUTPUT_EN | PINCC26XX_BM_GPIO_OUTPUT_VAL)

Bitmask for all GPIO output mode options.

§ PINCC26XX_BM_OUTPUT_MODE

#define PINCC26XX_BM_OUTPUT_MODE
Value:
PINCC26XX_BM_SLEWCTRL | PINCC26XX_BM_DRVSTR)
#define PINCC26XX_BM_OUTPUT_BUF
Bitmask for output buffer options.
Definition: PINCC26XX.h:126
#define PINCC26XX_BM_DRVSTR
Definition: PINCC26XX.h:128
#define PINCC26XX_BM_GPIO_OUTPUT_MODE
Bitmask for all GPIO output mode options.
Definition: PINCC26XX.h:130

Bitmask for all output mode options.

§ PINCC26XX_INV_INOUT

#define PINCC26XX_INV_INOUT   (1 << 24)

Logically invert input and output.

§ PINCC26XX_IRQ_DIS

#define PINCC26XX_IRQ_DIS   (0x0 << 16)

Enable IRQ on pin.

§ PINCC26XX_IRQ_NEGEDGE

#define PINCC26XX_IRQ_NEGEDGE   (0x5 << 16)

IRQ on negative edge.

§ PINCC26XX_IRQ_POSEDGE

#define PINCC26XX_IRQ_POSEDGE   (0x6 << 16)

IRQ on positive edge.

§ PINCC26XX_IRQ_BOTHEDGES

#define PINCC26XX_IRQ_BOTHEDGES   (0x7 << 16)

IRQ on both edges.

§ PINCC26XX_BM_INV_INOUT

#define PINCC26XX_BM_INV_INOUT   (1 << 24)

Bitmask for input/output inversion option.

§ PINCC26XX_BM_IRQ

#define PINCC26XX_BM_IRQ   (0x7 << 16)

Bitmask for pin interrupt option.

§ PINCC26XX_NO_WAKEUP

#define PINCC26XX_NO_WAKEUP   (0 << 27)

No wakeup from shutdown for this pin.

§ PINCC26XX_WAKEUP_POSEDGE

#define PINCC26XX_WAKEUP_POSEDGE   (3 << 27)

Wakeup from shutdown on positive edge.

§ PINCC26XX_WAKEUP_NEGEDGE

#define PINCC26XX_WAKEUP_NEGEDGE   (2 << 27)

Wakeup from shutdown on negative edge.

§ PINCC26XX_BM_WAKEUP

#define PINCC26XX_BM_WAKEUP   (3 << 27)

Bitmask for pin wakeup from shutdown option.

§ PINCC26XX_BM_IOCFG

#define PINCC26XX_BM_IOCFG
Value:
PINCC26XX_BM_SLEWCTRL | PINCC26XX_BM_DRVSTR | \
PINCC26XX_BM_INV_INOUT | PINCC26XX_BM_IRQ | PINCC26XX_BM_WAKEUP)
#define PINCC26XX_BM_INPUT_MODE
Bitmask for all input mode options.
Definition: PINCC26XX.h:111
#define PINCC26XX_BM_OUTPUT_BUF
Bitmask for output buffer options.
Definition: PINCC26XX.h:126
#define PINCC26XX_BM_DRVSTR
Definition: PINCC26XX.h:128
#define PINCC26XX_BM_WAKEUP
Bitmask for pin wakeup from shutdown option.
Definition: PINCC26XX.h:146
#define PINCC26XX_BM_IRQ
Bitmask for pin interrupt option.
Definition: PINCC26XX.h:141

Bitmask for all pin options in IOCFG register.

§ PINCC26XX_BM_ALL

#define PINCC26XX_BM_ALL   (PINCC26XX_BM_IOCFG | PINCC26XX_BM_GPIO_OUTPUT_MODE)

Bitmask for all pin options.

§ PINCC26XX_DIO0

#define PINCC26XX_DIO0   0

§ PINCC26XX_DIO1

#define PINCC26XX_DIO1   1

§ PINCC26XX_DIO2

#define PINCC26XX_DIO2   2

§ PINCC26XX_DIO3

#define PINCC26XX_DIO3   3

§ PINCC26XX_DIO4

#define PINCC26XX_DIO4   4

§ PINCC26XX_DIO5

#define PINCC26XX_DIO5   5

§ PINCC26XX_DIO6

#define PINCC26XX_DIO6   6

§ PINCC26XX_DIO7

#define PINCC26XX_DIO7   7

§ PINCC26XX_DIO8

#define PINCC26XX_DIO8   8

§ PINCC26XX_DIO9

#define PINCC26XX_DIO9   9

§ PINCC26XX_DIO10

#define PINCC26XX_DIO10   10

§ PINCC26XX_DIO11

#define PINCC26XX_DIO11   11

§ PINCC26XX_DIO12

#define PINCC26XX_DIO12   12

§ PINCC26XX_DIO13

#define PINCC26XX_DIO13   13

§ PINCC26XX_DIO14

#define PINCC26XX_DIO14   14

§ PINCC26XX_DIO15

#define PINCC26XX_DIO15   15

§ PINCC26XX_DIO16

#define PINCC26XX_DIO16   16

§ PINCC26XX_DIO17

#define PINCC26XX_DIO17   17

§ PINCC26XX_DIO18

#define PINCC26XX_DIO18   18

§ PINCC26XX_DIO19

#define PINCC26XX_DIO19   19

§ PINCC26XX_DIO20

#define PINCC26XX_DIO20   20

§ PINCC26XX_DIO21

#define PINCC26XX_DIO21   21

§ PINCC26XX_DIO22

#define PINCC26XX_DIO22   22

§ PINCC26XX_DIO23

#define PINCC26XX_DIO23   23

§ PINCC26XX_DIO24

#define PINCC26XX_DIO24   24

§ PINCC26XX_DIO25

#define PINCC26XX_DIO25   25

§ PINCC26XX_DIO26

#define PINCC26XX_DIO26   26

§ PINCC26XX_DIO27

#define PINCC26XX_DIO27   27

§ PINCC26XX_DIO28

#define PINCC26XX_DIO28   28

§ PINCC26XX_DIO29

#define PINCC26XX_DIO29   29

§ PINCC26XX_DIO30

#define PINCC26XX_DIO30   30

§ PINCC26XX_DIO31

#define PINCC26XX_DIO31   31

§ PINCC26XX_MUX_GPIO

#define PINCC26XX_MUX_GPIO   IOC_PORT_GPIO

§ PINCC26XX_MUX_AON_CLK32K

#define PINCC26XX_MUX_AON_CLK32K   IOC_PORT_AON_CLK32K

§ PINCC26XX_MUX_AUX_IO

#define PINCC26XX_MUX_AUX_IO   IOC_PORT_AUX_IO

§ PINCC26XX_MUX_MCU_SSI0_RX

#define PINCC26XX_MUX_MCU_SSI0_RX   IOC_PORT_MCU_SSI0_RX

§ PINCC26XX_MUX_MCU_SSI0_TX

#define PINCC26XX_MUX_MCU_SSI0_TX   IOC_PORT_MCU_SSI0_TX

§ PINCC26XX_MUX_MCU_SSI0_FSS

#define PINCC26XX_MUX_MCU_SSI0_FSS   IOC_PORT_MCU_SSI0_FSS

§ PINCC26XX_MUX_MCU_SSI0_CLK

#define PINCC26XX_MUX_MCU_SSI0_CLK   IOC_PORT_MCU_SSI0_CLK

§ PINCC26XX_MUX_MCU_I2C_MSSDA

#define PINCC26XX_MUX_MCU_I2C_MSSDA   IOC_PORT_MCU_I2C_MSSDA

§ PINCC26XX_MUX_MCU_I2C_MSSCL

#define PINCC26XX_MUX_MCU_I2C_MSSCL   IOC_PORT_MCU_I2C_MSSCL

§ PINCC26XX_MUX_MCU_UART0_RX

#define PINCC26XX_MUX_MCU_UART0_RX   IOC_PORT_MCU_UART0_RX

§ PINCC26XX_MUX_MCU_UART0_TX

#define PINCC26XX_MUX_MCU_UART0_TX   IOC_PORT_MCU_UART0_TX

§ PINCC26XX_MUX_MCU_UART0_CTS

#define PINCC26XX_MUX_MCU_UART0_CTS   IOC_PORT_MCU_UART0_CTS

§ PINCC26XX_MUX_MCU_UART0_RTS

#define PINCC26XX_MUX_MCU_UART0_RTS   IOC_PORT_MCU_UART0_RTS

§ PINCC26XX_MUX_MCU_PORT_EV_0

#define PINCC26XX_MUX_MCU_PORT_EV_0   IOC_PORT_MCU_PORT_EVENT0

§ PINCC26XX_MUX_MCU_PORT_EV_1

#define PINCC26XX_MUX_MCU_PORT_EV_1   IOC_PORT_MCU_PORT_EVENT1

§ PINCC26XX_MUX_MCU_PORT_EV_2

#define PINCC26XX_MUX_MCU_PORT_EV_2   IOC_PORT_MCU_PORT_EVENT2

§ PINCC26XX_MUX_MCU_PORT_EV_3

#define PINCC26XX_MUX_MCU_PORT_EV_3   IOC_PORT_MCU_PORT_EVENT3

§ PINCC26XX_MUX_MCU_PORT_EV_4

#define PINCC26XX_MUX_MCU_PORT_EV_4   IOC_PORT_MCU_PORT_EVENT4

§ PINCC26XX_MUX_MCU_PORT_EV_5

#define PINCC26XX_MUX_MCU_PORT_EV_5   IOC_PORT_MCU_PORT_EVENT5

§ PINCC26XX_MUX_MCU_PORT_EV_6

#define PINCC26XX_MUX_MCU_PORT_EV_6   IOC_PORT_MCU_PORT_EVENT6

§ PINCC26XX_MUX_MCU_PORT_EV_7

#define PINCC26XX_MUX_MCU_PORT_EV_7   IOC_PORT_MCU_PORT_EVENT7

§ PINCC26XX_MUX_SWV

#define PINCC26XX_MUX_SWV   IOC_PORT_MCU_SWV

§ PINCC26XX_MUX_MCU_SSI1_RX

#define PINCC26XX_MUX_MCU_SSI1_RX   IOC_PORT_MCU_SSI1_RX

§ PINCC26XX_MUX_MCU_SSI1_TX

#define PINCC26XX_MUX_MCU_SSI1_TX   IOC_PORT_MCU_SSI1_TX

§ PINCC26XX_MUX_MCU_SSI1_FSS

#define PINCC26XX_MUX_MCU_SSI1_FSS   IOC_PORT_MCU_SSI1_FSS

§ PINCC26XX_MUX_MCU_SSI1_CLK

#define PINCC26XX_MUX_MCU_SSI1_CLK   IOC_PORT_MCU_SSI1_CLK

§ PINCC26XX_MUX_MCU_I2S_AD0

#define PINCC26XX_MUX_MCU_I2S_AD0   IOC_PORT_MCU_I2S_AD0

§ PINCC26XX_MUX_MCU_I2S_AD1

#define PINCC26XX_MUX_MCU_I2S_AD1   IOC_PORT_MCU_I2S_AD1

§ PINCC26XX_MUX_MCU_I2S_WCLK

#define PINCC26XX_MUX_MCU_I2S_WCLK   IOC_PORT_MCU_I2S_WCLK

§ PINCC26XX_MUX_MCU_I2S_BCLK

#define PINCC26XX_MUX_MCU_I2S_BCLK   IOC_PORT_MCU_I2S_BCLK

§ PINCC26XX_MUX_MCU_I2S_MCLK

#define PINCC26XX_MUX_MCU_I2S_MCLK   IOC_PORT_MCU_I2S_MCLK

§ PINCC26XX_MUX_RFC_TRC

#define PINCC26XX_MUX_RFC_TRC   IOC_PORT_RFC_TRC

§ PINCC26XX_MUX_RFC_GPO0

#define PINCC26XX_MUX_RFC_GPO0   IOC_PORT_RFC_GPO0

§ PINCC26XX_MUX_RFC_GPO1

#define PINCC26XX_MUX_RFC_GPO1   IOC_PORT_RFC_GPO1

§ PINCC26XX_MUX_RFC_GPO2

#define PINCC26XX_MUX_RFC_GPO2   IOC_PORT_RFC_GPO2

§ PINCC26XX_MUX_RFC_GPO3

#define PINCC26XX_MUX_RFC_GPO3   IOC_PORT_RFC_GPO3

§ PINCC26XX_MUX_RFC_GPI0

#define PINCC26XX_MUX_RFC_GPI0   IOC_PORT_RFC_GPI0

§ PINCC26XX_MUX_RFC_GPI1

#define PINCC26XX_MUX_RFC_GPI1   IOC_PORT_RFC_GPI1

§ PINCC26XX_MUX_RFC_SMI_DL_OUT

#define PINCC26XX_MUX_RFC_SMI_DL_OUT   IOC_PORT_RFC_SMI_DL_OUT

§ PINCC26XX_MUX_RFC_SMI_DL_IN

#define PINCC26XX_MUX_RFC_SMI_DL_IN   IOC_PORT_RFC_SMI_DL_IN

§ PINCC26XX_MUX_RFC_SMI_CL_OUT

#define PINCC26XX_MUX_RFC_SMI_CL_OUT   IOC_PORT_RFC_SMI_CL_OUT

§ PINCC26XX_MUX_RFC_SMI_CL_IN

#define PINCC26XX_MUX_RFC_SMI_CL_IN   IOC_PORT_RFC_SMI_CL_IN

Typedef Documentation

§ PINCC26XX_HWAttrs

PINCC26XX Hardware attributes.

intPriority is the PIN driver's interrupt priority, as defined by the underlying OS. It is passed unmodified to the underlying OS's interrupt handler creation code, so you need to refer to the OS documentation for usage. For example, for SYS/BIOS applications, refer to the ti.sysbios.family.arm.m3.Hwi documentation for SYS/BIOS usage of interrupt priorities. If the driver uses the ti.dpl interface instead of making OS calls directly, then the HwiP port handles the interrupt priority in an OS specific way. In the case of the SYS/BIOS port, intPriority is passed unmodified to Hwi_create().

swiPriority defines the priority of the SWI the registered callback function will be called in.

Function Documentation

§ PIN_ctz()

__STATIC_INLINE uint32_t PIN_ctz ( uint32_t  x)

§ PINCC26XX_getInputValue()

__STATIC_INLINE uint32_t PINCC26XX_getInputValue ( PIN_Id  pinId)

Fast/efficient version of PIN_getInputValue()

§ PINCC26XX_setOutputEnable()

__STATIC_INLINE void PINCC26XX_setOutputEnable ( PIN_Id  pinId,
bool  outputEnable 
)

§ PINCC26XX_setOutputValue()

__STATIC_INLINE void PINCC26XX_setOutputValue ( PIN_Id  pinId,
uint32_t  val 
)

§ PINCC26XX_getOutputValue()

__STATIC_INLINE uint32_t PINCC26XX_getOutputValue ( PIN_Id  pinId)

Fast/efficient version of PIN_getOutputValue()

§ PINCC26XX_clrPendInterrupt()

__STATIC_INLINE void PINCC26XX_clrPendInterrupt ( PIN_Id  pinId)

§ PINCC26XX_getPortInputValue()

__STATIC_INLINE uint32_t PINCC26XX_getPortInputValue ( PIN_Handle  handle)

Fast/efficient version of PIN_getPortInputValue()

§ PINCC26XX_getPortOutputValue()

__STATIC_INLINE uint32_t PINCC26XX_getPortOutputValue ( PIN_Handle  handle)

Fast/efficient version of PIN_getPortOutputValue()

§ PINCC26XX_setPortOutputValue()

__STATIC_INLINE void PINCC26XX_setPortOutputValue ( PIN_Handle  handle,
uint32_t  outputValueMask 
)

References PIN_State_s::portMask.

§ PINCC26XX_setPortOutputEnable()

__STATIC_INLINE void PINCC26XX_setPortOutputEnable ( PIN_Handle  handle,
uint32_t  outputEnableMask 
)

§ PINCC26XX_getConfig()

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

Referenced by PINCC26XX_setPortOutputEnable().

§ PINCC26XX_setWakeup()

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
Usage
PIN_setWakeup(NULL, PIN_ID(9)|PIN_WAKEUP_NEGEDGE);
Note
A wake-up event to wake up from shutdown is not detected until the device reaches shutdown. Wake-up events happening after a shutdown is initiated but before actual shutdown are not captured and thus will not cause the device to wake up.

Referenced by PINCC26XX_setPortOutputEnable().

§ PINCC26XX_getMux()

int32_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
if (PINCC26XX_getMux(PIN_ID(16)) < 0) {
// Pin is GPIO
}

Referenced by PINCC26XX_setPortOutputEnable().

§ PINCC26XX_getPinCount()

uint32_t PINCC26XX_getPinCount ( )

Get device-specific count of how many pins are available on this device and package.

Returns
Device and package specific pin count
Note
Mostly used by driver code

Referenced by PINCC26XX_setPortOutputEnable().

§ PINCC26XX_setMux()

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
PIN_setMux(hPins, PIN_ID(16), PINCC26XX_UART_TX);

Referenced by PINCC26XX_setPortOutputEnable().

© Copyright 1995-2021, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale