All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tomi Valkeinen <tomi.valkeinen@ti.com>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>
Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>,
	Will Deacon <will.deacon@arm.com>, Rajendra Nayak <rnayak@ti.com>,
	Paul Walmsley <paul@pwsan.com>,
	"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: OMAP2430 SDP boot broken after Linus' rmk merge
Date: Thu, 25 Jul 2013 09:40:01 +0300	[thread overview]
Message-ID: <51F0C841.8000900@ti.com> (raw)
In-Reply-To: <20130724145237.GB21614@n2100.arm.linux.org.uk>

[-- Attachment #1: Type: text/plain, Size: 4294 bytes --]

On 24/07/13 17:52, Russell King - ARM Linux wrote:

> I also continue to be disappointed by the lack of things working on the
> 4430 - it's been a number of years now and _still_ the on-board LCDs do
> not work.  People have tried to blame that on hardware faults and the
> like, but they're just being idiotic when they say stuff like that.  It
> can't be hardware faults when the kernel supplied with the board is able
> to make them work to the extent that userspace can play back video on all
> three output devices simultaneously, without hiccup or any imperfection.
> I don't know whether it's just that the backlight support isn't working
> or what - because any information on the 4430 seems to be a tightly
> controlled secret that only a few select people are permitted to know
> about.  As far as I'm concerned, much of the hardware is a black box to
> me.

The 4430SDP's backlight hasn't been working in the mainline due to
missing support from the TWL driver. But we finally did get that in for
3.10 (or maybe 3.9), and booting 3.10 non-DT kernel brings up the
backlights. However, the BL doesn't work yet with DT boot, so again with
3.11, with no board files, the BL is out... Sigh.

The panel driver itself have been working as long as it has been in the
mainline kernel (for me). I think there was a mixup at some point with
pinmuxing due to TRM having wrong information, but for some reason my
board works fine with both right and wrong muxing. If I recall right,
your board did not. But that's also solved some kernel versions ago.

But even with the above fixed, you could observe that your panel doesn't
work. The reason is that the panels in the 4430SDP board were chosen a
bit oddly: they are so called manual update panels, meant to be
explicitly updated by the software only when required. The phones that
have such panels (which, I guess, is what 4430SDP is designed to
resemble) have software doing that, but obviously the standard linux
software does not.

There's a hack to enable a non-optimal automatic update for testing
purposes:

echo 1 > /sys/class/graphics/fb0/update_mode

This makes omapfb update the display 20 times per second. Or via a
module parameter: omapfb.auto_update=y

We could implement a better auto-update system for manual-update panels,
but I have opted not to:

- It's not easy to implement efficiently and reliably (in fact, we did
have auto-update support at some point in the kernel, but it was removed
as it was rather troublesome to keep working).

- Manual-update panels are meant to be updated manually, only when
needed. That's the whole point of the manual-update feature. Doing
auto-update with a manual-update panel is inefficient. So such a feature
would only be useful for testing purposes.

- Manual-update panels are quite rare, and the trend to use them seems
to be coming even rarer.

> And yes, my 4430 has the projector module on it.  Never ever seen that
> work, and no idea how to make it work because there's no information
> available on the hardware.

I don't have that one. PicoDLP shares resources (DSS pins, at least, if
I recall right, and some power line) with the second LCD, and we don't
have support to manage sharing those resources. So the PicoDLP is left
disabled in the board file.

I don't have any clear idea how to implement management of those
resources, and no one has ever asked about PicoDLP from me, so it's
never been a very high priority.

So 4430SDP is a bit difficult on the display side: non-standard panels
and a pico projector that is mutually exclusive with the LCD2.

> And no, I don't want another Beagle board or Panda board or whatever, I
> have those (I think I have one of each), and they've never been powered up
> because they have no ethernet on them, and I have no USB to ethernet still,
> partly because I don't really do USB here *at* *all*, so I don't know what
> works well and what doesn't with Linux.  Even if I did provide them with a
> USB ethernet, I doubt they'd be able to boot a kernel via the network.

Beagle xM and Panda have ethernet. I boot Panda via the network (load
kernel and use nfsroot). But they don't have panels, so you need an
external display for those.

 Tomi



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: tomi.valkeinen@ti.com (Tomi Valkeinen)
To: linux-arm-kernel@lists.infradead.org
Subject: OMAP2430 SDP boot broken after Linus' rmk merge
Date: Thu, 25 Jul 2013 09:40:01 +0300	[thread overview]
Message-ID: <51F0C841.8000900@ti.com> (raw)
In-Reply-To: <20130724145237.GB21614@n2100.arm.linux.org.uk>

On 24/07/13 17:52, Russell King - ARM Linux wrote:

> I also continue to be disappointed by the lack of things working on the
> 4430 - it's been a number of years now and _still_ the on-board LCDs do
> not work.  People have tried to blame that on hardware faults and the
> like, but they're just being idiotic when they say stuff like that.  It
> can't be hardware faults when the kernel supplied with the board is able
> to make them work to the extent that userspace can play back video on all
> three output devices simultaneously, without hiccup or any imperfection.
> I don't know whether it's just that the backlight support isn't working
> or what - because any information on the 4430 seems to be a tightly
> controlled secret that only a few select people are permitted to know
> about.  As far as I'm concerned, much of the hardware is a black box to
> me.

The 4430SDP's backlight hasn't been working in the mainline due to
missing support from the TWL driver. But we finally did get that in for
3.10 (or maybe 3.9), and booting 3.10 non-DT kernel brings up the
backlights. However, the BL doesn't work yet with DT boot, so again with
3.11, with no board files, the BL is out... Sigh.

The panel driver itself have been working as long as it has been in the
mainline kernel (for me). I think there was a mixup at some point with
pinmuxing due to TRM having wrong information, but for some reason my
board works fine with both right and wrong muxing. If I recall right,
your board did not. But that's also solved some kernel versions ago.

But even with the above fixed, you could observe that your panel doesn't
work. The reason is that the panels in the 4430SDP board were chosen a
bit oddly: they are so called manual update panels, meant to be
explicitly updated by the software only when required. The phones that
have such panels (which, I guess, is what 4430SDP is designed to
resemble) have software doing that, but obviously the standard linux
software does not.

There's a hack to enable a non-optimal automatic update for testing
purposes:

echo 1 > /sys/class/graphics/fb0/update_mode

This makes omapfb update the display 20 times per second. Or via a
module parameter: omapfb.auto_update=y

We could implement a better auto-update system for manual-update panels,
but I have opted not to:

- It's not easy to implement efficiently and reliably (in fact, we did
have auto-update support at some point in the kernel, but it was removed
as it was rather troublesome to keep working).

- Manual-update panels are meant to be updated manually, only when
needed. That's the whole point of the manual-update feature. Doing
auto-update with a manual-update panel is inefficient. So such a feature
would only be useful for testing purposes.

- Manual-update panels are quite rare, and the trend to use them seems
to be coming even rarer.

> And yes, my 4430 has the projector module on it.  Never ever seen that
> work, and no idea how to make it work because there's no information
> available on the hardware.

I don't have that one. PicoDLP shares resources (DSS pins, at least, if
I recall right, and some power line) with the second LCD, and we don't
have support to manage sharing those resources. So the PicoDLP is left
disabled in the board file.

I don't have any clear idea how to implement management of those
resources, and no one has ever asked about PicoDLP from me, so it's
never been a very high priority.

So 4430SDP is a bit difficult on the display side: non-standard panels
and a pico projector that is mutually exclusive with the LCD2.

> And no, I don't want another Beagle board or Panda board or whatever, I
> have those (I think I have one of each), and they've never been powered up
> because they have no ethernet on them, and I have no USB to ethernet still,
> partly because I don't really do USB here *at* *all*, so I don't know what
> works well and what doesn't with Linux.  Even if I did provide them with a
> USB ethernet, I doubt they'd be able to boot a kernel via the network.

Beagle xM and Panda have ethernet. I boot Panda via the network (load
kernel and use nfsroot). But they don't have panels, so you need an
external display for those.

 Tomi


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 901 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130725/b7d54168/attachment.sig>

  parent reply	other threads:[~2013-07-25  6:40 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-22 18:07 OMAP2430 SDP boot broken after Linus' rmk merge Paul Walmsley
2013-07-22 18:07 ` Paul Walmsley
2013-07-22 18:43 ` Russell King - ARM Linux
2013-07-22 18:43   ` Russell King - ARM Linux
2013-07-22 20:07   ` Paul Walmsley
2013-07-22 20:07     ` Paul Walmsley
2013-07-23  7:03     ` Rajendra Nayak
2013-07-23  7:03       ` Rajendra Nayak
2013-07-23  7:07       ` Paul Walmsley
2013-07-23  7:07         ` Paul Walmsley
2013-07-23  9:05         ` Rajendra Nayak
2013-07-23  9:05           ` Rajendra Nayak
2013-07-24 13:56           ` Will Deacon
2013-07-24 13:56             ` Will Deacon
2013-07-24 14:17             ` Santosh Shilimkar
2013-07-24 14:17               ` Santosh Shilimkar
2013-07-24 14:20               ` Will Deacon
2013-07-24 14:20                 ` Will Deacon
2013-07-24 14:45                 ` Santosh Shilimkar
2013-07-24 14:45                   ` Santosh Shilimkar
2013-07-27  4:10                 ` Paul Walmsley
2013-07-27  4:10                   ` Paul Walmsley
2013-07-27 12:22                   ` Will Deacon
2013-07-27 12:22                     ` Will Deacon
2013-07-28  5:38                     ` Paul Walmsley
2013-07-28  5:38                       ` Paul Walmsley
2013-07-28  5:46                       ` [PATCH] ARM: v6: avoid remaining accesses to missing CP15 registers on ARM1136 r0 Paul Walmsley
2013-07-28  5:46                         ` Paul Walmsley
2013-07-28  5:58                         ` Paul Walmsley
2013-07-28  5:58                           ` Paul Walmsley
2013-07-28  6:00                         ` [PATCH v2] " Paul Walmsley
2013-07-28  6:00                           ` Paul Walmsley
2013-07-28 19:58                           ` Paul Walmsley
2013-07-28 19:58                             ` Paul Walmsley
2013-07-28  5:43                     ` [PATCH] ARM: v6: avoid read_cpuid_ext() on ARM1136r0 in cache_ops_need_broadcast() Paul Walmsley
2013-07-28  5:43                       ` Paul Walmsley
2013-07-28 11:10                       ` Will Deacon
2013-07-28 11:10                         ` Will Deacon
2013-07-28 11:52                         ` Russell King - ARM Linux
2013-07-28 11:52                           ` Russell King - ARM Linux
2013-07-28 19:56                           ` Paul Walmsley
2013-07-28 19:56                             ` Paul Walmsley
2013-07-28 19:47                         ` Paul Walmsley
2013-07-28 19:47                           ` Paul Walmsley
2013-07-28 20:16                       ` [PATCH] ARM: v6: prevent gcc from reordering extended CP15 reads above is_smp() test Paul Walmsley
2013-07-28 20:16                         ` Paul Walmsley
2013-07-29  7:30                         ` Tony Lindgren
2013-07-29  7:30                           ` Tony Lindgren
2013-07-29 10:02                         ` Will Deacon
2013-07-29 10:02                           ` Will Deacon
2013-07-30 10:58                           ` Paul Walmsley
2013-07-30 10:58                             ` Paul Walmsley
2013-07-30 11:32                         ` [PATCH v2] ARM: v6: prevent gcc 4.5 " Paul Walmsley
2013-07-30 11:32                           ` Paul Walmsley
2013-07-30 15:04                           ` Will Deacon
2013-07-30 15:04                             ` Will Deacon
2013-07-24 14:52               ` OMAP2430 SDP boot broken after Linus' rmk merge Russell King - ARM Linux
2013-07-24 14:52                 ` Russell King - ARM Linux
2013-07-24 15:40                 ` OMAP4430 SDP boot issues.. (Was Re: OMAP2430 SDP boot broken after Linus' rmk merge) Santosh Shilimkar
2013-07-24 15:40                   ` Santosh Shilimkar
2013-07-24 17:23                   ` Russell King - ARM Linux
2013-07-24 17:23                     ` Russell King - ARM Linux
2013-07-24 18:17                     ` Santosh Shilimkar
2013-07-24 18:17                       ` Santosh Shilimkar
2013-07-25  6:40                 ` Tomi Valkeinen [this message]
2013-07-25  6:40                   ` OMAP2430 SDP boot broken after Linus' rmk merge Tomi Valkeinen
2013-07-25  6:50                   ` Tomi Valkeinen
2013-07-25  6:50                     ` Tomi Valkeinen
2013-07-26 22:59                     ` Russell King - ARM Linux
2013-07-26 22:59                       ` Russell King - ARM Linux
2013-08-07 18:09           ` Paul Walmsley
2013-08-07 18:09             ` Paul Walmsley
2013-08-08  5:37             ` Rajendra Nayak
2013-08-08  5:37               ` Rajendra Nayak
2013-08-08 10:20               ` Rajendra Nayak
2013-08-08 10:20                 ` Rajendra Nayak
2013-07-23 10:33 ` Jonathan Austin
2013-07-23 10:33   ` Jonathan Austin
2013-07-31  0:57   ` Paul Walmsley
2013-07-31  0:57     ` Paul Walmsley

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51F0C841.8000900@ti.com \
    --to=tomi.valkeinen@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=paul@pwsan.com \
    --cc=rnayak@ti.com \
    --cc=santosh.shilimkar@ti.com \
    --cc=will.deacon@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.