i2c.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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. #define I2C_BASE1 0x44E0B000
  26. #define I2C_BASE2 0x4802A000
  27. #define I2C_BASE3 0x4819C000
  28. #define I2C_BUS_MAX 3
  29. #define I2C_DEFAULT_BASE I2C_BASE1
  30. struct i2c {
  31. unsigned short revnb_lo; /* 0x00 */
  32. unsigned short res1;
  33. unsigned short revnb_hi; /* 0x04 */
  34. unsigned short res2[5];
  35. unsigned short sysc; /* 0x10 */
  36. unsigned short res3[9];
  37. unsigned short irqstatus_raw; /* 0x24 */
  38. unsigned short res4;
  39. unsigned short stat; /* 0x28 */
  40. unsigned short res5;
  41. unsigned short ie; /* 0x2C */
  42. unsigned short res6;
  43. unsigned short irqenable_clr; /* 0x30 */
  44. unsigned short res7;
  45. unsigned short iv; /* 0x34 */
  46. unsigned short res8[45];
  47. unsigned short syss; /* 0x90 */
  48. unsigned short res9;
  49. unsigned short buf; /* 0x94 */
  50. unsigned short res10;
  51. unsigned short cnt; /* 0x98 */
  52. unsigned short res11;
  53. unsigned short data; /* 0x9C */
  54. unsigned short res13;
  55. unsigned short res14; /* 0xA0 */
  56. unsigned short res15;
  57. unsigned short con; /* 0xA4 */
  58. unsigned short res16;
  59. unsigned short oa; /* 0xA8 */
  60. unsigned short res17;
  61. unsigned short sa; /* 0xAC */
  62. unsigned short res18;
  63. unsigned short psc; /* 0xB0 */
  64. unsigned short res19;
  65. unsigned short scll; /* 0xB4 */
  66. unsigned short res20;
  67. unsigned short sclh; /* 0xB8 */
  68. unsigned short res21;
  69. unsigned short systest; /* 0xBC */
  70. unsigned short res22;
  71. unsigned short bufstat; /* 0xC0 */
  72. unsigned short res23;
  73. };
  74. #define I2C_IP_CLK 48000000
  75. #define I2C_INTERNAL_SAMPLING_CLK 12000000
  76. #endif /* _I2C_H_ */