Device-specific pin & GPIO driver for CC26xx family [def].
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)>
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 | |
#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 | |
| |
#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... | |
#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 |
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 |
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 |
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_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 |
typedef struct PINCC26XX_HWAttrs 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.
__STATIC_INLINE uint32_t PIN_ctz | ( | uint32_t | x | ) |
__STATIC_INLINE uint32_t PINCC26XX_getInputValue | ( | PIN_Id | pinId | ) |
Fast/efficient version of PIN_getInputValue()
__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()
__STATIC_INLINE void PINCC26XX_clrPendInterrupt | ( | PIN_Id | pinId | ) |
__STATIC_INLINE uint32_t PINCC26XX_getPortInputValue | ( | PIN_Handle | handle | ) |
Fast/efficient version of PIN_getPortInputValue()
__STATIC_INLINE uint32_t PINCC26XX_getPortOutputValue | ( | PIN_Handle | handle | ) |
Fast/efficient version of PIN_getPortOutputValue()
__STATIC_INLINE void PINCC26XX_setPortOutputValue | ( | PIN_Handle | handle, |
uint32_t | outputValueMask | ||
) |
References PIN_State_s::portMask.
__STATIC_INLINE void PINCC26XX_setPortOutputEnable | ( | PIN_Handle | handle, |
uint32_t | outputEnableMask | ||
) |
PIN_Config PINCC26XX_getConfig | ( | PIN_Id | pinId | ) |
Returns CC26xx device-specific pin configuration.
pinId | Pin ID |
Referenced by PINCC26XX_setPortOutputEnable().
PIN_Status PINCC26XX_setWakeup | ( | const PIN_Config | aPinCfg[] | ) |
Configure wakeup (from shutdown) on pins.
aPinCfg | PIN_Config list identifying pin ID and relevant pin configuration as one of: |
Referenced by PINCC26XX_setPortOutputEnable().
int32_t PINCC26XX_getMux | ( | PIN_Id | pinId | ) |
Get device-specific pin mapping to GPIO, HW peripheral or HW signal.
pinId | Pin ID |
Referenced by PINCC26XX_setPortOutputEnable().
uint32_t PINCC26XX_getPinCount | ( | ) |
Get device-specific count of how many pins are available on this device and package.
Referenced by PINCC26XX_setPortOutputEnable().
PIN_Status PINCC26XX_setMux | ( | PIN_Handle | handle, |
PIN_Id | pinId, | ||
int32_t | nMux | ||
) |
Connect pin to HW peripheral, signal or to GPIO.
handle | Handle provided by previous call to PIN_open() |
pinId | Pin ID |
nMux | Device-specific index of peripheral port or hardware signal. A value of -1 reverts the pin to GPIO mapping |
Referenced by PINCC26XX_setPortOutputEnable().