mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-16 01:44:34 +00:00
doc: introduce led.rst documentation
Introduce simple led.rst documentation to document all the additional Kconfig and the current limitation of LED_BLINK and GPIO software blink. Also add missing definition for sw_blink in led_uc_plat struct. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
990f726ce7
commit
051c448c8b
3 changed files with 52 additions and 0 deletions
|
@ -14,6 +14,7 @@ U-Boot API documentation
|
|||
event
|
||||
getopt
|
||||
interrupt
|
||||
led
|
||||
linker_lists
|
||||
lmb
|
||||
logging
|
||||
|
|
10
doc/api/led.rst
Normal file
10
doc/api/led.rst
Normal file
|
@ -0,0 +1,10 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0+
|
||||
|
||||
LED
|
||||
===
|
||||
|
||||
.. kernel-doc:: include/led.h
|
||||
:doc: Overview
|
||||
|
||||
.. kernel-doc:: include/led.h
|
||||
:internal:
|
|
@ -11,6 +11,46 @@
|
|||
#include <cyclic.h>
|
||||
#include <dm/ofnode.h>
|
||||
|
||||
/**
|
||||
* DOC: Overview
|
||||
*
|
||||
* Generic LED API provided when a supported compatible is defined in DeviceTree.
|
||||
*
|
||||
* To enable support for LEDs, enable the `CONFIG_LED` Kconfig option.
|
||||
*
|
||||
* The most common implementation is for GPIO-connected LEDs. If using GPIO-connected LEDs,
|
||||
* enable the `LED_GPIO` Kconfig option.
|
||||
*
|
||||
* `LED_BLINK` support requires LED driver support and is therefore optional. If LED blink
|
||||
* functionality is needed, enable the `LED_BLINK` Kconfig option. If LED driver doesn't
|
||||
* support HW Blink, SW Blink can be used with the Cyclic framework by enabling the
|
||||
* CONFIG_LED_SW_BLINK.
|
||||
*
|
||||
* Boot and Activity LEDs are also supported. These LEDs can signal various system operations
|
||||
* during runtime, such as boot initialization, file transfers, and flash write/erase operations.
|
||||
*
|
||||
* To enable a Boot LED, enable `CONFIG_LED_BOOT` and define in `/options/u-boot` root node the
|
||||
* property `boot-led`. This will enable the specified LED to blink and turn ON when
|
||||
* the bootloader initializes correctly.
|
||||
*
|
||||
* To enable an Activity LED, enable `CONFIG_LED_ACTIVITY` and define in `/options/u-boot` root
|
||||
* node the property `activity-led`.
|
||||
* This will enable the specified LED to blink and turn ON during file transfers or flash
|
||||
* write/erase operations.
|
||||
*
|
||||
* Both Boot and Activity LEDs provide a simple API to turn the LED ON or OFF:
|
||||
* `led_boot_on()`, `led_boot_off()`, `led_activity_on()`, and `led_activity_off()`.
|
||||
*
|
||||
* Both configurations can optionally define a `boot/activity-led-period` property
|
||||
* if `CONFIG_LED_BLINK` or `CONFIG_LED_SW_BLINK` is enabled for LED blink operations, which
|
||||
* is usually used by the Activity LED. If not defined the default value of 250 (ms) is used.
|
||||
*
|
||||
* When `CONFIG_LED_BLINK` or `CONFIG_LED_SW_BLINK` is enabled, additional APIs are exposed:
|
||||
* `led_boot_blink()` and `led_activity_blink()`. Note that if `CONFIG_LED_BLINK` or
|
||||
* `CONFIG_LED_SW_BLINK` is disabled, these APIs will behave like the `led_boot_on()` and
|
||||
* `led_activity_on()` APIs, respectively.
|
||||
*/
|
||||
|
||||
struct udevice;
|
||||
|
||||
enum led_state_t {
|
||||
|
@ -41,6 +81,7 @@ struct led_sw_blink {
|
|||
*
|
||||
* @label: LED label
|
||||
* @default_state: LED default state
|
||||
* @sw_blink: LED software blink struct
|
||||
*/
|
||||
struct led_uc_plat {
|
||||
const char *label;
|
||||
|
|
Loading…
Add table
Reference in a new issue