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: Kevin Wells
Subject: RE: [Ltib] EA3250: Touchscreen not functional with 2.6.34 kernel
Date: Tue, 10 Aug 2010 18:33:27 +0200

 

Hi,

 

Giri submitted the initial patch that was put in update 1. The 2nd fix is actually an issue with the chip select of

another SPI device slave. The chip select was stuck on and the SPI device for the LCD device had its output

stuck high. This was actually broken outside Linux source but will be fixed in the Linux source in the next

patch. (Actually, I plan on adding most of the non-memory chip muxing into the kernel later.)

 

thanks,

Kevin

 

 

 

From: Burghardt Arne [mailto:address@hidden
Sent: Tuesday, August 10, 2010 1:16 AM
To: Bangaragiri G
Cc: address@hidden; Kevin Wells
Subject: AW: [Ltib] EA3250: Touchscreen not functional with 2.6.34 kernel

 

Hi Giri,

this line is already patched in the current CVS repository.
The problem was solved with a fix from Kevin. Nevertheless thank you for your help !

  Arne


-----Ursprüngliche Nachricht-----
Von: Bangaragiri G [mailto:address@hidden]
Gesendet: Di 10.08.2010 07:20
An: Burghardt Arne
Cc: address@hidden; Kevin Wells
Betreff: RE: [Ltib] EA3250: Touchscreen not functional with 2.6.34 kernel

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]