Commit d4e53f063dd25e071444b87303573e7440deeb89

Authored by Steve Kipisz
Committed by Albert ARIBAUD
1 parent cf073e49bc

OMAP3: BeagleBoard: Enable pullups on i2c2.

This allows the reading of EEPROMS on the expansion bus without adding
external pull-ups.

Signed-off-by: Jason Kridner <jkridner@beagleboard.org>
Signed-off-by: Steve Kipisz <s-kipisz2@ti.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>

Showing 2 changed files with 18 additions and 0 deletions Side-by-side Diff

arch/arm/include/asm/arch-omap3/omap3.h
... ... @@ -50,6 +50,20 @@
50 50 /* CONTROL */
51 51 #define OMAP34XX_CTRL_BASE (OMAP34XX_L4_IO_BASE + 0x2000)
52 52  
  53 +#ifndef __ASSEMBLY__
  54 +/* Signal Integrity Parameter Control Registers */
  55 +struct control_prog_io {
  56 + unsigned char res[0x408];
  57 + unsigned int io2; /* 0x408 */
  58 + unsigned char res2[0x38];
  59 + unsigned int io0; /* 0x444 */
  60 + unsigned int io1; /* 0x448 */
  61 +};
  62 +#endif /* __ASSEMBLY__ */
  63 +
  64 +/* Bit definition for CONTROL_PROG_IO1 */
  65 +#define PRG_I2C2_PULLUPRESX 0x00000001
  66 +
53 67 /* UART */
54 68 #define OMAP34XX_UART1 (OMAP34XX_L4_IO_BASE + 0x6a000)
55 69 #define OMAP34XX_UART2 (OMAP34XX_L4_IO_BASE + 0x6c000)
board/ti/beagle/beagle.c
... ... @@ -155,6 +155,10 @@
155 155 {
156 156 struct gpio *gpio5_base = (struct gpio *)OMAP34XX_GPIO5_BASE;
157 157 struct gpio *gpio6_base = (struct gpio *)OMAP34XX_GPIO6_BASE;
  158 + struct control_prog_io *prog_io_base = (struct gpio *)OMAP34XX_CTRL_BASE;
  159 +
  160 + /* Enable i2c2 pullup resisters */
  161 + writel(~(PRG_I2C2_PULLUPRESX), &prog_io_base->io1);
158 162  
159 163 switch (get_board_revision()) {
160 164 case REVISION_AXBX: