cc26xx_cc13xx_i2c.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 
9 #pragma once
10 
21 #include "cc26xx_cc13xx.h"
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
30 typedef struct {
32  union {
35  };
41  reg32_t __reserved[0x1F9];
43  union {
46  };
54 } i2c_regs_t;
55 
61 #define MCR_MFE 0x00000010
62 
76 #define MTPR_TPR_100KHZ 0x00000017
77 
85 #define MSA_RS 0x00000001
86 
94 #define MSTAT_BUSBSY 0x00000040
95 
101 #define MSTAT_IDLE 0x00000020
102 
108 #define MSTAT_ARBLST 0x00000010
109 
115 #define MSTAT_DATACK_N 0x00000008
116 
122 #define MSTAT_ADRACK_N 0x00000004
123 
129 #define MSTAT_ERR 0x00000002
130 
144 #define MSTAT_BUSY 0x00000001
145 
157 #define MCTRL_ACK 0x00000008
158 
167 #define MCTRL_STOP 0x00000004
168 
176 #define MCTRL_START 0x00000002
177 
185 #define MCTRL_RUN 0x00000001
186 
191 #define I2C_BASE (PERIPH_BASE + 0x2000)
194 #define I2C ((i2c_regs_t *) (I2C_BASE))
196 #ifdef __cplusplus
197 }
198 #endif
199 
CC26xx, CC13xx definitions.
volatile uint32_t reg32_t
Unsigned 32-bit register type.
Definition: cc26xx_cc13xx.h:39
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