xref: /rk3399_rockchip-uboot/drivers/misc/gpio_led.c (revision ec3b4981923396ba43f3b173eeffda60123e8d9d)
13e6b86b5SThomas Chou /*
23e6b86b5SThomas Chou  * Status LED driver based on GPIO access conventions of Linux
33e6b86b5SThomas Chou  *
43e6b86b5SThomas Chou  * Copyright (C) 2010 Thomas Chou <thomas@wytron.com.tw>
5*ec3b4981SThomas Chou  * Licensed under the GPL-2 or later.
63e6b86b5SThomas Chou  */
73e6b86b5SThomas Chou 
83e6b86b5SThomas Chou #include <common.h>
93e6b86b5SThomas Chou #include <status_led.h>
103e6b86b5SThomas Chou #include <asm/gpio.h>
113e6b86b5SThomas Chou 
123e6b86b5SThomas Chou void __led_init(led_id_t mask, int state)
133e6b86b5SThomas Chou {
14*ec3b4981SThomas Chou 	gpio_request(mask, "gpio_led");
15*ec3b4981SThomas Chou 	gpio_direction_output(mask, state == STATUS_LED_ON);
163e6b86b5SThomas Chou }
173e6b86b5SThomas Chou 
183e6b86b5SThomas Chou void __led_set(led_id_t mask, int state)
193e6b86b5SThomas Chou {
20*ec3b4981SThomas Chou 	gpio_set_value(mask, state == STATUS_LED_ON);
213e6b86b5SThomas Chou }
223e6b86b5SThomas Chou 
233e6b86b5SThomas Chou void __led_toggle(led_id_t mask)
243e6b86b5SThomas Chou {
253e6b86b5SThomas Chou 	gpio_set_value(mask, !gpio_get_value(mask));
263e6b86b5SThomas Chou }
27