Commit 65fd21c80fcaca2bbfe3ab06ab6ac68207408078

Authored by Tom Rix
Committed by Wolfgang Denk
1 parent 7cdf804f34

LED Add documentation describing the status_led and colour led API.

This document describes the u-boot status LED API.
This allows common u-boot commands to use a board's leds to
provide status for activities like booting and downloading files.

Signed-off-by: Tom Rix <Tom.Rix@windriver.com>

Showing 1 changed file with 78 additions and 0 deletions Side-by-side Diff

  1 +Status LED
  2 +========================================
  3 +
  4 +This README describes the status LED API.
  5 +
  6 +The API is defined by the include file include/status_led.h
  7 +
  8 +The first step is to define CONFIG_STATUS_LED in the board config file.
  9 +
  10 +If the LED support is only for a single board, define CONFIG_BOARD_SPECIFIC_LED
  11 +in the board config file.
  12 +
  13 +At a minimum, these macros must be defined at
  14 +STATUS_LED_BIT
  15 +STATUS_LED_STATE
  16 +STATUS_LED_PERIOD
  17 +
  18 +If there are multiple status LED's define
  19 +STATUS_LED_BIT<n>
  20 +STATUS_LED_STATE<n>
  21 +STATUS_LED_PERIOD<n>
  22 +
  23 +Where <n> can a integer 1 through 3.
  24 +
  25 +STATUS_LED_BIT is passed into the __led_* functions to identify which LED is
  26 +being acted on. As such, the value choose must be unique with with respect to
  27 +the other STATUS_LED_BIT's. Mapping the value to a physical LED is the
  28 +reponsiblity of the __led_* function.
  29 +
  30 +STATUS_LED_STATE is the initial state of the LED. It should be set to one of
  31 +these values: STATUS_LED_OFF or STATUS_LED_ON.
  32 +
  33 +STATUS_LED_PERIOD is how long is the LED blink period. This usually set to
  34 +(CONFIG_SYS_HZ / <N>) where <N> is the frequency of the blink. Typical values
  35 +range from 2 to 10.
  36 +
  37 +Some other LED macros
  38 +
  39 +STATUS_LED_BOOT is the LED to light when the board is booting. This must be a
  40 +valid STATUS_LED_BIT value.
  41 +
  42 +STATUS_LED_RED is the red LED. It is used signal errors. This must be a valid
  43 +STATUS_LED_BIT value. Other similar color LED's are STATUS_LED_YELLOW and
  44 +STATUS_LED_BLUE.
  45 +
  46 +These board must define these functions
  47 +
  48 +__led_init is called once to initialize the LED to STATUS_LED_STATE. One time
  49 +start up code should be placed here.
  50 +
  51 +__led_set is called to change the state of the LED.
  52 +
  53 +__led_toggle is called to toggle the current state of the LED.
  54 +
  55 +Colour LED
  56 +========================================
  57 +
  58 +Colour LED's are at present only used by ARM.
  59 +
  60 +The functions names explain their purpose.
  61 +
  62 +coloured_LED_init
  63 +red_LED_on
  64 +red_LED_off
  65 +green_LED_on
  66 +green_LED_off
  67 +yellow_LED_on
  68 +yellow_LED_off
  69 +blue_LED_on
  70 +blue_LED_off
  71 +
  72 +These are weakly defined in lib_arm/board.c to noops. Where applicable, define
  73 +these functions in the board specific source.
  74 +
  75 +TBD : Describe older board dependent macros similar to what is done for
  76 +CONFIG_TQM8xxL.
  77 +
  78 +TBD : Describe general support via asm/status_led.h