1 /* 2 * (C) Copyright 2012 3 * Texas Instruments, <www.ti.com> 4 * 5 * See file CREDITS for list of people who contributed to this 6 * project. 7 * 8 * This program is free software; you can redistribute it and/or 9 * modify it under the terms of the GNU General Public License as 10 * published by the Free Software Foundation; either version 2 of 11 * the License, or (at your option) any later version. 12 * 13 * This program is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * GNU General Public License for more details. 17 * 18 * You should have received a copy of the GNU General Public License 19 * along with this program; if not, write to the Free Software 20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 21 * MA 02111-1307 USA 22 */ 23 #ifndef _I2C_H_ 24 #define _I2C_H_ 25 26 #define I2C_BASE1 0x44E0B000 27 #define I2C_BASE2 0x4802A000 28 #define I2C_BASE3 0x4819C000 29 #define I2C_BUS_MAX 3 30 31 #define I2C_DEFAULT_BASE I2C_BASE1 32 33 struct i2c { 34 unsigned short revnb_lo; /* 0x00 */ 35 unsigned short res1; 36 unsigned short revnb_hi; /* 0x04 */ 37 unsigned short res2[5]; 38 unsigned short sysc; /* 0x10 */ 39 unsigned short res3[9]; 40 unsigned short irqstatus_raw; /* 0x24 */ 41 unsigned short res4; 42 unsigned short stat; /* 0x28 */ 43 unsigned short res5; 44 unsigned short ie; /* 0x2C */ 45 unsigned short res6; 46 unsigned short irqenable_clr; /* 0x30 */ 47 unsigned short res7; 48 unsigned short iv; /* 0x34 */ 49 unsigned short res8[45]; 50 unsigned short syss; /* 0x90 */ 51 unsigned short res9; 52 unsigned short buf; /* 0x94 */ 53 unsigned short res10; 54 unsigned short cnt; /* 0x98 */ 55 unsigned short res11; 56 unsigned short data; /* 0x9C */ 57 unsigned short res13; 58 unsigned short res14; /* 0xA0 */ 59 unsigned short res15; 60 unsigned short con; /* 0xA4 */ 61 unsigned short res16; 62 unsigned short oa; /* 0xA8 */ 63 unsigned short res17; 64 unsigned short sa; /* 0xAC */ 65 unsigned short res18; 66 unsigned short psc; /* 0xB0 */ 67 unsigned short res19; 68 unsigned short scll; /* 0xB4 */ 69 unsigned short res20; 70 unsigned short sclh; /* 0xB8 */ 71 unsigned short res21; 72 unsigned short systest; /* 0xBC */ 73 unsigned short res22; 74 unsigned short bufstat; /* 0xC0 */ 75 unsigned short res23; 76 }; 77 78 #define I2C_IP_CLK 48000000 79 #define I2C_INTERNAL_SAMPLING_CLK 12000000 80 81 #endif /* _I2C_H_ */ 82