status_led: Kconfig migration - introduction
Move all of the status LED feature to drivers/led/Kconfig. doc/README.LED updated to reflect the Kconfig implementation. Tested boards: CL-SOM-AM57x, CM-T335 Signed-off-by: Uri Mashiach <uri.mashiach@compulab.co.il>
This commit is contained in:
parent
3788b451e3
commit
79267edd10
8
README
8
README
|
|
@ -2033,7 +2033,7 @@ The following options need to be configured:
|
||||||
|
|
||||||
A byte containing the id of the VLAN.
|
A byte containing the id of the VLAN.
|
||||||
|
|
||||||
- Status LED: CONFIG_STATUS_LED
|
- Status LED: CONFIG_LED_STATUS
|
||||||
|
|
||||||
Several configurations allow to display the current
|
Several configurations allow to display the current
|
||||||
status using a LED. For instance, the LED will blink
|
status using a LED. For instance, the LED will blink
|
||||||
|
|
@ -2041,15 +2041,15 @@ The following options need to be configured:
|
||||||
soon as a reply to a BOOTP request was received, and
|
soon as a reply to a BOOTP request was received, and
|
||||||
start blinking slow once the Linux kernel is running
|
start blinking slow once the Linux kernel is running
|
||||||
(supported by a status LED driver in the Linux
|
(supported by a status LED driver in the Linux
|
||||||
kernel). Defining CONFIG_STATUS_LED enables this
|
kernel). Defining CONFIG_LED_STATUS enables this
|
||||||
feature in U-Boot.
|
feature in U-Boot.
|
||||||
|
|
||||||
Additional options:
|
Additional options:
|
||||||
|
|
||||||
CONFIG_GPIO_LED
|
CONFIG_LED_STATUS_GPIO
|
||||||
The status LED can be connected to a GPIO pin.
|
The status LED can be connected to a GPIO pin.
|
||||||
In such cases, the gpio_led driver can be used as a
|
In such cases, the gpio_led driver can be used as a
|
||||||
status LED backend implementation. Define CONFIG_GPIO_LED
|
status LED backend implementation. Define CONFIG_LED_STATUS_GPIO
|
||||||
to include the gpio_led driver in the U-Boot binary.
|
to include the gpio_led driver in the U-Boot binary.
|
||||||
|
|
||||||
CONFIG_GPIO_LED_INVERTED_TABLE
|
CONFIG_GPIO_LED_INVERTED_TABLE
|
||||||
|
|
|
||||||
|
|
@ -5,48 +5,48 @@ This README describes the status LED API.
|
||||||
|
|
||||||
The API is defined by the include file include/status_led.h
|
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.
|
The first step is to enable CONFIG_LED_STATUS in menuconfig:
|
||||||
|
> Device Drivers > LED Support.
|
||||||
|
|
||||||
If the LED support is only for a single board, define CONFIG_BOARD_SPECIFIC_LED
|
If the LED support is only for specific board, enable
|
||||||
in the board config file.
|
CONFIG_LED_STATUS_BOARD_SPECIFIC in the menuconfig.
|
||||||
|
|
||||||
At a minimum, these macros must be defined at
|
Status LEDS 0 to 5 are enabled by the following configurations at menuconfig:
|
||||||
STATUS_LED_BIT
|
CONFIG_STATUS_LED0, CONFIG_STATUS_LED1, ... CONFIG_STATUS_LED5
|
||||||
STATUS_LED_STATE
|
|
||||||
STATUS_LED_PERIOD
|
|
||||||
|
|
||||||
If there are multiple status LED's define
|
The following should be configured for each of the enabled LEDs:
|
||||||
STATUS_LED_BIT<n>
|
CONFIG_STATUS_LED_BIT<n>
|
||||||
STATUS_LED_STATE<n>
|
CONFIG_STATUS_LED_STATE<n>
|
||||||
STATUS_LED_PERIOD<n>
|
CONFIG_STATUS_LED_FREQ<n>
|
||||||
|
Where <n> is an integer 1 through 5 (empty for 0).
|
||||||
|
|
||||||
Where <n> can a integer 1 through 3.
|
CONFIG_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
|
||||||
STATUS_LED_BIT is passed into the __led_* functions to identify which LED is
|
the other CONFIG_STATUS_LED_BIT's. Mapping the value to a physical LED is the
|
||||||
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.
|
reponsiblity of the __led_* function.
|
||||||
|
|
||||||
STATUS_LED_STATE is the initial state of the LED. It should be set to one of
|
CONFIG_STATUS_LED_STATE is the initial state of the LED. It should be set to one
|
||||||
these values: STATUS_LED_OFF or STATUS_LED_ON.
|
of these values: CONFIG_LED_STATUS_OFF or CONFIG_LED_STATUS_ON.
|
||||||
|
|
||||||
STATUS_LED_PERIOD is how long is the LED blink period. This usually set to
|
CONFIG_STATUS_LED_FREQ determines the LED blink frequency.
|
||||||
(CONFIG_SYS_HZ / <N>) where <N> is the frequency of the blink. Typical values
|
Values range from 2 to 10.
|
||||||
range from 2 to 10.
|
|
||||||
|
|
||||||
Some other LED macros
|
Some other LED macros
|
||||||
|
---------------------
|
||||||
|
|
||||||
STATUS_LED_BOOT is the LED to light when the board is booting. This must be a
|
CONFIG_STATUS_LED_BOOT is the LED to light when the board is booting.
|
||||||
valid STATUS_LED_BIT value.
|
This must be a valid LED number (0-5).
|
||||||
|
|
||||||
STATUS_LED_RED is the red LED. It is used signal errors. This must be a valid
|
CONFIG_STATUS_LED_RED is the red LED. It is used to signal errors. This must be
|
||||||
STATUS_LED_BIT value. Other similar color LED's are STATUS_LED_YELLOW and
|
a valid LED number (0-5). Other similar color LED's macros are
|
||||||
STATUS_LED_BLUE.
|
CONFIG_STATUS_LED_GREEN, CONFIG_STATUS_LED_YELLOW and CONFIG_STATUS_LED_BLUE.
|
||||||
|
|
||||||
These board must define these functions
|
General LED functions
|
||||||
|
---------------------
|
||||||
|
The following functions should be defined:
|
||||||
|
|
||||||
__led_init is called once to initialize the LED to STATUS_LED_STATE. One time
|
__led_init is called once to initialize the LED to CONFIG_STATUS_LED_STATE.
|
||||||
start up code should be placed here.
|
One time start up code should be placed here.
|
||||||
|
|
||||||
__led_set is called to change the state of the LED.
|
__led_set is called to change the state of the LED.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,6 @@ config SPL_LED
|
||||||
If this is acceptable and you have a need to use LEDs in SPL,
|
If this is acceptable and you have a need to use LEDs in SPL,
|
||||||
enable this option. You will need to enable device tree in SPL
|
enable this option. You will need to enable device tree in SPL
|
||||||
for this to work.
|
for this to work.
|
||||||
|
|
||||||
config LED_GPIO
|
config LED_GPIO
|
||||||
bool "LED support for GPIO-connected LEDs"
|
bool "LED support for GPIO-connected LEDs"
|
||||||
depends on LED && DM_GPIO
|
depends on LED && DM_GPIO
|
||||||
|
|
@ -34,4 +33,326 @@ config SPL_LED_GPIO
|
||||||
This option is an SPL-variant of the LED_GPIO option.
|
This option is an SPL-variant of the LED_GPIO option.
|
||||||
See the help of LED_GPIO for details.
|
See the help of LED_GPIO for details.
|
||||||
|
|
||||||
|
config LED_STATUS
|
||||||
|
bool "Enable status LED API"
|
||||||
|
help
|
||||||
|
Allows common u-boot commands to use a board's leds to
|
||||||
|
provide status for activities like booting and downloading files.
|
||||||
|
|
||||||
|
if LED_STATUS
|
||||||
|
|
||||||
|
# Hidden constants
|
||||||
|
|
||||||
|
config LED_STATUS_OFF
|
||||||
|
int
|
||||||
|
default 0
|
||||||
|
|
||||||
|
config LED_STATUS_BLINKING
|
||||||
|
int
|
||||||
|
default 1
|
||||||
|
|
||||||
|
config LED_STATUS_ON
|
||||||
|
int
|
||||||
|
default 2
|
||||||
|
|
||||||
|
# Hidden constants end
|
||||||
|
|
||||||
|
config LED_STATUS_GPIO
|
||||||
|
bool "GPIO status LED implementation"
|
||||||
|
help
|
||||||
|
The status LED can be connected to a GPIO pin. In such cases, the
|
||||||
|
gpio_led driver can be used as a status LED backend implementation.
|
||||||
|
|
||||||
|
config LED_STATUS_BOARD_SPECIFIC
|
||||||
|
bool "Specific board"
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
LED support is only for a specific board.
|
||||||
|
|
||||||
|
comment "LEDs parameters"
|
||||||
|
|
||||||
|
config LED_STATUS0
|
||||||
|
bool "Enable status LED 0"
|
||||||
|
|
||||||
|
if LED_STATUS0
|
||||||
|
|
||||||
|
config LED_STATUS_BIT
|
||||||
|
int "identification"
|
||||||
|
help
|
||||||
|
CONFIG_LED_STATUS_BIT is passed into the __led_* functions to identify
|
||||||
|
which LED is being acted on. As such, the chosen value must be unique
|
||||||
|
with respect to the other CONFIG_LED_STATUS_BIT's. Mapping the value
|
||||||
|
to a physical LED is the responsibility of the __led_* function.
|
||||||
|
|
||||||
|
config LED_STATUS_STATE
|
||||||
|
int "initial state"
|
||||||
|
range LED_STATUS_OFF LED_STATUS_ON
|
||||||
|
default LED_STATUS_OFF
|
||||||
|
help
|
||||||
|
Should be set one of the following:
|
||||||
|
0 - off
|
||||||
|
1 - blinking
|
||||||
|
2 - on
|
||||||
|
|
||||||
|
config LED_STATUS_FREQ
|
||||||
|
int "blink frequency"
|
||||||
|
range 2 10
|
||||||
|
default 2
|
||||||
|
help
|
||||||
|
The LED blink period calculated from LED_STATUS_FREQ:
|
||||||
|
LED_STATUS_PERIOD = CONFIG_SYS_HZ/LED_STATUS_FREQ
|
||||||
|
Values range: 2 - 10
|
||||||
|
|
||||||
|
endif # LED_STATUS0
|
||||||
|
|
||||||
|
config LED_STATUS1
|
||||||
|
bool "Enable status LED 1"
|
||||||
|
|
||||||
|
if LED_STATUS1
|
||||||
|
|
||||||
|
config LED_STATUS_BIT1
|
||||||
|
int "identification"
|
||||||
|
help
|
||||||
|
CONFIG_LED_STATUS_BIT1 is passed into the __led_* functions to
|
||||||
|
identify which LED is being acted on. As such, the chosen value must
|
||||||
|
be unique with respect to the other CONFIG_LED_STATUS_BIT's. Mapping
|
||||||
|
the value to a physical LED is the responsibility of the __led_*
|
||||||
|
function.
|
||||||
|
|
||||||
|
config LED_STATUS_STATE1
|
||||||
|
int "initial state"
|
||||||
|
range LED_STATUS_OFF LED_STATUS_ON
|
||||||
|
default LED_STATUS_OFF
|
||||||
|
help
|
||||||
|
Should be set one of the following:
|
||||||
|
0 - off
|
||||||
|
1 - blinking
|
||||||
|
2 - on
|
||||||
|
|
||||||
|
config LED_STATUS_FREQ1
|
||||||
|
int "blink frequency"
|
||||||
|
range 2 10
|
||||||
|
default 2
|
||||||
|
help
|
||||||
|
The LED blink period calculated from LED_STATUS_FREQ1:
|
||||||
|
LED_STATUS_PERIOD1 = CONFIG_SYS_HZ/LED_STATUS_FREQ1
|
||||||
|
Values range: 2 - 10
|
||||||
|
|
||||||
|
endif # LED_STATUS1
|
||||||
|
|
||||||
|
config LED_STATUS2
|
||||||
|
bool "Enable status LED 2"
|
||||||
|
|
||||||
|
if LED_STATUS2
|
||||||
|
|
||||||
|
config LED_STATUS_BIT2
|
||||||
|
int "identification"
|
||||||
|
help
|
||||||
|
CONFIG_LED_STATUS_BIT2 is passed into the __led_* functions to
|
||||||
|
identify which LED is being acted on. As such, the chosen value must
|
||||||
|
be unique with respect to the other CONFIG_LED_STATUS_BIT's. Mapping
|
||||||
|
the value to a physical LED is the responsibility of the __led_*
|
||||||
|
function.
|
||||||
|
|
||||||
|
config LED_STATUS_STATE2
|
||||||
|
int "initial state"
|
||||||
|
range LED_STATUS_OFF LED_STATUS_ON
|
||||||
|
default LED_STATUS_OFF
|
||||||
|
help
|
||||||
|
Should be set one of the following:
|
||||||
|
0 - off
|
||||||
|
1 - blinking
|
||||||
|
2 - on
|
||||||
|
|
||||||
|
config LED_STATUS_FREQ2
|
||||||
|
int "blink frequency"
|
||||||
|
range 2 10
|
||||||
|
default 2
|
||||||
|
help
|
||||||
|
The LED blink period calculated from LED_STATUS_FREQ2:
|
||||||
|
LED_STATUS_PERIOD2 = CONFIG_SYS_HZ/LED_STATUS_FREQ2
|
||||||
|
Values range: 2 - 10
|
||||||
|
|
||||||
|
endif # LED_STATUS2
|
||||||
|
|
||||||
|
config LED_STATUS3
|
||||||
|
bool "Enable status LED 3"
|
||||||
|
|
||||||
|
if LED_STATUS3
|
||||||
|
|
||||||
|
config LED_STATUS_BIT3
|
||||||
|
int "identification"
|
||||||
|
help
|
||||||
|
CONFIG_LED_STATUS_BIT3 is passed into the __led_* functions to
|
||||||
|
identify which LED is being acted on. As such, the chosen value must
|
||||||
|
be unique with respect to the other CONFIG_LED_STATUS_BIT's. Mapping
|
||||||
|
the value to a physical LED is the responsibility of the __led_*
|
||||||
|
function.
|
||||||
|
|
||||||
|
config LED_STATUS_STATE3
|
||||||
|
int "initial state"
|
||||||
|
range LED_STATUS_OFF LED_STATUS_ON
|
||||||
|
default LED_STATUS_OFF
|
||||||
|
help
|
||||||
|
Should be set one of the following:
|
||||||
|
0 - off
|
||||||
|
1 - blinking
|
||||||
|
2 - on
|
||||||
|
|
||||||
|
config LED_STATUS_FREQ3
|
||||||
|
int "blink frequency"
|
||||||
|
range 2 10
|
||||||
|
default 2
|
||||||
|
help
|
||||||
|
The LED blink period calculated from LED_STATUS_FREQ3:
|
||||||
|
LED_STATUS_PERIOD3 = CONFIG_SYS_HZ/LED_STATUS_FREQ3
|
||||||
|
Values range: 2 - 10
|
||||||
|
|
||||||
|
endif # LED_STATUS3
|
||||||
|
|
||||||
|
config LED_STATUS4
|
||||||
|
bool "Enable status LED 4"
|
||||||
|
|
||||||
|
if LED_STATUS4
|
||||||
|
|
||||||
|
config LED_STATUS_BIT4
|
||||||
|
int "identification"
|
||||||
|
help
|
||||||
|
CONFIG_LED_STATUS_BIT4 is passed into the __led_* functions to
|
||||||
|
identify which LED is being acted on. As such, the chosen value must
|
||||||
|
be unique with respect to the other CONFIG_LED_STATUS_BIT's. Mapping
|
||||||
|
the value to a physical LED is the responsibility of the __led_*
|
||||||
|
function.
|
||||||
|
|
||||||
|
config LED_STATUS_STATE4
|
||||||
|
int "initial state"
|
||||||
|
range LED_STATUS_OFF LED_STATUS_ON
|
||||||
|
default LED_STATUS_OFF
|
||||||
|
help
|
||||||
|
Should be set one of the following:
|
||||||
|
0 - off
|
||||||
|
1 - blinking
|
||||||
|
2 - on
|
||||||
|
|
||||||
|
config LED_STATUS_FREQ4
|
||||||
|
int "blink frequency"
|
||||||
|
range 2 10
|
||||||
|
default 2
|
||||||
|
help
|
||||||
|
The LED blink period calculated from LED_STATUS_FREQ4:
|
||||||
|
LED_STATUS_PERIOD4 = CONFIG_SYS_HZ/LED_STATUS_FREQ4
|
||||||
|
Values range: 2 - 10
|
||||||
|
|
||||||
|
endif # LED_STATUS4
|
||||||
|
|
||||||
|
config LED_STATUS5
|
||||||
|
bool "Enable status LED 5"
|
||||||
|
|
||||||
|
if LED_STATUS5
|
||||||
|
|
||||||
|
config LED_STATUS_BIT5
|
||||||
|
int "identification"
|
||||||
|
help
|
||||||
|
CONFIG_LED_STATUS_BIT5 is passed into the __led_* functions to
|
||||||
|
identify which LED is being acted on. As such, the chosen value must
|
||||||
|
be unique with respect to the other CONFIG_LED_STATUS_BIT's. Mapping
|
||||||
|
the value to a physical LED is the responsibility of the __led_*
|
||||||
|
function.
|
||||||
|
|
||||||
|
config LED_STATUS_STATE5
|
||||||
|
int "initial state"
|
||||||
|
range LED_STATUS_OFF LED_STATUS_ON
|
||||||
|
default LED_STATUS_OFF
|
||||||
|
help
|
||||||
|
Should be set one of the following:
|
||||||
|
0 - off
|
||||||
|
1 - blinking
|
||||||
|
2 - on
|
||||||
|
|
||||||
|
config LED_STATUS_FREQ5
|
||||||
|
int "blink frequency"
|
||||||
|
range 2 10
|
||||||
|
default 2
|
||||||
|
help
|
||||||
|
The LED blink period calculated from LED_STATUS_FREQ5:
|
||||||
|
LED_STATUS_PERIOD5 = CONFIG_SYS_HZ/LED_STATUS_FREQ5
|
||||||
|
Values range: 2 - 10
|
||||||
|
|
||||||
|
endif # LED_STATUS5
|
||||||
|
|
||||||
|
config LED_STATUS_BOOT_ENABLE
|
||||||
|
bool "Enable BOOT LED"
|
||||||
|
help
|
||||||
|
Enable to turn an LED on when the board is booting.
|
||||||
|
|
||||||
|
if LED_STATUS_BOOT_ENABLE
|
||||||
|
|
||||||
|
config LED_STATUS_BOOT
|
||||||
|
int "LED to light when the board is booting"
|
||||||
|
help
|
||||||
|
Valid enabled LED device number.
|
||||||
|
|
||||||
|
endif # LED_STATUS_BOOT_ENABLE
|
||||||
|
|
||||||
|
config LED_STATUS_RED_ENABLE
|
||||||
|
bool "Enable red LED"
|
||||||
|
help
|
||||||
|
Enable red status LED.
|
||||||
|
|
||||||
|
if LED_STATUS_RED_ENABLE
|
||||||
|
|
||||||
|
config LED_STATUS_RED
|
||||||
|
int "Red LED identification"
|
||||||
|
help
|
||||||
|
Valid enabled LED device number.
|
||||||
|
|
||||||
|
endif # LED_STATUS_RED_ENABLE
|
||||||
|
|
||||||
|
config LED_STATUS_YELLOW_ENABLE
|
||||||
|
bool "Enable yellow LED"
|
||||||
|
help
|
||||||
|
Enable yellow status LED.
|
||||||
|
|
||||||
|
if LED_STATUS_YELLOW_ENABLE
|
||||||
|
|
||||||
|
config LED_STATUS_YELLOW
|
||||||
|
int "Yellow LED identification"
|
||||||
|
help
|
||||||
|
Valid enabled LED device number.
|
||||||
|
|
||||||
|
endif # LED_STATUS_YELLOW_ENABLE
|
||||||
|
|
||||||
|
config LED_STATUS_BLUE_ENABLE
|
||||||
|
bool "Enable blue LED"
|
||||||
|
help
|
||||||
|
Enable blue status LED.
|
||||||
|
|
||||||
|
if LED_STATUS_BLUE_ENABLE
|
||||||
|
|
||||||
|
config LED_STATUS_BLUE
|
||||||
|
int "Blue LED identification"
|
||||||
|
help
|
||||||
|
Valid enabled LED device number.
|
||||||
|
|
||||||
|
endif # LED_STATUS_BLUE_ENABLE
|
||||||
|
|
||||||
|
config LED_STATUS_GREEN_ENABLE
|
||||||
|
bool "Enable green LED"
|
||||||
|
help
|
||||||
|
Enable green status LED.
|
||||||
|
|
||||||
|
if LED_STATUS_GREEN_ENABLE
|
||||||
|
|
||||||
|
config LED_STATUS_GREEN
|
||||||
|
int "Green LED identification"
|
||||||
|
help
|
||||||
|
Valid enabled LED device number (0-5).
|
||||||
|
|
||||||
|
endif # LED_STATUS_GREEN_ENABLE
|
||||||
|
|
||||||
|
config LED_STATUS_CMD
|
||||||
|
bool "Enable status LED commands"
|
||||||
|
|
||||||
|
endif # LED_STATUS
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue