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