[glsdk/meta-ti-glsdk.git] / recipes-kernel / linux / linux-ti33x-psp-3.2 / beaglebone / 0055-Workaround-for-EEPROM-contents-blocking-further-I2C-.patch
1 From 8d8ad2973b9d062763f51f1bee0652a6647033a5 Mon Sep 17 00:00:00 2001
2 From: Bas Laarhoven <sjml@xs4all.nl>
3 Date: Mon, 14 May 2012 15:07:43 +0200
4 Subject: [PATCH 55/79] Workaround for EEPROM contents blocking further I2C
5 bus access.
7 Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
8 ---
9 arch/arm/mach-omap2/board-am335xevm.c | 5 ++++-
10 1 file changed, 4 insertions(+), 1 deletion(-)
12 diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
13 index 0a1738a..0fa8a32 100644
14 --- a/arch/arm/mach-omap2/board-am335xevm.c
15 +++ b/arch/arm/mach-omap2/board-am335xevm.c
16 @@ -2501,7 +2501,10 @@ static void bone_io_config_from_cape_eeprom( void)
17 const char* pin_name = cape_pins[ i];
18 pin_def pin_setting = { .value = BIG_ENDIAN_16( *pmuxdata) };
20 - if (pin_setting.used) {
21 + // Detect broken I2C configuration to prevent bus hangup!
22 + if (i >= 9 && i <= 10) {
23 + status[ i] = '-';
24 + } else if (pin_setting.used) {
25 switch (bone_io_config_pin( pin_name, pin_setting)) {
26 case 0: status[ i] = 'i'; break;
27 case 1: status[ i] = 'o'; break;
28 --
29 1.7.10