Toggle navigation
Documentation
The friendly Operating System for the Internet of Things
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
25
extern
"C"
{
26
#endif
27
31
#define MCU_IOC_BASE (0x40081000)
40
typedef struct {
41
reg32_t CFG[32];
42
}
cc26x0_ioc_regs_t
;
43
44
#define IOC ((cc26x0_ioc_regs_t *)(MCU_IOC_BASE))
50
#define IOCFG_PORTID_GPIO 0x00000000
52
#ifdef CPU_VARIANT_X0
53
#define IOCFG_PORTID_AON_SCS 0x00000001
54
#define IOCFG_PORTID_AON_SCK 0x00000002
55
#define IOCFG_PORTID_AON_SDI 0x00000003
56
#define IOCFG_PORTID_AON_SDO 0x00000004
57
#endif //CPU_VARIANT_X0
58
59
#define IOCFG_PORTID_AON_CLK32K 0x00000007
60
#define IOCFG_PORTID_AUX_IO 0x00000008
61
#define IOCFG_PORTID_SSI0_RX 0x00000009
62
#define IOCFG_PORTID_SSI0_TX 0x0000000A
63
#define IOCFG_PORTID_SSI0_FSS 0x0000000B
64
#define IOCFG_PORTID_SSI0_CLK 0x0000000C
65
#define IOCFG_PORTID_I2C_MSSDA 0x0000000D
66
#define IOCFG_PORTID_I2C_MSSCL 0x0000000E
67
#define IOCFG_PORTID_UART0_RX 0x0000000F
68
#define IOCFG_PORTID_UART0_TX 0x00000010
69
#define IOCFG_PORTID_UART0_CTS 0x00000011
70
#define IOCFG_PORTID_UART0_RTS 0x00000012
72
#ifdef CPU_VARIANT_X2
73
#define IOCFG_PORTID_UART1_RX 0x00000013
74
#define IOCFG_PORTID_UART1_TX 0x00000014
75
#define IOCFG_PORTID_UART1_CTS 0x00000015
76
#define IOCFG_PORTID_UART1_RTS 0x00000016
77
#endif // CPU_VARIANT_X2
78
79
#define IOCFG_PORTID_PORT_EVT0 0x00000017
80
#define IOCFG_PORTID_PORT_EVT1 0x00000018
81
#define IOCFG_PORTID_PORT_EVT2 0x00000019
82
#define IOCFG_PORTID_PORT_EVT3 0x0000001A
83
#define IOCFG_PORTID_PORT_EVT4 0x0000001B
84
#define IOCFG_PORTID_PORT_EVT5 0x0000001C
85
#define IOCFG_PORTID_PORT_EVT6 0x0000001D
86
#define IOCFG_PORTID_PORT_EVT7 0x0000001E
87
#define IOCFG_PORTID_SWV 0x00000020
88
#define IOCFG_PORTID_SSI1_RX 0x00000021
89
#define IOCFG_PORTID_SSI1_TX 0x00000022
90
#define IOCFG_PORTID_SSI1_FSS 0x00000023
91
#define IOCFG_PORTID_SSI1_CLK 0x00000024
92
#define IOCFG_PORTID_I2S_AD0 0x00000025
93
#define IOCFG_PORTID_I2S_AD1 0x00000026
94
#define IOCFG_PORTID_I2S_WCLK 0x00000027
95
#define IOCFG_PORTID_I2S_BCLK 0x00000028
96
#define IOCFG_PORTID_I2S_MCLK 0x00000029
97
#define IOCFG_PORTID_RFC_TRC 0x0000002E
98
#define IOCFG_PORTID_RFC_GPO0 0x0000002F
99
#define IOCFG_PORTID_RFC_GPO1 0x00000030
100
#define IOCFG_PORTID_RFC_GPO2 0x00000031
101
#define IOCFG_PORTID_RFC_GPO3 0x00000032
102
#define IOCFG_PORTID_RFC_GPI0 0x00000033
103
#define IOCFG_PORTID_RFC_GPI1 0x00000034
104
#define IOCFG_PORTID_RFC_SMI_DL_OUT 0x00000035
105
#define IOCFG_PORTID_RFC_SMI_DL_IN 0x00000036
106
#define IOCFG_PORTID_RFC_SMI_CMD_OUT 0x00000037
107
#define IOCFG_PORTID_RFC_SMI_CMD_IN 0x00000038
109
#define IOCFG_IOSTR_AUTO 0x00000000
110
#define IOCFG_IOSTR_MAX 0x00000300
111
#define IOCFG_IOSTR_MED 0x00000200
112
#define IOCFG_IOSTR_MIN 0x00000100
114
#define IOCFG_IOCURR_2MA 0x00000000
115
#define IOCFG_IOCURR_4MA 0x00000400
116
#define IOCFG_IOCURR_8MA 0x00000800
117
#define IOCFG_IOCURR_16MA 0x00000C00
119
#define IOCFG_SLEW_RED 0x00001000
121
#define IOCFG_PULLCTL_OFF 0x00006000
122
#define IOCFG_PULLCTL_UP 0x00004000
123
#define IOCFG_PULLCTL_DOWN 0x00002000
125
#define IOCFG_EDGEDET_FALLING 0x00010000
126
#define IOCFG_EDGEDET_RISING 0x00020000
127
#define IOCFG_EDGEDET_BOTH 0x00030000
128
#define IOCFG_EDGEIRQ_ENABLE 0x00040000
130
/* n/a when port_id is AON or AUX */
131
#define IOCFG_IOMODE_INV 0x01000000
132
#define IOCFG_IOMODE_OPEN_DRAIN 0x04000000
133
#define IOCFG_IOMODE_OPEN_SRC 0x06000000
135
/* both enable waking up when port_id is AON or AUX */
136
#define IOCFG_WUCFG_LOW 0x10000000
137
#define IOCFG_WUCFG_HIGH 0x18000000
138
139
/* ignored if port_id is AUX */
140
#define IOCFG_INPUT_ENABLE 0x20000000
141
142
#define IOCFG_HYST_ENABLE 0x40000000
143
148
typedef
struct
{
149
reg32_t
IOSTRMIN
;
150
reg32_t
IOSTRMED
;
151
reg32_t
IOSTRMAX
;
152
reg32_t
IOCLATCH
;
153
reg32_t
CLK32KCTL
;
154
#ifdef CPU_VARIANT_X2
155
reg32_t TCKCTL;
156
#endif
157
}
aon_ioc_regs_t
;
158
163
#define AON_IOC_IOCLATCH_EN 0x00000001
164
#define AON_IOC_CLK32KCTL_OEN 0x00000001
165
174
#define AON_IOC_BASE (PERIPH_BASE + 0x94000)
175
180
#define AON_IOC ((aon_ioc_regs_t *) (AON_IOC_BASE))
181
182
#ifdef __cplusplus
183
}
184
#endif
185
186
#endif
/* CC26XX_CC13XX_IOC_H */
187
aon_ioc_regs_t::IOCLATCH
reg32_t IOCLATCH
IO Latch Control.
Definition:
cc26xx_cc13xx_ioc.h:152
aon_ioc_regs_t::IOSTRMIN
reg32_t IOSTRMIN
IO Drive Strength Minimum.
Definition:
cc26xx_cc13xx_ioc.h:149
aon_ioc_regs_t
AON_IOC registers.
Definition:
cc26xx_cc13xx_ioc.h:148
aon_ioc_regs_t::IOSTRMED
reg32_t IOSTRMED
IO Drive Strength Medium.
Definition:
cc26xx_cc13xx_ioc.h:150
aon_ioc_regs_t::CLK32KCTL
reg32_t CLK32KCTL
SCLK_LF External Output Control.
Definition:
cc26xx_cc13xx_ioc.h:153
cc26xx_cc13xx.h
CC26xx, CC13xx definitions.
aon_ioc_regs_t::IOSTRMAX
reg32_t IOSTRMAX
IO Drive Strength Maximum.
Definition:
cc26xx_cc13xx_ioc.h:151
cc26x0_ioc_regs_t
obtain IOCFG-register for a DIO
Definition:
cc26xx_cc13xx_ioc.h:40
Generated on Tue Nov 24 2020 19:46:49 by
1.8.17