1 | /* |
---|
2 | * Copyright (c) 2017 embedded brains GmbH. All rights reserved. |
---|
3 | * |
---|
4 | * embedded brains GmbH |
---|
5 | * Dornierstr. 4 |
---|
6 | * 82178 Puchheim |
---|
7 | * Germany |
---|
8 | * <info@embedded-brains.de> |
---|
9 | * |
---|
10 | * The license and distribution terms for this file may be |
---|
11 | * found in the file LICENSE in this distribution or at |
---|
12 | * http://www.rtems.org/license/LICENSE. |
---|
13 | */ |
---|
14 | |
---|
15 | #ifndef IMX_I2CREG_H |
---|
16 | #define IMX_I2CREG_H |
---|
17 | |
---|
18 | #include <bsp/utility.h> |
---|
19 | |
---|
20 | typedef struct { |
---|
21 | uint32_t iadr; |
---|
22 | #define IMX_I2C_IADR_ADR(val) BSP_FLD32(val, 1, 7) |
---|
23 | #define IMX_I2C_IADR_ADR_GET(reg) BSP_FLD32GET(reg, 1, 7) |
---|
24 | #define IMX_I2C_IADR_ADR_SET(reg, val) BSP_FLD32SET(reg, val, 1, 7) |
---|
25 | uint32_t ifdr; |
---|
26 | #define IMX_I2C_IFDR_IC(val) BSP_FLD32(val, 0, 5) |
---|
27 | #define IMX_I2C_IFDR_IC_GET(reg) BSP_FLD32GET(reg, 0, 5) |
---|
28 | #define IMX_I2C_IFDR_IC_SET(reg, val) BSP_FLD32SET(reg, val, 0, 5) |
---|
29 | uint32_t i2cr; |
---|
30 | #define IMX_I2C_I2CR_IEN BSP_BIT32(7) |
---|
31 | #define IMX_I2C_I2CR_IIEN BSP_BIT32(6) |
---|
32 | #define IMX_I2C_I2CR_MSTA BSP_BIT32(5) |
---|
33 | #define IMX_I2C_I2CR_MTX BSP_BIT32(4) |
---|
34 | #define IMX_I2C_I2CR_TXAK BSP_BIT32(3) |
---|
35 | #define IMX_I2C_I2CR_RSTA BSP_BIT32(2) |
---|
36 | uint32_t i2sr; |
---|
37 | #define IMX_I2C_I2SR_ICF BSP_BIT32(7) |
---|
38 | #define IMX_I2C_I2SR_IAAS BSP_BIT32(6) |
---|
39 | #define IMX_I2C_I2SR_IBB BSP_BIT32(5) |
---|
40 | #define IMX_I2C_I2SR_IAL BSP_BIT32(4) |
---|
41 | #define IMX_I2C_I2SR_SRW BSP_BIT32(2) |
---|
42 | #define IMX_I2C_I2SR_IIF BSP_BIT32(1) |
---|
43 | #define IMX_I2C_I2SR_RXAK BSP_BIT32(0) |
---|
44 | uint32_t i2dr; |
---|
45 | #define IMX_I2C_I2DR_DATA(val) BSP_FLD32(val, 0, 7) |
---|
46 | #define IMX_I2C_I2DR_DATA_GET(reg) BSP_FLD32GET(reg, 0, 7) |
---|
47 | #define IMX_I2C_I2DR_DATA_SET(reg, val) BSP_FLD32SET(reg, val, 0, 7) |
---|
48 | } imx_i2c; |
---|
49 | |
---|
50 | #endif /* IMX_I2CREG_H */ |
---|