* omap3evm LCD red-tint workaround
@ 2008-11-02 17:37 Koen Kooi
2008-11-02 19:56 ` Grazvydas Ignotas
0 siblings, 1 reply; 4+ messages in thread
From: Koen Kooi @ 2008-11-02 17:37 UTC (permalink / raw)
To: linux-omap@vger.kernel.org List
[-- Attachment #1: Type: text/plain, Size: 474 bytes --]
Hi,
While trying various kernels on the EVM to see what's causing the red
tint (or rather, lack of blue) on the lcd I found a workaround to get
correct colours with 2.6.27-omap1:
* boot 2.6.22.18 (from the BSP)
* do a warm reset (e.g pressing WARM_RST)
* boot 2.6.27-omap1
This makes me suspect that 2.6.27-omap1 isn't initializing something,
does anyone have a clue what that bit might be?
regards,
Koen
PS: TS is still unusable with the 16x16 pixel resolution
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 186 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: omap3evm LCD red-tint workaround
2008-11-02 17:37 omap3evm LCD red-tint workaround Koen Kooi
@ 2008-11-02 19:56 ` Grazvydas Ignotas
2008-11-02 22:00 ` Koen Kooi
0 siblings, 1 reply; 4+ messages in thread
From: Grazvydas Ignotas @ 2008-11-02 19:56 UTC (permalink / raw)
To: linux-omap; +Cc: Grazvydas Ignotas
> PS: TS is still unusable with the 16x16 pixel resolution
This is also the case for Pandora. The patch below fixes the problem,
but as I have no other boards to test this on, I haven't sent it.
See if it helps you.
>From 91f3af26bbf751b846e6265d86387e81be7c1364 Mon Sep 17 00:00:00 2001
From: Grazvydas Ignotas <notasas@gmail.com>
Date: Tue, 28 Oct 2008 22:01:42 +0200
Subject: [PATCH] OMAP3: fix McSPI transfers
Currently on OMAP3 if both write and read is set up for a transfer,
the first byte returned on read is corrupted. Work around this by
disabling channel between reads and writes, instead of transfers.
---
drivers/spi/omap2_mcspi.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/spi/omap2_mcspi.c b/drivers/spi/omap2_mcspi.c
index 454a271..4890b6c 100644
--- a/drivers/spi/omap2_mcspi.c
+++ b/drivers/spi/omap2_mcspi.c
@@ -710,7 +710,6 @@ static void omap2_mcspi_work(struct work_struct *work)
spi = m->spi;
cs = spi->controller_state;
- omap2_mcspi_set_enable(spi, 1);
list_for_each_entry(t, &m->transfers, transfer_list) {
if (t->tx_buf == NULL && t->rx_buf == NULL && t->len) {
status = -EINVAL;
@@ -741,6 +740,8 @@ static void omap2_mcspi_work(struct work_struct *work)
if (t->len) {
unsigned count;
+ omap2_mcspi_set_enable(spi, 1);
+
/* RX_ONLY mode needs dummy data in TX reg */
if (t->tx_buf == NULL)
__raw_writel(0, cs->base
@@ -752,6 +753,8 @@ static void omap2_mcspi_work(struct work_struct *work)
count = omap2_mcspi_txrx_pio(spi, t);
m->actual_length += count;
+ omap2_mcspi_set_enable(spi, 0);
+
if (count != t->len) {
status = -EIO;
break;
@@ -777,8 +780,6 @@ static void omap2_mcspi_work(struct work_struct *work)
if (cs_active)
omap2_mcspi_force_cs(spi, 0);
- omap2_mcspi_set_enable(spi, 0);
-
m->status = status;
m->complete(m->context);
--
1.5.4.3
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: omap3evm LCD red-tint workaround
2008-11-02 19:56 ` Grazvydas Ignotas
@ 2008-11-02 22:00 ` Koen Kooi
2008-11-26 17:30 ` Tony Lindgren
0 siblings, 1 reply; 4+ messages in thread
From: Koen Kooi @ 2008-11-02 22:00 UTC (permalink / raw)
To: Grazvydas Ignotas; +Cc: linux-omap
[-- Attachment #1: Type: text/plain, Size: 2381 bytes --]
Op 2 nov 2008, om 20:56 heeft Grazvydas Ignotas het volgende geschreven:
>> PS: TS is still unusable with the 16x16 pixel resolution
> This is also the case for Pandora. The patch below fixes the problem,
> but as I have no other boards to test this on, I haven't sent it.
> See if it helps you.
This fixes the problem on the EVM as well, thanks!
regards,
Koen
>
>
>
> From 91f3af26bbf751b846e6265d86387e81be7c1364 Mon Sep 17 00:00:00 2001
> From: Grazvydas Ignotas <notasas@gmail.com>
> Date: Tue, 28 Oct 2008 22:01:42 +0200
> Subject: [PATCH] OMAP3: fix McSPI transfers
>
> Currently on OMAP3 if both write and read is set up for a transfer,
> the first byte returned on read is corrupted. Work around this by
> disabling channel between reads and writes, instead of transfers.
> ---
> drivers/spi/omap2_mcspi.c | 7 ++++---
> 1 files changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/spi/omap2_mcspi.c b/drivers/spi/omap2_mcspi.c
> index 454a271..4890b6c 100644
> --- a/drivers/spi/omap2_mcspi.c
> +++ b/drivers/spi/omap2_mcspi.c
> @@ -710,7 +710,6 @@ static void omap2_mcspi_work(struct work_struct
> *work)
> spi = m->spi;
> cs = spi->controller_state;
>
> - omap2_mcspi_set_enable(spi, 1);
> list_for_each_entry(t, &m->transfers, transfer_list) {
> if (t->tx_buf == NULL && t->rx_buf == NULL && t->len) {
> status = -EINVAL;
> @@ -741,6 +740,8 @@ static void omap2_mcspi_work(struct work_struct
> *work)
> if (t->len) {
> unsigned count;
>
> + omap2_mcspi_set_enable(spi, 1);
> +
> /* RX_ONLY mode needs dummy data in TX reg */
> if (t->tx_buf == NULL)
> __raw_writel(0, cs->base
> @@ -752,6 +753,8 @@ static void omap2_mcspi_work(struct work_struct
> *work)
> count = omap2_mcspi_txrx_pio(spi, t);
> m->actual_length += count;
>
> + omap2_mcspi_set_enable(spi, 0);
> +
> if (count != t->len) {
> status = -EIO;
> break;
> @@ -777,8 +780,6 @@ static void omap2_mcspi_work(struct work_struct
> *work)
> if (cs_active)
> omap2_mcspi_force_cs(spi, 0);
>
> - omap2_mcspi_set_enable(spi, 0);
> -
> m->status = status;
> m->complete(m->context);
>
> --
> 1.5.4.3
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-
> omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 186 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: omap3evm LCD red-tint workaround
2008-11-02 22:00 ` Koen Kooi
@ 2008-11-26 17:30 ` Tony Lindgren
0 siblings, 0 replies; 4+ messages in thread
From: Tony Lindgren @ 2008-11-26 17:30 UTC (permalink / raw)
To: Koen Kooi; +Cc: Grazvydas Ignotas, linux-omap
* Koen Kooi <k.kooi@student.utwente.nl> [081102 14:00]:
>
> Op 2 nov 2008, om 20:56 heeft Grazvydas Ignotas het volgende geschreven:
>
>>> PS: TS is still unusable with the 16x16 pixel resolution
>> This is also the case for Pandora. The patch below fixes the problem,
>> but as I have no other boards to test this on, I haven't sent it.
>> See if it helps you.
>
> This fixes the problem on the EVM as well, thanks!
Guys, please take this discussion to fbdev mailing list and cc
linux-omap list. I'm not going to push any more omap fbdev patches,
so please send the patches against mainline kernel to fbdev list.
Regards,
Tony
>
> regards,
>
> Koen
>
>
>>
>>
>>
>> From 91f3af26bbf751b846e6265d86387e81be7c1364 Mon Sep 17 00:00:00 2001
>> From: Grazvydas Ignotas <notasas@gmail.com>
>> Date: Tue, 28 Oct 2008 22:01:42 +0200
>> Subject: [PATCH] OMAP3: fix McSPI transfers
>>
>> Currently on OMAP3 if both write and read is set up for a transfer,
>> the first byte returned on read is corrupted. Work around this by
>> disabling channel between reads and writes, instead of transfers.
>> ---
>> drivers/spi/omap2_mcspi.c | 7 ++++---
>> 1 files changed, 4 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/spi/omap2_mcspi.c b/drivers/spi/omap2_mcspi.c
>> index 454a271..4890b6c 100644
>> --- a/drivers/spi/omap2_mcspi.c
>> +++ b/drivers/spi/omap2_mcspi.c
>> @@ -710,7 +710,6 @@ static void omap2_mcspi_work(struct work_struct
>> *work)
>> spi = m->spi;
>> cs = spi->controller_state;
>>
>> - omap2_mcspi_set_enable(spi, 1);
>> list_for_each_entry(t, &m->transfers, transfer_list) {
>> if (t->tx_buf == NULL && t->rx_buf == NULL && t->len) {
>> status = -EINVAL;
>> @@ -741,6 +740,8 @@ static void omap2_mcspi_work(struct work_struct
>> *work)
>> if (t->len) {
>> unsigned count;
>>
>> + omap2_mcspi_set_enable(spi, 1);
>> +
>> /* RX_ONLY mode needs dummy data in TX reg */
>> if (t->tx_buf == NULL)
>> __raw_writel(0, cs->base
>> @@ -752,6 +753,8 @@ static void omap2_mcspi_work(struct work_struct
>> *work)
>> count = omap2_mcspi_txrx_pio(spi, t);
>> m->actual_length += count;
>>
>> + omap2_mcspi_set_enable(spi, 0);
>> +
>> if (count != t->len) {
>> status = -EIO;
>> break;
>> @@ -777,8 +780,6 @@ static void omap2_mcspi_work(struct work_struct
>> *work)
>> if (cs_active)
>> omap2_mcspi_force_cs(spi, 0);
>>
>> - omap2_mcspi_set_enable(spi, 0);
>> -
>> m->status = status;
>> m->complete(m->context);
>>
>> --
>> 1.5.4.3
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-omap"
>> in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2008-11-26 17:30 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-02 17:37 omap3evm LCD red-tint workaround Koen Kooi
2008-11-02 19:56 ` Grazvydas Ignotas
2008-11-02 22:00 ` Koen Kooi
2008-11-26 17:30 ` Tony Lindgren
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox