ltib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Ltib] EA3250: Touchscreen not functional with 2.6.34 kernel


From: Bangaragiri G
Subject: RE: [Ltib] EA3250: Touchscreen not functional with 2.6.34 kernel
Date: Tue, 10 Aug 2010 07:20:38 +0200

Hi Arne,

 

We found the touch screen problem while we were debugging another problem, the problem is in GPIO driver code.  

On GPIO driver (arch/arm/mach-lpc32xx/gpiolib.c) GPIO3_PIN_IN_SEL macro definition is incorrect it return the complete content of the register instead of 1/0 it has to be and-ed with 1, this was stopping the touch panel from working (might affect other devices that are connected to GPIO bank 3)

 

The patch for this problem is as shown below:

diff --git a/arch/arm/mach-lpc32xx/gpiolib.c b/arch/arm/mach-lpc32xx/gpiolib.c

index 69061ea..073bc9b 100644

--- a/arch/arm/mach-lpc32xx/gpiolib.c

+++ b/arch/arm/mach-lpc32xx/gpiolib.c

@@ -59,7 +59,7 @@

 #define GPO3_PIN_TO_BIT(x)               (1 << (x))

 #define GPIO012_PIN_IN_SEL(x, y)         (((x) >> (y)) & 1)

 #define GPIO3_PIN_IN_SHIFT(x)                  ((x) == 5 ? 24 : 10 + (x))

-#define GPIO3_PIN_IN_SEL(x, y)                 ((x) >> GPIO3_PIN_IN_SHIFT(y))

+#define GPIO3_PIN_IN_SEL(x, y)                 (((x) >> GPIO3_PIN_IN_SHIFT(y)) & 1)

 #define GPIO3_PIN5_IN_SEL(x)             (((x) >> 24) & 1)

 #define GPI3_PIN_IN_SEL(x, y)                  (((x) >> (y)) & 1)

 

Can you please try with this patch?

 

Regards,

Giri

-----------------------------------------------------------------

Bangaragiri G

E-mail: address@hidden

 

 

From: address@hidden [mailto:address@hidden On Behalf Of Burghardt Arne
Sent: 2010 Aug 10 12:05 AM
To: Kevin Wells
Cc: address@hidden
Subject: AW: [Ltib] EA3250: Touchscreen not functional with 2.6.34 kernel

 

Hi Kevin,

i will try your patch tomorrow morning, when i am back in the office again.

To be honest, i am a little bit unsure, if this patch really changes the behaviour of the SPI1 MISO pin. As far as i can see you have made the changes in the LCD controller section to pin GPI05, but MISO for SPI1 is pin GPI_25.
Is there any relationship between these two pins ?

Best regards

  Arne (4 characters... ;-) )


-----Ursprüngliche Nachricht-----
Von: Kevin Wells [mailto:address@hidden]
Gesendet: Mo 09.08.2010 19:18
An: Kevin Wells; Burghardt Arne
Cc: address@hidden
Betreff: RE: [Ltib] EA3250: Touchscreen not functional with 2.6.34 kernel

Hi Ame,

Please add the following change to your ea3250.c file in the rpm/BUILD/Linux-2.6.34/arch/arm/mach-lpc32xx directory.
This worked at one point, so I suspect there is a small difference between the original board loader and the updated v2 loader with initial pin states.
I've added this as a bug in our tracker. This should be updated in about a week with a new patch once it's looked at a little more..

Kevin

--- ea3250.c.bak                2010-08-09 03:10:01.210875666 -0700
+++ ea3250.c     2010-08-09 03:13:14.284813544 -0700
@@ -56,6 +56,7 @@
 #define               LCD_CS_GPIO   LPC32XX_GPIO(LPC32XX_GPO_P3_GRP, 4)
 #define               LCD_RS_GPIO   LPC32XX_GPIO(LPC32XX_GPO_P3_GRP, 5)
 #define               BKL_POW_GPIO              LPC32XX_GPIO(LPC32XX_GPO_P3_GRP, 14)
+#define SSEL0_GPIO5 LPC32XX_GPIO(LPC32XX_GPIO_P3_GRP, 5)

 /*
  * LCD controller functions
@@ -311,6 +312,11 @@
         fb->fb.fix.smem_len = PANEL_SIZE;
         fb->panel = &conn_lcd_panel;

+             if (gpio_request(SSEL0_GPIO5, "Unused GPIO5 input"))
+                             return -EIO;
+             if(gpio_direction_input(SSEL0_GPIO5))
+                             return -EIO;
+
         /* Configure LCDC RS GPIO pin */
         if (gpio_request(LCD_RS_GPIO, "LCDC RS"))
                 return -EIO;


Subject: RE: [Ltib] EA3250: Touchscreen not functional with 2.6.34 kernel

Hi Ame,

Sorry, it does seem broken. I'll try to get a quick fix for this in the next day.

thanks,
Kevin

From: Burghardt Arne [mailto:address@hidden]
Sent: Monday, August 09, 2010 5:48 AM
To: Kevin Wells
Cc: address@hidden
Subject: [Ltib] EA3250: Touchscreen not functional with 2.6.34 kernel


Hi Kevin,

i have attached a scope to the SPI signals of the TSC2046 touchscreen controller and got some interesting results:

1) CS, CLK & MOSI signals are ok
2) MISO has a low level of ~2.0 V ! High level is ~3.1V

That smells, if there are some output drivers connected...
Could you please check, if the signal SPI1_DATIN (GPI_25) is configured as an input ? I have already searched for the init procedure, where all GPIOs or SPI related registers are initialized, but without success.

Thanks for your help !

Best regards

  Arne


reply via email to

[Prev in Thread] Current Thread [Next in Thread]