summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--board/logicpd/zoom1/zoom1.c2
-rw-r--r--board/logicpd/zoom2/zoom2.c2
-rw-r--r--board/overo/overo.c2
-rw-r--r--board/pandora/pandora.c2
-rw-r--r--board/ti/beagle/beagle.c2
-rw-r--r--board/timll/devkit8000/devkit8000.c2
-rw-r--r--drivers/misc/twl4030_led.c18
-rw-r--r--include/twl4030.h6
8 files changed, 18 insertions, 18 deletions
diff --git a/board/logicpd/zoom1/zoom1.c b/board/logicpd/zoom1/zoom1.c
index a144f52e6f..e442d687b7 100644
--- a/board/logicpd/zoom1/zoom1.c
+++ b/board/logicpd/zoom1/zoom1.c
@@ -63,7 +63,7 @@ int board_init(void)
int misc_init_r(void)
{
twl4030_power_init();
- twl4030_led_init();
+ twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON);
dieid_num_r();
/*
diff --git a/board/logicpd/zoom2/zoom2.c b/board/logicpd/zoom2/zoom2.c
index 21afc29b38..387ed2d396 100644
--- a/board/logicpd/zoom2/zoom2.c
+++ b/board/logicpd/zoom2/zoom2.c
@@ -149,7 +149,7 @@ int misc_init_r(void)
{
zoom2_identify();
twl4030_power_init();
- twl4030_led_init();
+ twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON);
dieid_num_r();
/*
diff --git a/board/overo/overo.c b/board/overo/overo.c
index d42dc13260..f363281568 100644
--- a/board/overo/overo.c
+++ b/board/overo/overo.c
@@ -67,7 +67,7 @@ int board_init(void)
int misc_init_r(void)
{
twl4030_power_init();
- twl4030_led_init();
+ twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON);
#if defined(CONFIG_CMD_NET)
setup_net_chip();
diff --git a/board/pandora/pandora.c b/board/pandora/pandora.c
index 460ed12359..e84c946153 100644
--- a/board/pandora/pandora.c
+++ b/board/pandora/pandora.c
@@ -66,7 +66,7 @@ int misc_init_r(void)
struct gpio *gpio6_base = (struct gpio *)OMAP34XX_GPIO6_BASE;
twl4030_power_init();
- twl4030_led_init();
+ twl4030_led_init(TWL4030_LED_LEDEN_LEDBON);
/* Configure GPIOs to output */
writel(~(GPIO14 | GPIO15 | GPIO16 | GPIO23), &gpio1_base->oe);
diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c
index 32d501e228..3b4c9e73b5 100644
--- a/board/ti/beagle/beagle.c
+++ b/board/ti/beagle/beagle.c
@@ -107,7 +107,7 @@ int misc_init_r(void)
struct gpio *gpio6_base = (struct gpio *)OMAP34XX_GPIO6_BASE;
twl4030_power_init();
- twl4030_led_init();
+ twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON);
/* Configure GPIOs to output */
writel(~(GPIO23 | GPIO10 | GPIO8 | GPIO2 | GPIO1), &gpio6_base->oe);
diff --git a/board/timll/devkit8000/devkit8000.c b/board/timll/devkit8000/devkit8000.c
index db7d2e27e2..95afaaaaa4 100644
--- a/board/timll/devkit8000/devkit8000.c
+++ b/board/timll/devkit8000/devkit8000.c
@@ -76,7 +76,7 @@ int misc_init_r(void)
twl4030_power_init();
#ifdef CONFIG_TWL4030_LED
- twl4030_led_init();
+ twl4030_led_init(TWL4030_LED_LEDEN_LEDAON | TWL4030_LED_LEDEN_LEDBON);
#endif
#ifdef CONFIG_DRIVER_DM9000
diff --git a/drivers/misc/twl4030_led.c b/drivers/misc/twl4030_led.c
index bfdafef38b..33cea116d2 100644
--- a/drivers/misc/twl4030_led.c
+++ b/drivers/misc/twl4030_led.c
@@ -34,19 +34,15 @@
#include <twl4030.h>
-#define LEDAON (0x1 << 0)
-#define LEDBON (0x1 << 1)
-#define LEDAPWM (0x1 << 4)
-#define LEDBPWM (0x1 << 5)
-
-void twl4030_led_init(void)
+void twl4030_led_init(unsigned char ledon_mask)
{
- unsigned char byte;
-
- /* enable LED */
- byte = LEDBPWM | LEDAPWM | LEDBON | LEDAON;
+ /* LEDs need to have corresponding PWMs enabled */
+ if (ledon_mask & TWL4030_LED_LEDEN_LEDAON)
+ ledon_mask |= TWL4030_LED_LEDEN_LEDAPWM;
+ if (ledon_mask & TWL4030_LED_LEDEN_LEDBON)
+ ledon_mask |= TWL4030_LED_LEDEN_LEDBPWM;
- twl4030_i2c_write_u8(TWL4030_CHIP_LED, byte,
+ twl4030_i2c_write_u8(TWL4030_CHIP_LED, ledon_mask,
TWL4030_LED_LEDEN);
}
diff --git a/include/twl4030.h b/include/twl4030.h
index feaec47b36..2b2f5ae6cd 100644
--- a/include/twl4030.h
+++ b/include/twl4030.h
@@ -306,6 +306,10 @@
/* LED */
#define TWL4030_LED_LEDEN 0xEE
+#define TWL4030_LED_LEDEN_LEDAON (1 << 0)
+#define TWL4030_LED_LEDEN_LEDBON (1 << 1)
+#define TWL4030_LED_LEDEN_LEDAPWM (1 << 4)
+#define TWL4030_LED_LEDEN_LEDBPWM (1 << 5)
/* Keypad */
#define TWL4030_KEYPAD_KEYP_CTRL_REG 0xD2
@@ -504,7 +508,7 @@ void twl4030_power_mmc_init(void);
/*
* LED
*/
-void twl4030_led_init(void);
+void twl4030_led_init(unsigned char ledon_mask);
/*
* USB