mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +00:00
79 lines
2.2 KiB
Text
79 lines
2.2 KiB
Text
|
Status LED
|
||
|
========================================
|
||
|
|
||
|
This README describes the status LED API.
|
||
|
|
||
|
The API is defined by the include file include/status_led.h
|
||
|
|
||
|
The first step is to define CONFIG_STATUS_LED in the board config file.
|
||
|
|
||
|
If the LED support is only for a single board, define CONFIG_BOARD_SPECIFIC_LED
|
||
|
in the board config file.
|
||
|
|
||
|
At a minimum, these macros must be defined at
|
||
|
STATUS_LED_BIT
|
||
|
STATUS_LED_STATE
|
||
|
STATUS_LED_PERIOD
|
||
|
|
||
|
If there are multiple status LED's define
|
||
|
STATUS_LED_BIT<n>
|
||
|
STATUS_LED_STATE<n>
|
||
|
STATUS_LED_PERIOD<n>
|
||
|
|
||
|
Where <n> can a integer 1 through 3.
|
||
|
|
||
|
STATUS_LED_BIT is passed into the __led_* functions to identify which LED is
|
||
|
being acted on. As such, the value choose must be unique with with respect to
|
||
|
the other STATUS_LED_BIT's. Mapping the value to a physical LED is the
|
||
|
reponsiblity of the __led_* function.
|
||
|
|
||
|
STATUS_LED_STATE is the initial state of the LED. It should be set to one of
|
||
|
these values: STATUS_LED_OFF or STATUS_LED_ON.
|
||
|
|
||
|
STATUS_LED_PERIOD is how long is the LED blink period. This usually set to
|
||
|
(CONFIG_SYS_HZ / <N>) where <N> is the frequency of the blink. Typical values
|
||
|
range from 2 to 10.
|
||
|
|
||
|
Some other LED macros
|
||
|
|
||
|
STATUS_LED_BOOT is the LED to light when the board is booting. This must be a
|
||
|
valid STATUS_LED_BIT value.
|
||
|
|
||
|
STATUS_LED_RED is the red LED. It is used signal errors. This must be a valid
|
||
|
STATUS_LED_BIT value. Other similar color LED's are STATUS_LED_YELLOW and
|
||
|
STATUS_LED_BLUE.
|
||
|
|
||
|
These board must define these functions
|
||
|
|
||
|
__led_init is called once to initialize the LED to STATUS_LED_STATE. One time
|
||
|
start up code should be placed here.
|
||
|
|
||
|
__led_set is called to change the state of the LED.
|
||
|
|
||
|
__led_toggle is called to toggle the current state of the LED.
|
||
|
|
||
|
Colour LED
|
||
|
========================================
|
||
|
|
||
|
Colour LED's are at present only used by ARM.
|
||
|
|
||
|
The functions names explain their purpose.
|
||
|
|
||
|
coloured_LED_init
|
||
|
red_LED_on
|
||
|
red_LED_off
|
||
|
green_LED_on
|
||
|
green_LED_off
|
||
|
yellow_LED_on
|
||
|
yellow_LED_off
|
||
|
blue_LED_on
|
||
|
blue_LED_off
|
||
|
|
||
|
These are weakly defined in lib_arm/board.c to noops. Where applicable, define
|
||
|
these functions in the board specific source.
|
||
|
|
||
|
TBD : Describe older board dependent macros similar to what is done for
|
||
|
CONFIG_TQM8xxL.
|
||
|
|
||
|
TBD : Describe general support via asm/status_led.h
|