cc26xx_cc13xx_i2c.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2016 Leon George
3  * SPDX-License-Identifier: LGPL-2.1-only
4  */
5 
6 #pragma once
7 
18 #include "cc26xx_cc13xx.h"
19 
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23 
27 typedef struct {
29  union {
32  };
38  reg32_t __reserved[0x1F9];
40  union {
43  };
51 } i2c_regs_t;
52 
58 #define MCR_MFE 0x00000010
59 
73 #define MTPR_TPR_100KHZ 0x00000017
74 
82 #define MSA_RS 0x00000001
83 
91 #define MSTAT_BUSBSY 0x00000040
92 
98 #define MSTAT_IDLE 0x00000020
99 
105 #define MSTAT_ARBLST 0x00000010
106 
112 #define MSTAT_DATACK_N 0x00000008
113 
119 #define MSTAT_ADRACK_N 0x00000004
120 
126 #define MSTAT_ERR 0x00000002
127 
141 #define MSTAT_BUSY 0x00000001
142 
154 #define MCTRL_ACK 0x00000008
155 
164 #define MCTRL_STOP 0x00000004
165 
173 #define MCTRL_START 0x00000002
174 
182 #define MCTRL_RUN 0x00000001
183 
188 #define I2C_BASE (PERIPH_BASE + 0x2000)
191 #define I2C ((i2c_regs_t *) (I2C_BASE))
193 #ifdef __cplusplus
194 }
195 #endif
196 
CC26xx, CC13xx definitions.
volatile uint32_t reg32_t
Unsigned 32-bit register type.
Definition: cc26xx_cc13xx.h:36
I2C registers.
reg32_t SMIS
slave masked interrupt status
reg32_t SICR
slave interrupt clear
reg32_t SIMR
slave interrupt mask
reg32_t SRIS
slave raw interrupt status
reg32_t MCR
master configuration
reg32_t MCTRL
master control
reg32_t SCTL
slave control
reg32_t MRIS
master raw interrupt status
reg32_t MDR
master data
reg32_t SSTAT
slave status
reg32_t MSA
master slave address
reg32_t MIMR
master interrupt mask
reg32_t MTPR
master timer period
reg32_t MMIS
master masked interrupt statues
reg32_t SDR
slave data
reg32_t SOAR
slave own address
reg32_t MICR
master interrupt clear
reg32_t MSTAT
master status