Loading...
Searching...
No Matches
cc26xx_cc13xx_ioc.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2016 Leon George
3 *
4 * This file is subject to the terms and conditions of the GNU Lesser
5 * General Public License v2.1. See the file LICENSE in the top level
6 * directory for more details.
7 */
8
19#ifndef CC26XX_CC13XX_IOC_H
20#define CC26XX_CC13XX_IOC_H
21
22#include "cc26xx_cc13xx.h"
23
24#ifdef __cplusplus
25extern "C" {
26#endif
27
31#define MCU_IOC_BASE (0x40081000)
39typedef struct {
40 reg32_t CFG[32];
42
43#define IOC ((cc26x0_ioc_regs_t *)(MCU_IOC_BASE))
49#define IOCFG_PORTID_GPIO 0x00000000
51#ifdef CPU_VARIANT_X0
52#define IOCFG_PORTID_AON_SCS 0x00000001
53#define IOCFG_PORTID_AON_SCK 0x00000002
54#define IOCFG_PORTID_AON_SDI 0x00000003
55#define IOCFG_PORTID_AON_SDO 0x00000004
56#endif /* CPU_VARIANT_X0 */
57
58#define IOCFG_PORTID_AON_CLK32K 0x00000007
59#define IOCFG_PORTID_AUX_IO 0x00000008
60#define IOCFG_PORTID_SSI0_RX 0x00000009
61#define IOCFG_PORTID_SSI0_TX 0x0000000A
62#define IOCFG_PORTID_SSI0_FSS 0x0000000B
63#define IOCFG_PORTID_SSI0_CLK 0x0000000C
64#define IOCFG_PORTID_I2C_MSSDA 0x0000000D
65#define IOCFG_PORTID_I2C_MSSCL 0x0000000E
66#define IOCFG_PORTID_UART0_RX 0x0000000F
67#define IOCFG_PORTID_UART0_TX 0x00000010
68#define IOCFG_PORTID_UART0_CTS 0x00000011
69#define IOCFG_PORTID_UART0_RTS 0x00000012
71#ifdef CPU_VARIANT_X2
72#define IOCFG_PORTID_UART1_RX 0x00000013
73#define IOCFG_PORTID_UART1_TX 0x00000014
74#define IOCFG_PORTID_UART1_CTS 0x00000015
75#define IOCFG_PORTID_UART1_RTS 0x00000016
76#endif // CPU_VARIANT_X2
77
78#define IOCFG_PORTID_PORT_EVT0 0x00000017
79#define IOCFG_PORTID_PORT_EVT1 0x00000018
80#define IOCFG_PORTID_PORT_EVT2 0x00000019
81#define IOCFG_PORTID_PORT_EVT3 0x0000001A
82#define IOCFG_PORTID_PORT_EVT4 0x0000001B
83#define IOCFG_PORTID_PORT_EVT5 0x0000001C
84#define IOCFG_PORTID_PORT_EVT6 0x0000001D
85#define IOCFG_PORTID_PORT_EVT7 0x0000001E
86#define IOCFG_PORTID_SWV 0x00000020
87#define IOCFG_PORTID_SSI1_RX 0x00000021
88#define IOCFG_PORTID_SSI1_TX 0x00000022
89#define IOCFG_PORTID_SSI1_FSS 0x00000023
90#define IOCFG_PORTID_SSI1_CLK 0x00000024
91#define IOCFG_PORTID_I2S_AD0 0x00000025
92#define IOCFG_PORTID_I2S_AD1 0x00000026
93#define IOCFG_PORTID_I2S_WCLK 0x00000027
94#define IOCFG_PORTID_I2S_BCLK 0x00000028
95#define IOCFG_PORTID_I2S_MCLK 0x00000029
96#define IOCFG_PORTID_RFC_TRC 0x0000002E
97#define IOCFG_PORTID_RFC_GPO0 0x0000002F
98#define IOCFG_PORTID_RFC_GPO1 0x00000030
99#define IOCFG_PORTID_RFC_GPO2 0x00000031
100#define IOCFG_PORTID_RFC_GPO3 0x00000032
101#define IOCFG_PORTID_RFC_GPI0 0x00000033
102#define IOCFG_PORTID_RFC_GPI1 0x00000034
103#define IOCFG_PORTID_RFC_SMI_DL_OUT 0x00000035
104#define IOCFG_PORTID_RFC_SMI_DL_IN 0x00000036
105#define IOCFG_PORTID_RFC_SMI_CMD_OUT 0x00000037
106#define IOCFG_PORTID_RFC_SMI_CMD_IN 0x00000038
108#define IOCFG_IOSTR_AUTO 0x00000000
109#define IOCFG_IOSTR_MAX 0x00000300
110#define IOCFG_IOSTR_MED 0x00000200
111#define IOCFG_IOSTR_MIN 0x00000100
113#define IOCFG_IOCURR_2MA 0x00000000
114#define IOCFG_IOCURR_4MA 0x00000400
115#define IOCFG_IOCURR_8MA 0x00000800
116#define IOCFG_IOCURR_16MA 0x00000C00
118#define IOCFG_SLEW_RED 0x00001000
120#define IOCFG_PULLCTL_OFF 0x00006000
121#define IOCFG_PULLCTL_UP 0x00004000
122#define IOCFG_PULLCTL_DOWN 0x00002000
124#define IOCFG_EDGEDET_FALLING 0x00010000
125#define IOCFG_EDGEDET_RISING 0x00020000
126#define IOCFG_EDGEDET_BOTH 0x00030000
127#define IOCFG_EDGEIRQ_ENABLE 0x00040000
129/* n/a when port_id is AON or AUX */
130#define IOCFG_IOMODE_INV 0x01000000
131#define IOCFG_IOMODE_OPEN_DRAIN 0x04000000
132#define IOCFG_IOMODE_OPEN_SRC 0x06000000
134/* both enable waking up when port_id is AON or AUX */
135#define IOCFG_WUCFG_LOW 0x10000000
136#define IOCFG_WUCFG_HIGH 0x18000000
137
138/* ignored if port_id is AUX */
139#define IOCFG_INPUT_ENABLE 0x20000000
140
141#define IOCFG_HYST_ENABLE 0x40000000
147typedef struct {
153#ifdef CPU_VARIANT_X2
154 reg32_t TCKCTL;
155#endif
157
162#define AON_IOC_IOCLATCH_EN 0x00000001
163#define AON_IOC_CLK32KCTL_OEN 0x00000001
173#define AON_IOC_BASE (PERIPH_BASE + 0x94000)
179#define AON_IOC ((aon_ioc_regs_t *) (AON_IOC_BASE))
180
181#ifdef __cplusplus
182}
183#endif
184
185#endif /* CC26XX_CC13XX_IOC_H */
CC26xx, CC13xx definitions.
volatile uint32_t reg32_t
Unsigned 32-bit register type.
AON_IOC registers.
reg32_t IOSTRMIN
IO Drive Strength Minimum.
reg32_t IOCLATCH
IO Latch Control.
reg32_t CLK32KCTL
SCLK_LF External Output Control.
reg32_t IOSTRMAX
IO Drive Strength Maximum.
reg32_t IOSTRMED
IO Drive Strength Medium.
obtain IOCFG-register for a DIO