Opened 7 years ago

Last modified 20 months ago

#9988 new defect

XO-1.5 disk activity light doesn't work

Reported by: wad Owned by: dsaxena
Priority: normal Milestone:
Component: kernel Version: Development build as of this date
Keywords: Cc: jnettlet, pgf
Blocked By: Blocking:
Deployments affected: Action Needed: design
Verified: no


On an XO-1.5, the disk activity LED is wired to GPIO11. The LED will light when the GPIO line is driven low.

At this time, there is no software to blink this LED when disk activity is occuring.

Attachments (2)

0001-leds-Add-MMC-Block-Trigger.patch (4.7 KB) - added by jnettlet 5 years ago.
MMC Block Trigger
0001-platform-olpc-Add-XO-1.5-platform-device-for-gpio-st.patch (3.6 KB) - added by jnettlet 5 years ago.
XO 1.5 storage led platform device patch

Download all attachments as: .zip

Change History (9)

comment:1 Changed 7 years ago by Quozl

  • Milestone changed from Not Triaged to 1.5-software-later

Should the LED blink on read, write, or both?

comment:2 Changed 7 years ago by dsaxena

Looked into this and the kernel has an LED subsystem that can be used to hook this in. Like most kernel stuff, documentation is rather lacking but what I believe we need to do is:

  • Add a mmcblock LED trigger event (maybe we can piggyback on the existing IDE disk trigger?)
  • Add a driver for the XO that ties into this trigger (There's an existing GPIO LED driver, might be able to hook into it..)

comment:3 Changed 7 years ago by Quozl

I agree the kernel LED subsystem is probably a nicer place to do this rather than hacking in GPIO manipulation into the mmc/card/block.c ... I've thought about human interface and usability a bit more ... and came up with an alternate semantics:

  • short flashes for reads in the absence of writes,
  • long flashes for writes,
  • constant on for a long write queue,

There's also some really neat functionality lurking in the LED driver that someone might like to consider for power limited deployments ... for example expressing the battery drain current using the heartbeat LED trigger, which currently is based on 1min load average (led_heartbeat* in drivers/leds/ledtrig-heartbeat.c) ... by giving immediate feedback of power consumption the child will learn how to optimise their running time.

comment:4 Changed 6 years ago by Quozl

Related: Q3A60 and later flashes the disk activity light during fs-update.

comment:5 Changed 5 years ago by pgf

  • Cc jnettlet pgf added

jnettlet has made this work on 1.75. presumably applying the changes to 1.5 would be straightforward.

from the arm-3.0-wip branch:

9d27e83 xo_175_defconfig: Add default LED options
5191223 olpc: hookup mmc block trigger to storage led
dcabbb3 leds: Add MMC Block Trigger
abbd9b2 olpc: hook up the storage led

Changed 5 years ago by jnettlet

MMC Block Trigger

Changed 5 years ago by jnettlet

XO 1.5 storage led platform device patch

comment:6 Changed 5 years ago by jnettlet

These can be reviewed and merged whenever.

comment:7 Changed 20 months ago by Quozl

  • Milestone 1.5-software-later deleted

Milestone 1.5-software-later deleted

Note: See TracTickets for help on using tickets.