summaryrefslogtreecommitdiff
path: root/board/motionpro/motionpro.c
diff options
context:
space:
mode:
authorUri Mashiach <uri.mashiach@compulab.co.il>2017-01-19 08:51:45 (GMT)
committerTom Rini <trini@konsulko.com>2017-01-21 20:12:33 (GMT)
commit2d8d190c8394b43c0989cdb04a50cb48d4e1f8da (patch)
treea19e034f406aba9bfc07e8ef0d4fafc6fa4a04b7 /board/motionpro/motionpro.c
parent79267edd10fde0815c382157b9cb280166637fac (diff)
downloadu-boot-2d8d190c8394b43c0989cdb04a50cb48d4e1f8da.tar.xz
status_led: Kconfig migration
Move all of the status LED feature to drivers/led/Kconfig. The LED status definitions were moved from the board configuration files to the defconfig files. TBD: Move all of the definitions in the include/status_led.h to the relevant board's defconfig files. Tested boards: CL-SOM-AM57x, CM-T335 Signed-off-by: Uri Mashiach <uri.mashiach@compulab.co.il>
Diffstat (limited to 'board/motionpro/motionpro.c')
-rw-r--r--board/motionpro/motionpro.c45
1 files changed, 32 insertions, 13 deletions
diff --git a/board/motionpro/motionpro.c b/board/motionpro/motionpro.c
index dc237c1..7fa81b8 100644
--- a/board/motionpro/motionpro.c
+++ b/board/motionpro/motionpro.c
@@ -15,9 +15,9 @@
#include <miiphy.h>
#include <libfdt.h>
-#if defined(CONFIG_STATUS_LED)
+#if defined(CONFIG_LED_STATUS)
#include <status_led.h>
-#endif /* CONFIG_STATUS_LED */
+#endif /* CONFIG_LED_STATUS */
/* Kollmorgen DPR initialization data */
struct init_elem {
@@ -194,27 +194,46 @@ int ft_board_setup(void *blob, bd_t *bd)
#endif /* CONFIG_OF_BOARD_SETUP */
-#if defined(CONFIG_STATUS_LED)
-void __led_init(led_id_t regaddr, int state)
+#if defined(CONFIG_LED_STATUS)
+vu_long *regcode_to_regaddr(led_id_t regcode)
{
- *((vu_long *) regaddr) |= ENABLE_GPIO_OUT;
+ /* GPT Enable and Mode Select Register address */
+ vu_long *reg_translate[] = {
+ (vu_long *)MPC5XXX_GPT6_ENABLE,
+ (vu_long *)MPC5XXX_GPT7_ENABLE,
+ };
+
+ if (ARRAY_SIZE(reg_translate) <= regcode)
+ return NULL;
+ return reg_translate[regcode];
+}
+
+void __led_init(led_id_t regcode, int state)
+{
+ vu_long *regaddr = regcode_to_regaddr(regcode);
+
+ *regaddr |= ENABLE_GPIO_OUT;
- if (state == STATUS_LED_ON)
+ if (state == CONFIG_LED_STATUS_ON)
*((vu_long *) regaddr) |= LED_ON;
else
*((vu_long *) regaddr) &= ~LED_ON;
}
-void __led_set(led_id_t regaddr, int state)
+void __led_set(led_id_t regcode, int state)
{
- if (state == STATUS_LED_ON)
- *((vu_long *) regaddr) |= LED_ON;
+ vu_long *regaddr = regcode_to_regaddr(regcode);
+
+ if (state == CONFIG_LED_STATUS_ON)
+ *regaddr |= LED_ON;
else
- *((vu_long *) regaddr) &= ~LED_ON;
+ *regaddr &= ~LED_ON;
}
-void __led_toggle(led_id_t regaddr)
+void __led_toggle(led_id_t regcode)
{
- *((vu_long *) regaddr) ^= LED_ON;
+ vu_long *regaddr = regcode_to_regaddr(regcode);
+
+ *regaddr ^= LED_ON;
}
-#endif /* CONFIG_STATUS_LED */
+#endif /* CONFIG_LED_STATUS */