Commit 0b56129b authored by Kim Kyuwon's avatar Kim Kyuwon Committed by Richard Purdie

leds: add BD2802GU LED driver

ROHM BD2802GU is a RGB LED controller attached to i2c bus and specifically
engineered for decoration purposes.  This RGB controller incorporates
lighting patterns and illuminates.

This driver is designed to minimize power consumption, so when there is no
emitting LED, it enters to reset state.  And because the BD2802GU has lots
of features that can't be covered by the current LED framework, it
provides Advanced Configuration Function(ADF) mode, so that user
applications can set registers of BD2802GU directly.

Here are basic usage examples :
; to turn on LED (not blink)
$ echo 1 > /sys/class/leds/led1_R/brightness
; to blink LED
$ echo timer > /sys/class/leds/led1_R/trigger
$ echo 1 > /sys/class/leds/led1_R/delay_on
$ echo 1 > /sys/class/leds/led1_R/delay_off
; to turn off LED
$ echo 0 > /sys/class/leds/led1_R/brightness

[ coding-style fixes]
Signed-off-by: default avatarKim Kyuwon <>
Signed-off-by: default avatarAndrew Morton <>
Signed-off-by: default avatarRichard Purdie <>
parent 95dc5768
......@@ -210,6 +210,13 @@ config LEDS_PWM
This option enables support for pwm driven LEDs
config LEDS_BD2802
tristate "LED driver for BD2802 RGB LED"
depends on LEDS_CLASS && I2C
This option enables support for BD2802GU RGB LED driver chips
accessed via the I2C bus.
comment "LED Triggers"
......@@ -6,6 +6,7 @@ obj-$(CONFIG_LEDS_TRIGGERS) += led-triggers.o
# LED Platform Drivers
obj-$(CONFIG_LEDS_ATMEL_PWM) += leds-atmel-pwm.o
obj-$(CONFIG_LEDS_BD2802) += leds-bd2802.o
obj-$(CONFIG_LEDS_LOCOMO) += leds-locomo.o
obj-$(CONFIG_LEDS_MIKROTIK_RB532) += leds-rb532.o
obj-$(CONFIG_LEDS_S3C24XX) += leds-s3c24xx.o
This diff is collapsed.
* leds-bd2802.h - RGB LED Driver
* Copyright (C) 2009 Samsung Electronics
* Kim Kyuwon <>
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
* Datasheet:
#ifndef _LEDS_BD2802_H_
#define _LEDS_BD2802_H_
struct bd2802_led_platform_data{
int reset_gpio;
u8 rgb_time;
#define RGB_TIME(slopedown, slopeup, waveform) \
((slopedown) << 6 | (slopeup) << 4 | (waveform))
#endif /* _LEDS_BD2802_H_ */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment