[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
AW: [Ltib] EA3250: Touchscreen not functional with 2.6.34 kernel
From: |
Burghardt Arne |
Subject: |
AW: [Ltib] EA3250: Touchscreen not functional with 2.6.34 kernel |
Date: |
Tue, 10 Aug 2010 10:16:14 +0200 |
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
- Re: [Ltib] EA3250: Touchscreen not functional with 2.6.34 kernel, (continued)
- Re: [Ltib] EA3250: Touchscreen not functional with 2.6.34 kernel, Charles Krinke, 2010/08/05
- RE: [Ltib] EA3250: Touchscreen not functional with 2.6.34 kernel, Kevin Wells, 2010/08/05
- AW: [Ltib] EA3250: Touchscreen not functional with 2.6.34 kernel, Burghardt Arne, 2010/08/05
- RE: [Ltib] EA3250: Touchscreen not functional with 2.6.34 kernel, Kevin Wells, 2010/08/05
- AW: [Ltib] EA3250: Touchscreen not functional with 2.6.34 kernel, Burghardt Arne, 2010/08/06
- [Ltib] EA3250: Touchscreen not functional with 2.6.34 kernel, Burghardt Arne, 2010/08/09
- RE: [Ltib] EA3250: Touchscreen not functional with 2.6.34 kernel, Kevin Wells, 2010/08/09
- RE: [Ltib] EA3250: Touchscreen not functional with 2.6.34 kernel, Kevin Wells, 2010/08/09
- AW: [Ltib] EA3250: Touchscreen not functional with 2.6.34 kernel, Burghardt Arne, 2010/08/09
- RE: [Ltib] EA3250: Touchscreen not functional with 2.6.34 kernel, Bangaragiri G, 2010/08/10
- AW: [Ltib] EA3250: Touchscreen not functional with 2.6.34 kernel,
Burghardt Arne <=
- RE: [Ltib] EA3250: Touchscreen not functional with 2.6.34 kernel, Kevin Wells, 2010/08/10
- SOLVED: [Ltib] EA3250: Touchscreen not functional with 2.6.34 kernel, Burghardt Arne, 2010/08/10