[U-Boot] [PATCH] beagleboard: Remove side effects of i2c2 pullup resisters initialization code
Alexander Kochetkov
al.kochet at gmail.com
Mon Sep 29 19:46:48 CEST 2014
Fix typo of commit d4e53f063dd25e071444b87303573e7440deeb89.
i2c2 pullup resisters are controlled by bit 0 of CONTROL_PROG_IO1.
It's value after reset is 0x00100001.
In order to clear bit 0, original code write 0xfffffffe to
CONTROL_PROG_IO1 and toggle almost all default values.
Original code affect following:
* disable i2c1 pullup resisters
* increase far end load setting for many modules
* setup invalid SC/LB combination
Signed-off-by: Alexander Kochetkov <al.kochet at gmail.com>
CC: Tom Rini <trini at ti.com>
CC: Steve Kipisz <s-kipisz2 at ti.com>
---
board/ti/beagle/beagle.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
index 0674afd..94b99bf 100644
--- a/board/ti/beagle/beagle.c
+++ b/board/ti/beagle/beagle.c
@@ -317,9 +317,12 @@ int misc_init_r(void)
struct gpio *gpio6_base = (struct gpio *)OMAP34XX_GPIO6_BASE;
struct control_prog_io *prog_io_base = (struct control_prog_io *)OMAP34XX_CTRL_BASE;
bool generate_fake_mac = false;
+ u32 value;
/* Enable i2c2 pullup resisters */
- writel(~(PRG_I2C2_PULLUPRESX), &prog_io_base->io1);
+ value = readl(&prog_io_base->io1);
+ value &= ~(PRG_I2C2_PULLUPRESX);
+ writel(value, &prog_io_base->io1);
switch (get_board_revision()) {
case REVISION_AXBX:
--
1.7.9.5
More information about the U-Boot
mailing list