rt-thread-official/bsp/rm48x50/HALCoGen/include/reg_i2c.h

95 lines
3.4 KiB
C

/** @file reg_i2c.h
* @brief I2C Register Layer Header File
* @date 29.May.2013
* @version 03.05.02
*
* This file contains:
* - Definitions
* - Types
* - Interface Prototypes
* .
* which are relevant for the I2C driver.
*/
/* (c) Texas Instruments 2009-2013, All rights reserved. */
#ifndef __REG_I2C_H__
#define __REG_I2C_H__
#include "sys_common.h"
#include "gio.h"
/* USER CODE BEGIN (0) */
/* USER CODE END */
/* I2c Register Frame Definition */
/** @struct i2cBase
* @brief I2C Base Register Definition
*
* This structure is used to access the I2C module registers.
*/
/** @typedef i2cBASE_t
* @brief I2C Register Frame Type Definition
*
* This type is used to access the I2C Registers.
*/
typedef volatile struct i2cBase
{
uint32 OAR; /**< 0x0000 I2C Own Address register */
uint32 IMR; /**< 0x0004 I2C Interrupt Mask/Status register */
uint32 STR; /**< 0x0008 I2C Interrupt Status register */
uint32 CLKL; /**< 0x000C I2C Clock Divider Low register */
uint32 CLKH; /**< 0x0010 I2C Clock Divider High register */
uint32 CNT; /**< 0x0014 I2C Data Count register */
uint32 DRR; /**< 0x0018 I2C Data Receive register */
uint32 SAR; /**< 0x001C I2C Slave Address register */
uint32 DXR; /**< 0x0020 I2C Data Transmit register */
uint32 MDR; /**< 0x0024 I2C Mode register */
uint32 IVR; /**< 0x0028 I2C Interrupt Vector register */
uint32 EMDR; /**< 0x002C I2C Extended Mode register */
uint32 PSC; /**< 0x0030 I2C Prescaler register */
uint32 PID11; /**< 0x0034 I2C Peripheral ID register 1 */
uint32 PID12; /**< 0x0038 I2C Peripheral ID register 2 */
uint32 DMAC; /**< 0x003C I2C DMA Control Register */
uint32 rsvd1; /**< 0x0040 Reserved */
uint32 rsvd2; /**< 0x0044 Reserved */
uint32 FUN; /**< 0x0048 Pin Function Register */
uint32 DIR; /**< 0x004C Pin Direction Register */
uint32 DIN; /**< 0x0050 Pin Data In Register */
uint32 DOUT; /**< 0x0054 Pin Data Out Register */
uint32 SET; /**< 0x0058 Pin Data Set Register */
uint32 CLR; /**< 0x005C Pin Data Clr Register */
uint32 ODR; /**< 0x0060 Pin Open Drain Output Enable Register */
uint32 PD; /**< 0x0064 Pin Pullup/Pulldown Disable Register */
uint32 PSL; /**< 0x0068 Pin Pullup/Pulldown Selection Register */
} i2cBASE_t;
/** @def i2cREG1
* @brief I2C Register Frame Pointer
*
* This pointer is used by the I2C driver to access the I2C module registers.
*/
#define i2cREG1 ((i2cBASE_t *)0xFFF7D400U)
/* USER CODE BEGIN (1) */
/* USER CODE END */
/** @def i2cPORT1
* @brief I2C GIO Port Register Pointer
*
* Pointer used by the GIO driver to access I/O PORT of I2C
* (use the GIO drivers to access the port pins).
*/
#define i2cPORT1 ((gioPORT_t *)0xFFF7D44CU)
/* USER CODE BEGIN (2) */
/* USER CODE END */
#endif