]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - glsdk/meta-ti-glsdk.git/blob - recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0055-Workaround-for-EEPROM-contents-blocking-further-I2C-.patch
linux-ti33x-psp 3.2: update to 3.2.23
[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) };
19  
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