Display is not working on Gumstix Overo

Bug #660811 reported by Mathieu Poirier on 2010-10-14
22
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Linaro Linux
Fix Released
Medium
Nicolas Pitre
linux (Ubuntu)
Undecided
Unassigned
Maverick
Undecided
Unassigned
linux-linaro-omap (Ubuntu)
Undecided
John Rigby
Maverick
Undecided
Unassigned

Bug Description

As with the Beagle, EVM and IGEPv2 and, the missing "vdds_sdi" regulator declaration is preventing the omapdss to initialise proprely, also causing omapfb to fail with the following being displayed on the console:

[ 2.622192] omapfb omapfb: no displays
[ 2.626129] omapfb omapfb: failed to setup omapfb
[ 2.630950] omapfb: probe of omapfb failed with error -22

Changed in linux (Ubuntu):
assignee: nobody → Mathieu Poirier (mathieu.poirier)

A patch for the problem has been found here:

http://bazaar.launchpad.net/~beagleboard-kernel/+junk/2.6-stable/revision/57

It doesn't apply properly and has SPI elements we don't need. I applied a variation of the patch and the display is now working.

SRU Justification

Impact: A power regulator named "vdds_sdi" is missing from the board setup file, preventing the display sudbsystem from initializing properly, something that impacts omapfb and yields a blank screen. DSS2 related platform data are also missing.

Fix: The fix consist in adding a "vdds_sdi" regulator declaration and DSS2 platform device declaration and linking them to the twl4030_platform data.

Testcase: There is no dvi output if the patch isn't applied.

Accepted linux into maverick-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Changed in linux (Ubuntu Maverick):
status: New → Fix Committed
tags: added: verification-needed
Steve Conklin (sconklin) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed' to 'verification-done'.

If verification is not done by Thursday, November 11, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

I have tested with kernel http://launchpadlibrarian.net/58728585/linux-image-2.6.35-23-omap_2.6.35-23.37_armel.deb and confirm the problem has been resolved.

mpoirier@mpoirier-desktop:~$ uname -a
Linux mpoirier-desktop 2.6.35-23-omap #37-Ubuntu Sat Nov 6 02:01:12 UTC 2010 armv7l GNU/Linux
mpoirier@mpoirier-desktop:~$
mpoirier@mpoirier-desktop:~$ dmesg | grep omapfb
[ 0.000000] Kernel command line: console=tty0 console=ttyS2,115200n8 root=/dev/mmcblk0p2 rootwait ro vram=12M omapfb.vram=0:8M omapfb.mode=dvi:1280x720MR-16@60 fc
mpoirier@mpoirier-desktop:~$ (no omapfb errors as reported above)

Martin Pitt (pitti) on 2010-11-10
tags: added: verification-done
removed: verification-needed
Launchpad Janitor (janitor) wrote :
Download full text (16.2 KiB)

This bug was fixed in the package linux - 2.6.35-23.40

---------------
linux (2.6.35-23.40) maverick-proposed; urgency=low

  [ Brad Figg ]

  * No change rebuild.

linux (2.6.35-23.39) maverick-proposed; urgency=low

  [ Brad Figg ]
    - LP: #676214

  [ Ricardo Salveti de Araujo ]

  * SAUCE: ARM: OMAP3: beagle: use GPIO2 on the xM A3 to turn DVI on
    - LP: #663642

linux (2.6.35-23.38) maverick-proposed; urgency=low

  [ Brad Figg ]

  * Revert "SAUCE: ARM: OMAP3: beagle: use GPIO2 on the xM A3 to turn DVI
    on"

  [ Upstream Kernel Changes ]

  * Revert "(upstream) ALSA: hda - Apply ALC269 VAIO fix-up to all Sony
    laptops with ALC269"
  * Revert "ALSA: HDA: Correctly apply position_fix quirks for ATI and VIA
    controllers"
  * Buglink Fixup for reverted unverified fixes

linux (2.6.35-23.37) maverick-proposed; urgency=low

  [ Brad Figg ]

  * ARM: Temporarily disable module check for armel

linux (2.6.35-23.36) maverick-proposed; urgency=low

  [ Andy Whitcroft ]

  * reduce disk usage during buildd builds
    - LP: #645653

  [ Brad Figg ]

  * ARM: Temporarily disable module check for armel

  [ Enric Balletbo i Serra ]

  * ARM: igepv2: Adding support for VBUS and overcurrent
    - LP: #651589
  * ARM: igepv2: Fix and improve LED handling
    - LP: #654582
  * ARM: igepv2: Introduce function to dectect HW version
    - LP: #654586
  * ARM: igepv2: Fix handling of GPIOs for WLAN-BT combo
    - LP: #654590
  * ARM: igepv2: Add i2c eeprom driver to read EDID
    - LP: #654594
  * ARM: igepv2: Remove VMMC2 regulator
    - LP: #654595

  [ Leann Ogasawara ]

  * ARM: Temporarily disable module check for armel

  [ Mathieu Poirier ]

  * SAUCE: ARM: Add DSS2 support for Overo board
    - LP: #660811

  [ Maurus Cuelenaere ]

  * SAUCE: ARM: OMAP3: Add S-Video output to IGEPv2 board
    - LP: #607250

  [ Ricardo Salveti de Araujo ]

  * [Config] Remove CONFIG_FIXED_PHY and move CONFIG_SMSC911X from m to y
    for omap
    - LP: #645689
  * SAUCE: ARM: OMAP3: Adding vdd_sdi regulator supply to IGEPv2 board
    - LP: #607250
  * SAUCE: ARM: OMAP3: beagle: use GPIO2 on the xM A3 to turn DVI on
    - See: #663642

  [ Upstream Kernel Changes ]

  * Revert "(pre-stable) ALSA: HDA: Use model=auto for LG R510"
  * Revert "(pre-stable) ALSA: hda - Rename iMic to Int Mic on Lenovo
    NB0763"
  * Revert "Input: appletouch - fix integer overflow issue"
  * Revert "ALSA: hda - Handle pin NID 0x1a on ALC259/269"
  * Revert "ALSA: hda - Handle missing NID 0x1b on ALC259 codec"
  * Revert "(pre-stable) ALSA: hda - Add a new hp-laptop model for Conexant
    5066, tested on HP G60"
  * Revert "mmc: build fix: mmc_pm_notify is only available with
    CONFIG_PM=y"
  * Revert "mmc: fix all hangs related to mmc/sd card insert/removal during
    suspend/resume"
  * Revert "(pre-stable) bounce: call flush_dcache_page() after
    bounce_copy_vec()"
  * Revert "Input: i8042 - reset keyboard controller wehen resuming from
    S2R"
  * Revert "ALSA: HDA: Enable internal speaker on Dell M101z"
  * Revert "(pre-stable) drm/i915: don't enable self-refresh on Ironlake"
  * Revert "drm/i915: Allow LVDS on pipe A on gen4+"
  * (pre-stable) ACPI: enable repeated...

Changed in linux (Ubuntu Maverick):
status: Fix Committed → Fix Released
Andy Doan (doanac) wrote :

This patch does not appear to have gone into the natty kernel. As a result the new Overo hwpack we are creating does not support an external display.

Is there a plan to get this into the mainline or linux-linaro-natty.git ?

Andy Doan (doanac) wrote :

I've got a patch that fixes this under the current linux-linaro-natty kernel. The patch derives from:
 1) the patch from openembedded:
     0026-board-overo-add-PM-code-and-sync-with-http-www.sakom.patch
 2) the patch listed in this bug. (which i think is based on 1)
 3) fixes from the sakoman tree:
     http://www.sakoman.com/cgi-bin/gitweb.cgi?p=linux-omap-2.6.git;a=commitdiff;h=6b135653505a2a5da42c92cfa31c3ab22e2b130f
     http://www.sakoman.com/cgi-bin/gitweb.cgi?p=linux-omap-2.6.git;a=commitdiff;h=2b39dd7d4688f545526f715a8be787d87ac65ea9

I think both 1 & 2 are really derivative work of 1 & 2.

That patch didn't quite work against the linaro config because of a complaint from the regulator code dealing with the fact a "vdds_sdi" registration wasn't done. I made a small hack to do this based on how the beagle board did. I have no idea if that's correct, but it worked.

Changed in linux (Ubuntu):
assignee: Mathieu Poirier (mathieu.poirier) → nobody
tags: added: patch
Changed in linux (Ubuntu):
status: New → Triaged
Andy Doan (doanac) wrote :

I've been discussing this issue with Steve Sakoman(Overo patch author)
and Ash Charles(works for Gumstix). Steve is keeping a set of patches
on top of the latest kernel releases. However, there's some hold back
to his current patch for dss2 support. Basically its being held up
waiting for another patch to get included into the kernel.

If all goes well, it looks like this is on target to make the 2.6.39 kernel.

In the meantime, Gumstix is looking at making a "patched" hwpack for
Overo with video support.

Loïc Minier (lool) on 2011-02-17
Changed in linux-linaro-omap (Ubuntu Maverick):
status: New → Invalid
Changed in linux-linaro-omap (Ubuntu):
status: New → Triaged
Changed in linux-linaro:
status: New → Triaged
assignee: nobody → Nicolas Pitre (npitre)
Changed in linux-linaro-omap (Ubuntu):
assignee: nobody → John Rigby (jcrigby)
Andy Doan (doanac) wrote :

Adding some details about where the Overo patches reside. Steve Sakoman hosts a git repository at:
  git://www.sakoman.com/git/linux-omap-2.6

He currently has a set of patches on the branch: omap-2.6.37

The main patch we are missing required for video support is:
  7afbd9f OMAP: DSS2: Add DSS2 support for Overo

Important note about commit 7afbd9f. His change includes
+static struct regulator_consumer_supply overo_vdds_dsi_supply =
+ REGULATOR_SUPPLY("vdds_dsi", "omapdss");
+

I noticed the default kernel config used by Linaro is set like this:
CONFIG_OMAP2_DSS_SDI=y
# CONFIG_OMAP2_DSS_DSI is not set

In order for video to work with the current Linaro defconfig we need an
SDI entry added like:
static struct regulator_consumer_supply overo_vdds_supplies[] = {
        REGULATOR_SUPPLY("vdds_dsi", "omapdss"),
        REGULATOR_SUPPLY("vdds_sdi", "omapdss"), /*FIXES LINARO!*/
};

I sent this suggestion to Steve and he said he'd add this when he got a chance.

Andy Doan (doanac) wrote :

FYI: I also noticed some other interesting patches on Steve's branch:

 $ git log --oneline master..origin/omap-2.6.37 | grep -i overo
 afc228d omap: overo: Also support 1.8V wifi modules
 22bde82 OMAP: Overo: Add support for spidev
 a67e323 OMAP: Add gpio-keys support for Overo
 bf9ca04 OMAP: Add gpio-leds support for Overo
 7afbd9f OMAP: DSS2: Add DSS2 support for Overo
 7098d6e ARM: OMAP: Add twl4030 madc support to Overo

Nicolas Pitre (npitre) wrote :

I notice this bug is assigned to me. However I hardly can validate
all the patches being proposed here. So please someone with the hardware
should put a clear set of patches against the Linaro tree somewhere
and confirm they work before I merge them.

Loïc Minier (lool) wrote :

Nicolas, I assigned this to you because I thought it was only a matter to merge the patch which Andy attached to the bug; it seems the patches are all on their way to upstream, but will likely only make it around 2.6.39 as the patchset(s) are blocked for other reasons.

So if you could merge the "OMAP: DSS2: Add DSS2 support for Overo" as modified by Andy, that would be ideal

Loïc Minier (lool) wrote :

Andy, for the other interesting patches, could you send a pull request to Nicolas over email? Or ask Steve whether he'd mind sending one

On Sat, 19 Feb 2011, Loïc Minier wrote:

> Nicolas, I assigned this to you because I thought it was only a matter
> to merge the patch which Andy attached to the bug; it seems the patches
> are all on their way to upstream, but will likely only make it around
> 2.6.39 as the patchset(s) are blocked for other reasons.
>
> So if you could merge the "OMAP: DSS2: Add DSS2 support for Overo" as
> modified by Andy, that would be ideal

Sure. But I want a patch that has been tested, prepared with proper
description in the patch header, SOB, etc. I prefer not to second guess
this if possible.

Loïc Minier (lool) wrote :

On Sat, Feb 19, 2011, Nicolas Pitre wrote:
> Sure. But I want a patch that has been tested, prepared with proper
> description in the patch header, SOB, etc. I prefer not to second guess
> this if possible.

 Ok; Andy, mind "git send-email"-ing the tested patch to Nicolas? :-)

--
Loïc Minier

Andy Doan (doanac) wrote :

On 02/19/2011 11:28 AM, Loïc Minier wrote:
> Andy, for the other interesting patches, could you send a pull request
> to Nicolas over email? Or ask Steve whether he'd mind sending one
>

I'm looking into it now. The DSS2 subsystem recently underwent some
changes and I need to make some updates on top of Steve's changes to get
video working again.

I'll send Nicolas an email as soon as I get this working and get Steve's
input on the updates.

-andy

Andy Doan (doanac) wrote :

On 02/19/2011 02:06 PM, Loïc Minier wrote:
> On Sat, Feb 19, 2011, Nicolas Pitre wrote:
>> Sure. But I want a patch that has been tested, prepared with proper
>> description in the patch header, SOB, etc. I prefer not to second guess
>> this if possible.
>
> Ok; Andy, mind "git send-email"-ing the tested patch to Nicolas? :-)
>

I've created a branch on git.l.o that Nicolas can review/pull from:

  git://git.linaro.org/people/doanac/linux-linaro-2.6.37.git
  branch: overo-dss2

Since my changes are based DSS changes not in a mainline 2.6.37, Steve
won't be putting them on his 2.6.37 kernel. He'll be applying them in
some (probably modified) form to his 2.6.38 kernel going forward.

Nicolas - let me know if you'd prefer these patches come from email instead.

John Rigby (jcrigby) on 2011-03-10
Changed in linux-linaro-omap (Ubuntu):
status: Triaged → In Progress
John Rigby (jcrigby) wrote :

Andy's patches were included in Linaro-2.6.38-1000.1 but I failed to include the LP: bug link in the changelog.

Changed in linux-linaro-omap (Ubuntu):
status: In Progress → Fix Committed
Changed in linux-linaro:
status: Triaged → Fix Committed

I have set the importance to just medium since the fix is already committed

Changed in linux-linaro:
importance: Undecided → Medium
John Rigby (jcrigby) on 2011-03-11
Changed in linux-linaro:
status: Fix Committed → Fix Released
Changed in linux-linaro-omap (Ubuntu):
status: Fix Committed → Fix Released
Brad Figg (brad-figg) on 2011-11-09
Changed in linux (Ubuntu):
status: Triaged → Invalid
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers