blob: 996b757e6d00cb823ffc551881e037afc8fc9543 [file] [log] [blame]
Masahiro Yamada0b11dbf2015-07-26 02:46:26 +09001menu "LED Support"
2
Simon Glass59171122015-06-23 15:38:45 -06003config LED
4 bool "Enable LED support"
5 depends on DM
6 help
7 Many boards have LEDs which can be used to signal status or alerts.
8 U-Boot provides a uclass API to implement this feature. LED drivers
9 can provide access to board-specific LEDs. Use of the device tree
10 for configuration is encouraged.
11
Álvaro Fernández Rojas28300dc2017-05-07 20:10:24 +020012config LED_BCM6328
13 bool "LED Support for BCM6328"
14 depends on LED && ARCH_BMIPS
15 help
16 This option enables support for LEDs connected to the BCM6328
17 LED HW controller accessed via MMIO registers.
18 HW blinking is supported and up to 24 LEDs can be controlled.
19 All LEDs can blink at the same time but the delay is shared, which
20 means that if one LED is set to blink at 100ms and then a different
21 LED is set to blink at 200ms, both will blink at 200ms.
22
Álvaro Fernández Rojas632889c2017-05-07 20:11:30 +020023config LED_BCM6358
24 bool "LED Support for BCM6358"
25 depends on LED && ARCH_BMIPS
26 help
27 This option enables support for LEDs connected to the BCM6358
28 LED HW controller accessed via MMIO registers.
29 HW has no blinking capabilities and up to 32 LEDs can be controlled.
30
Philippe Reynes0d2001b2022-02-17 17:17:04 +010031config LED_BCM6753
32 bool "LED Support for BCM6753"
William Zhang8c1a9c72022-08-22 11:49:08 -070033 depends on LED && BCM6855
Philippe Reynes0d2001b2022-02-17 17:17:04 +010034 help
35 This option enables support for LEDs connected to the BCM6753
36 HW has blinking and fading capabilities and up to 32 LEDs can be controlled.
37
Philippe Reynesd00c6a22019-03-22 17:02:01 +010038config LED_BCM6858
39 bool "LED Support for BCM6858"
William Zhang2dab3ee2022-08-22 11:39:45 -070040 depends on LED && (BCM6856 || BCM6858 || BCM63158)
Philippe Reynesd00c6a22019-03-22 17:02:01 +010041 help
42 This option enables support for LEDs connected to the BCM6858
43 HW has blinking capabilities and up to 32 LEDs can be controlled.
44
Jway Lin047e31e2020-06-30 21:08:06 -070045config LED_CORTINA
46 bool "LED Support for Cortina Access CAxxxx SoCs"
47 depends on LED && (CORTINA_PLATFORM)
48 help
49 This option enables support for LEDs connected to the Cortina
50 Access CAxxxx SOCs.
51
Ivan Vozvakhov067cfc12022-03-12 13:03:14 +030052config LED_PWM
53 bool "LED PWM"
54 depends on LED && DM_PWM
55 help
56 Enable support for LEDs connected to PWM.
57 Linux compatible ofdata.
Jway Lin047e31e2020-06-30 21:08:06 -070058
Simon Glass53378da2017-04-10 11:34:57 -060059config LED_BLINK
60 bool "Support LED blinking"
61 depends on LED
62 help
63 Some drivers can support automatic blinking of LEDs with a given
64 period, without needing timers or extra code to handle the timing.
65 This option enables support for this which adds slightly to the
66 code size.
67
Masahiro Yamadaf0cd2452015-08-12 07:31:50 +090068config SPL_LED
Simon Glass59171122015-06-23 15:38:45 -060069 bool "Enable LED support in SPL"
Tom Rinib3401992022-06-10 23:03:09 -040070 depends on SPL_DM
Simon Glass59171122015-06-23 15:38:45 -060071 help
72 The LED subsystem adds a small amount of overhead to the image.
73 If this is acceptable and you have a need to use LEDs in SPL,
74 enable this option. You will need to enable device tree in SPL
75 for this to work.
Simon Glass9b36f742017-04-10 11:34:52 -060076
Simon Glass5ac76ba2015-06-23 15:38:46 -060077config LED_GPIO
78 bool "LED support for GPIO-connected LEDs"
79 depends on LED && DM_GPIO
80 help
81 Enable support for LEDs which are connected to GPIO lines. These
82 GPIOs may be on the SoC or some other device which provides GPIOs.
83 The GPIO driver must used driver model. LEDs are configured using
84 the device tree.
Masahiro Yamada0b11dbf2015-07-26 02:46:26 +090085
Simon Glass6a436c92015-08-30 16:55:14 -060086config SPL_LED_GPIO
87 bool "LED support for GPIO-connected LEDs in SPL"
Tom Rinib3401992022-06-10 23:03:09 -040088 depends on SPL_LED && SPL_DM_GPIO
Simon Glass6a436c92015-08-30 16:55:14 -060089 help
90 This option is an SPL-variant of the LED_GPIO option.
91 See the help of LED_GPIO for details.
92
Uri Mashiach79267ed2017-01-19 10:51:05 +020093config LED_STATUS
94 bool "Enable status LED API"
95 help
96 Allows common u-boot commands to use a board's leds to
97 provide status for activities like booting and downloading files.
98
99if LED_STATUS
100
101# Hidden constants
102
103config LED_STATUS_OFF
104 int
105 default 0
106
107config LED_STATUS_BLINKING
108 int
109 default 1
110
111config LED_STATUS_ON
112 int
113 default 2
114
115# Hidden constants end
116
117config LED_STATUS_GPIO
118 bool "GPIO status LED implementation"
119 help
120 The status LED can be connected to a GPIO pin. In such cases, the
121 gpio_led driver can be used as a status LED backend implementation.
122
123config LED_STATUS_BOARD_SPECIFIC
124 bool "Specific board"
125 default y
126 help
127 LED support is only for a specific board.
128
129comment "LEDs parameters"
130
131config LED_STATUS0
132 bool "Enable status LED 0"
133
134if LED_STATUS0
135
136config LED_STATUS_BIT
137 int "identification"
138 help
139 CONFIG_LED_STATUS_BIT is passed into the __led_* functions to identify
140 which LED is being acted on. As such, the chosen value must be unique
141 with respect to the other CONFIG_LED_STATUS_BIT's. Mapping the value
142 to a physical LED is the responsibility of the __led_* function.
143
144config LED_STATUS_STATE
145 int "initial state"
146 range LED_STATUS_OFF LED_STATUS_ON
147 default LED_STATUS_OFF
148 help
149 Should be set one of the following:
150 0 - off
151 1 - blinking
152 2 - on
153
154config LED_STATUS_FREQ
155 int "blink frequency"
156 range 2 10
157 default 2
158 help
159 The LED blink period calculated from LED_STATUS_FREQ:
160 LED_STATUS_PERIOD = CONFIG_SYS_HZ/LED_STATUS_FREQ
161 Values range: 2 - 10
162
163endif # LED_STATUS0
164
165config LED_STATUS1
166 bool "Enable status LED 1"
167
168if LED_STATUS1
169
170config LED_STATUS_BIT1
171 int "identification"
172 help
173 CONFIG_LED_STATUS_BIT1 is passed into the __led_* functions to
174 identify which LED is being acted on. As such, the chosen value must
175 be unique with respect to the other CONFIG_LED_STATUS_BIT's. Mapping
176 the value to a physical LED is the responsibility of the __led_*
177 function.
178
179config LED_STATUS_STATE1
180 int "initial state"
181 range LED_STATUS_OFF LED_STATUS_ON
182 default LED_STATUS_OFF
183 help
184 Should be set one of the following:
185 0 - off
186 1 - blinking
187 2 - on
188
189config LED_STATUS_FREQ1
190 int "blink frequency"
191 range 2 10
192 default 2
193 help
194 The LED blink period calculated from LED_STATUS_FREQ1:
195 LED_STATUS_PERIOD1 = CONFIG_SYS_HZ/LED_STATUS_FREQ1
196 Values range: 2 - 10
197
198endif # LED_STATUS1
199
200config LED_STATUS2
201 bool "Enable status LED 2"
202
203if LED_STATUS2
204
205config LED_STATUS_BIT2
206 int "identification"
207 help
208 CONFIG_LED_STATUS_BIT2 is passed into the __led_* functions to
209 identify which LED is being acted on. As such, the chosen value must
210 be unique with respect to the other CONFIG_LED_STATUS_BIT's. Mapping
211 the value to a physical LED is the responsibility of the __led_*
212 function.
213
214config LED_STATUS_STATE2
215 int "initial state"
216 range LED_STATUS_OFF LED_STATUS_ON
217 default LED_STATUS_OFF
218 help
219 Should be set one of the following:
220 0 - off
221 1 - blinking
222 2 - on
223
224config LED_STATUS_FREQ2
225 int "blink frequency"
226 range 2 10
227 default 2
228 help
229 The LED blink period calculated from LED_STATUS_FREQ2:
230 LED_STATUS_PERIOD2 = CONFIG_SYS_HZ/LED_STATUS_FREQ2
231 Values range: 2 - 10
232
233endif # LED_STATUS2
234
235config LED_STATUS3
236 bool "Enable status LED 3"
237
238if LED_STATUS3
239
240config LED_STATUS_BIT3
241 int "identification"
242 help
243 CONFIG_LED_STATUS_BIT3 is passed into the __led_* functions to
244 identify which LED is being acted on. As such, the chosen value must
245 be unique with respect to the other CONFIG_LED_STATUS_BIT's. Mapping
246 the value to a physical LED is the responsibility of the __led_*
247 function.
248
249config LED_STATUS_STATE3
250 int "initial state"
251 range LED_STATUS_OFF LED_STATUS_ON
252 default LED_STATUS_OFF
253 help
254 Should be set one of the following:
255 0 - off
256 1 - blinking
257 2 - on
258
259config LED_STATUS_FREQ3
260 int "blink frequency"
261 range 2 10
262 default 2
263 help
264 The LED blink period calculated from LED_STATUS_FREQ3:
265 LED_STATUS_PERIOD3 = CONFIG_SYS_HZ/LED_STATUS_FREQ3
266 Values range: 2 - 10
267
268endif # LED_STATUS3
269
270config LED_STATUS4
271 bool "Enable status LED 4"
272
273if LED_STATUS4
274
275config LED_STATUS_BIT4
276 int "identification"
277 help
278 CONFIG_LED_STATUS_BIT4 is passed into the __led_* functions to
279 identify which LED is being acted on. As such, the chosen value must
280 be unique with respect to the other CONFIG_LED_STATUS_BIT's. Mapping
281 the value to a physical LED is the responsibility of the __led_*
282 function.
283
284config LED_STATUS_STATE4
285 int "initial state"
286 range LED_STATUS_OFF LED_STATUS_ON
287 default LED_STATUS_OFF
288 help
289 Should be set one of the following:
290 0 - off
291 1 - blinking
292 2 - on
293
294config LED_STATUS_FREQ4
295 int "blink frequency"
296 range 2 10
297 default 2
298 help
299 The LED blink period calculated from LED_STATUS_FREQ4:
300 LED_STATUS_PERIOD4 = CONFIG_SYS_HZ/LED_STATUS_FREQ4
301 Values range: 2 - 10
302
303endif # LED_STATUS4
304
305config LED_STATUS5
306 bool "Enable status LED 5"
307
308if LED_STATUS5
309
310config LED_STATUS_BIT5
311 int "identification"
312 help
313 CONFIG_LED_STATUS_BIT5 is passed into the __led_* functions to
314 identify which LED is being acted on. As such, the chosen value must
315 be unique with respect to the other CONFIG_LED_STATUS_BIT's. Mapping
316 the value to a physical LED is the responsibility of the __led_*
317 function.
318
319config LED_STATUS_STATE5
320 int "initial state"
321 range LED_STATUS_OFF LED_STATUS_ON
322 default LED_STATUS_OFF
323 help
324 Should be set one of the following:
325 0 - off
326 1 - blinking
327 2 - on
328
329config LED_STATUS_FREQ5
330 int "blink frequency"
331 range 2 10
332 default 2
333 help
334 The LED blink period calculated from LED_STATUS_FREQ5:
335 LED_STATUS_PERIOD5 = CONFIG_SYS_HZ/LED_STATUS_FREQ5
336 Values range: 2 - 10
337
338endif # LED_STATUS5
339
340config LED_STATUS_BOOT_ENABLE
341 bool "Enable BOOT LED"
342 help
343 Enable to turn an LED on when the board is booting.
344
345if LED_STATUS_BOOT_ENABLE
346
347config LED_STATUS_BOOT
348 int "LED to light when the board is booting"
349 help
350 Valid enabled LED device number.
351
352endif # LED_STATUS_BOOT_ENABLE
353
354config LED_STATUS_RED_ENABLE
355 bool "Enable red LED"
356 help
357 Enable red status LED.
358
359if LED_STATUS_RED_ENABLE
360
361config LED_STATUS_RED
362 int "Red LED identification"
363 help
364 Valid enabled LED device number.
365
366endif # LED_STATUS_RED_ENABLE
367
368config LED_STATUS_YELLOW_ENABLE
369 bool "Enable yellow LED"
370 help
371 Enable yellow status LED.
372
373if LED_STATUS_YELLOW_ENABLE
374
375config LED_STATUS_YELLOW
376 int "Yellow LED identification"
377 help
378 Valid enabled LED device number.
379
380endif # LED_STATUS_YELLOW_ENABLE
381
382config LED_STATUS_BLUE_ENABLE
383 bool "Enable blue LED"
384 help
385 Enable blue status LED.
386
387if LED_STATUS_BLUE_ENABLE
388
389config LED_STATUS_BLUE
390 int "Blue LED identification"
391 help
392 Valid enabled LED device number.
393
394endif # LED_STATUS_BLUE_ENABLE
395
396config LED_STATUS_GREEN_ENABLE
397 bool "Enable green LED"
398 help
399 Enable green status LED.
400
401if LED_STATUS_GREEN_ENABLE
402
403config LED_STATUS_GREEN
404 int "Green LED identification"
405 help
406 Valid enabled LED device number (0-5).
407
408endif # LED_STATUS_GREEN_ENABLE
409
410config LED_STATUS_CMD
411 bool "Enable status LED commands"
412
413endif # LED_STATUS
414
Masahiro Yamada0b11dbf2015-07-26 02:46:26 +0900415endmenu