[U-Boot] [PATCH 3/7] at91sam9/at91cap: move common led management to cpu
Jean-Christophe PLAGNIOL-VILLARD
plagnioj at jcrosoft.com
Sun Mar 22 13:21:23 CET 2009
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
---
board/atmel/at91cap9adk/led.c | 46 +++-----------------
board/atmel/at91sam9260ek/led.c | 31 ++-----------
board/atmel/at91sam9261ek/led.c | 47 +++-----------------
board/atmel/at91sam9263ek/led.c | 46 +++-----------------
board/atmel/at91sam9rlek/led.c | 46 +++-----------------
cpu/arm926ejs/at91/Makefile | 1 +
.../at91sam9260ek => cpu/arm926ejs/at91}/led.c | 32 +++++++-------
include/configs/at91cap9adk.h | 6 +++
include/configs/at91sam9260ek.h | 5 ++
include/configs/at91sam9261ek.h | 6 +++
include/configs/at91sam9263ek.h | 6 +++
include/configs/at91sam9rlek.h | 6 +++
12 files changed, 74 insertions(+), 204 deletions(-)
copy {board/atmel/at91sam9260ek => cpu/arm926ejs/at91}/led.c (67%)
diff --git a/board/atmel/at91cap9adk/led.c b/board/atmel/at91cap9adk/led.c
index a137c2a..14aea99 100644
--- a/board/atmel/at91cap9adk/led.c
+++ b/board/atmel/at91cap9adk/led.c
@@ -28,50 +28,16 @@
#include <asm/arch/gpio.h>
#include <asm/arch/io.h>
-#define RED_LED AT91_PIN_PC29 /* this is the power led */
-#define GREEN_LED AT91_PIN_PA10 /* this is the user1 led */
-#define YELLOW_LED AT91_PIN_PA11 /* this is the user1 led */
-
-void red_LED_on(void)
-{
- at91_set_gpio_value(RED_LED, 1);
-}
-
-void red_LED_off(void)
-{
- at91_set_gpio_value(RED_LED, 0);
-}
-
-void green_LED_on(void)
-{
- at91_set_gpio_value(GREEN_LED, 0);
-}
-
-void green_LED_off(void)
-{
- at91_set_gpio_value(GREEN_LED, 1);
-}
-
-void yellow_LED_on(void)
-{
- at91_set_gpio_value(YELLOW_LED, 0);
-}
-
-void yellow_LED_off(void)
-{
- at91_set_gpio_value(YELLOW_LED, 1);
-}
-
void coloured_LED_init(void)
{
/* Enable clock */
at91_sys_write(AT91_PMC_PCER, 1 << AT91CAP9_ID_PIOABCD);
- at91_set_gpio_output(RED_LED, 1);
- at91_set_gpio_output(GREEN_LED, 1);
- at91_set_gpio_output(YELLOW_LED, 1);
+ at91_set_gpio_output(CONFIG_RED_LED, 1);
+ at91_set_gpio_output(CONFIG_GREEN_LED, 1);
+ at91_set_gpio_output(CONFIG_YELLOW_LED, 1);
- at91_set_gpio_output(RED_LED, 0);
- at91_set_gpio_output(GREEN_LED, 1);
- at91_set_gpio_output(YELLOW_LED, 1);
+ at91_set_gpio_output(CONFIG_RED_LED, 0);
+ at91_set_gpio_output(CONFIG_GREEN_LED, 1);
+ at91_set_gpio_output(CONFIG_YELLOW_LED, 1);
}
diff --git a/board/atmel/at91sam9260ek/led.c b/board/atmel/at91sam9260ek/led.c
index ddc375f..2424d27 100644
--- a/board/atmel/at91sam9260ek/led.c
+++ b/board/atmel/at91sam9260ek/led.c
@@ -28,37 +28,14 @@
#include <asm/arch/gpio.h>
#include <asm/arch/io.h>
-#define RED_LED AT91_PIN_PA9 /* this is the power led */
-#define GREEN_LED AT91_PIN_PA6 /* this is the user led */
-
-void red_LED_on(void)
-{
- at91_set_gpio_value(RED_LED, 1);
-}
-
-void red_LED_off(void)
-{
- at91_set_gpio_value(RED_LED, 0);
-}
-
-void green_LED_on(void)
-{
- at91_set_gpio_value(GREEN_LED, 0);
-}
-
-void green_LED_off(void)
-{
- at91_set_gpio_value(GREEN_LED, 1);
-}
-
void coloured_LED_init(void)
{
/* Enable clock */
at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9260_ID_PIOA);
- at91_set_gpio_output(RED_LED, 1);
- at91_set_gpio_output(GREEN_LED, 1);
+ at91_set_gpio_output(CONFIG_RED_LED, 1);
+ at91_set_gpio_output(CONFIG_GREEN_LED, 1);
- at91_set_gpio_value(RED_LED, 0);
- at91_set_gpio_value(GREEN_LED, 1);
+ at91_set_gpio_value(CONFIG_RED_LED, 0);
+ at91_set_gpio_value(CONFIG_GREEN_LED, 1);
}
diff --git a/board/atmel/at91sam9261ek/led.c b/board/atmel/at91sam9261ek/led.c
index eb2bb23..5d1c5f2 100644
--- a/board/atmel/at91sam9261ek/led.c
+++ b/board/atmel/at91sam9261ek/led.c
@@ -28,51 +28,16 @@
#include <asm/arch/gpio.h>
#include <asm/arch/io.h>
-#define RED_LED AT91_PIN_PA23 /* this is the power led */
-#define GREEN_LED AT91_PIN_PA13 /* this is the user1 led */
-#define YELLOW_LED AT91_PIN_PA14 /* this is the user2 led */
-
-void red_LED_on(void)
-{
- at91_set_gpio_value(RED_LED, 1);
-}
-
-void red_LED_off(void)
-{
- at91_set_gpio_value(RED_LED, 0);
-}
-
-void green_LED_on(void)
-{
- at91_set_gpio_value(GREEN_LED, 0);
-}
-
-void green_LED_off(void)
-{
- at91_set_gpio_value(GREEN_LED, 1);
-}
-
-void yellow_LED_on(void)
-{
- at91_set_gpio_value(YELLOW_LED, 0);
-}
-
-void yellow_LED_off(void)
-{
- at91_set_gpio_value(YELLOW_LED, 1);
-}
-
-
void coloured_LED_init(void)
{
/* Enable clock */
at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9261_ID_PIOA);
- at91_set_gpio_output(RED_LED, 1);
- at91_set_gpio_output(GREEN_LED, 1);
- at91_set_gpio_output(YELLOW_LED, 1);
+ at91_set_gpio_output(CONFIG_RED_LED, 1);
+ at91_set_gpio_output(CONFIG_GREEN_LED, 1);
+ at91_set_gpio_output(CONFIG_YELLOW_LED, 1);
- at91_set_gpio_value(RED_LED, 0);
- at91_set_gpio_value(GREEN_LED, 1);
- at91_set_gpio_value(YELLOW_LED, 1);
+ at91_set_gpio_value(CONFIG_RED_LED, 0);
+ at91_set_gpio_value(CONFIG_GREEN_LED, 1);
+ at91_set_gpio_value(CONFIG_YELLOW_LED, 1);
}
diff --git a/board/atmel/at91sam9263ek/led.c b/board/atmel/at91sam9263ek/led.c
index eb8d6ca..82c5388 100644
--- a/board/atmel/at91sam9263ek/led.c
+++ b/board/atmel/at91sam9263ek/led.c
@@ -28,51 +28,17 @@
#include <asm/arch/gpio.h>
#include <asm/arch/io.h>
-#define RED_LED AT91_PIN_PB7 /* this is the power led */
-#define GREEN_LED AT91_PIN_PB8 /* this is the user1 led */
-#define YELLOW_LED AT91_PIN_PC29 /* this is the user2 led */
-
-void red_LED_on(void)
-{
- at91_set_gpio_value(RED_LED, 1);
-}
-
-void red_LED_off(void)
-{
- at91_set_gpio_value(RED_LED, 0);
-}
-
-void green_LED_on(void)
-{
- at91_set_gpio_value(GREEN_LED, 0);
-}
-
-void green_LED_off(void)
-{
- at91_set_gpio_value(GREEN_LED, 1);
-}
-
-void yellow_LED_on(void)
-{
- at91_set_gpio_value(YELLOW_LED, 0);
-}
-
-void yellow_LED_off(void)
-{
- at91_set_gpio_value(YELLOW_LED, 1);
-}
-
void coloured_LED_init(void)
{
/* Enable clock */
at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9263_ID_PIOB |
1 << AT91SAM9263_ID_PIOCDE);
- at91_set_gpio_output(RED_LED, 1);
- at91_set_gpio_output(GREEN_LED, 1);
- at91_set_gpio_output(YELLOW_LED, 1);
+ at91_set_gpio_output(CONFIG_RED_LED, 1);
+ at91_set_gpio_output(CONFIG_GREEN_LED, 1);
+ at91_set_gpio_output(CONFIG_YELLOW_LED, 1);
- at91_set_gpio_value(RED_LED, 0);
- at91_set_gpio_value(GREEN_LED, 1);
- at91_set_gpio_value(YELLOW_LED, 1);
+ at91_set_gpio_value(CONFIG_RED_LED, 0);
+ at91_set_gpio_value(CONFIG_GREEN_LED, 1);
+ at91_set_gpio_value(CONFIG_YELLOW_LED, 1);
}
diff --git a/board/atmel/at91sam9rlek/led.c b/board/atmel/at91sam9rlek/led.c
index 8a7d8e0..9634cc0 100644
--- a/board/atmel/at91sam9rlek/led.c
+++ b/board/atmel/at91sam9rlek/led.c
@@ -28,50 +28,16 @@
#include <asm/arch/gpio.h>
#include <asm/arch/io.h>
-#define RED_LED AT91_PIN_PD14 /* this is the power led */
-#define GREEN_LED AT91_PIN_PD15 /* this is the user1 led */
-#define YELLOW_LED AT91_PIN_PD16 /* this is the user2 led */
-
-void red_LED_on(void)
-{
- at91_set_gpio_value(RED_LED, 1);
-}
-
-void red_LED_off(void)
-{
- at91_set_gpio_value(RED_LED, 0);
-}
-
-void green_LED_on(void)
-{
- at91_set_gpio_value(GREEN_LED, 0);
-}
-
-void green_LED_off(void)
-{
- at91_set_gpio_value(GREEN_LED, 1);
-}
-
-void yellow_LED_on(void)
-{
- at91_set_gpio_value(YELLOW_LED, 0);
-}
-
-void yellow_LED_off(void)
-{
- at91_set_gpio_value(YELLOW_LED, 1);
-}
-
void coloured_LED_init(void)
{
/* Enable clock */
at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9RL_ID_PIOD);
- at91_set_gpio_output(RED_LED, 1);
- at91_set_gpio_output(GREEN_LED, 1);
- at91_set_gpio_output(YELLOW_LED, 1);
+ at91_set_gpio_output(CONFIG_RED_LED, 1);
+ at91_set_gpio_output(CONFIG_GREEN_LED, 1);
+ at91_set_gpio_output(CONFIG_YELLOW_LED, 1);
- at91_set_gpio_value(RED_LED, 0);
- at91_set_gpio_value(GREEN_LED, 1);
- at91_set_gpio_value(YELLOW_LED, 1);
+ at91_set_gpio_value(CONFIG_RED_LED, 0);
+ at91_set_gpio_value(CONFIG_GREEN_LED, 1);
+ at91_set_gpio_value(CONFIG_YELLOW_LED, 1);
}
diff --git a/cpu/arm926ejs/at91/Makefile b/cpu/arm926ejs/at91/Makefile
index e547ab5..95bb59d 100644
--- a/cpu/arm926ejs/at91/Makefile
+++ b/cpu/arm926ejs/at91/Makefile
@@ -45,6 +45,7 @@ ifdef CONFIG_AT91SAM9RL
COBJS-y += at91sam9rl_serial.o
COBJS-$(CONFIG_HAS_DATAFLASH) += at91sam9rl_spi.o
endif
+COBJS-$(CONFIG_AT91_LED) += led.o
COBJS-$(CONFIG_HAS_DATAFLASH) += spi.o
COBJS-y += timer.o
COBJS-y += usb.o
diff --git a/board/atmel/at91sam9260ek/led.c b/cpu/arm926ejs/at91/led.c
similarity index 67%
copy from board/atmel/at91sam9260ek/led.c
copy to cpu/arm926ejs/at91/led.c
index ddc375f..be68f59 100644
--- a/board/atmel/at91sam9260ek/led.c
+++ b/cpu/arm926ejs/at91/led.c
@@ -23,42 +23,42 @@
*/
#include <common.h>
-#include <asm/arch/at91sam9260.h>
#include <asm/arch/at91_pmc.h>
#include <asm/arch/gpio.h>
#include <asm/arch/io.h>
-#define RED_LED AT91_PIN_PA9 /* this is the power led */
-#define GREEN_LED AT91_PIN_PA6 /* this is the user led */
-
+#ifdef CONFIG_RED_LED
void red_LED_on(void)
{
- at91_set_gpio_value(RED_LED, 1);
+ at91_set_gpio_value(CONFIG_RED_LED, 1);
}
void red_LED_off(void)
{
- at91_set_gpio_value(RED_LED, 0);
+ at91_set_gpio_value(CONFIG_RED_LED, 0);
}
+#endif
+#ifdef CONFIG_GREEN_LED
void green_LED_on(void)
{
- at91_set_gpio_value(GREEN_LED, 0);
+ at91_set_gpio_value(CONFIG_GREEN_LED, 0);
}
void green_LED_off(void)
{
- at91_set_gpio_value(GREEN_LED, 1);
+ at91_set_gpio_value(CONFIG_GREEN_LED, 1);
}
+#endif
-void coloured_LED_init(void)
+#ifdef CONFIG_YELLOW_LED
+void yellow_LED_on(void)
{
- /* Enable clock */
- at91_sys_write(AT91_PMC_PCER, 1 << AT91SAM9260_ID_PIOA);
-
- at91_set_gpio_output(RED_LED, 1);
- at91_set_gpio_output(GREEN_LED, 1);
+ at91_set_gpio_value(CONFIG_YELLOW_LED, 0);
+}
- at91_set_gpio_value(RED_LED, 0);
- at91_set_gpio_value(GREEN_LED, 1);
+void yellow_LED_off(void)
+{
+ at91_set_gpio_value(CONFIG_YELLOW_LED, 1);
}
+#endif
diff --git a/include/configs/at91cap9adk.h b/include/configs/at91cap9adk.h
index 01da99b..d8e6a29 100644
--- a/include/configs/at91cap9adk.h
+++ b/include/configs/at91cap9adk.h
@@ -70,6 +70,12 @@
#define CONFIG_ATMEL_LCD_BGR555 1
#define CONFIG_SYS_CONSOLE_IS_IN_ENV 1
+/* LED */
+#define CONFIG_AT91_LED
+#define CONFIG_RED_LED AT91_PIN_PC29 /* this is the power led */
+#define CONFIG_GREEN_LED AT91_PIN_PA10 /* this is the user1 led */
+#define CONFIG_YELLOW_LED AT91_PIN_PA11 /* this is the user1 led */
+
#define CONFIG_BOOTDELAY 3
/*
diff --git a/include/configs/at91sam9260ek.h b/include/configs/at91sam9260ek.h
index 2f1a41f..e348833 100644
--- a/include/configs/at91sam9260ek.h
+++ b/include/configs/at91sam9260ek.h
@@ -58,6 +58,11 @@
#undef CONFIG_USART2
#define CONFIG_USART3 1 /* USART 3 is DBGU */
+/* LED */
+#define CONFIG_AT91_LED
+#define CONFIG_RED_LED AT91_PIN_PA9 /* this is the power led */
+#define CONFIG_GREEN_LED AT91_PIN_PA6 /* this is the user led */
+
#define CONFIG_BOOTDELAY 3
/*
diff --git a/include/configs/at91sam9261ek.h b/include/configs/at91sam9261ek.h
index ebecfa4..b119d96 100644
--- a/include/configs/at91sam9261ek.h
+++ b/include/configs/at91sam9261ek.h
@@ -69,6 +69,12 @@
#define CONFIG_ATMEL_LCD_BGR555 1
#define CONFIG_SYS_CONSOLE_IS_IN_ENV 1
+/* LED */
+#define CONFIG_AT91_LED
+#define CONFIG_RED_LED AT91_PIN_PA23 /* this is the power led */
+#define CONFIG_GREEN_LED AT91_PIN_PA13 /* this is the user1 led */
+#define CONFIG_YELLOW_LED AT91_PIN_PA14 /* this is the user2 led */
+
#define CONFIG_BOOTDELAY 3
/*
diff --git a/include/configs/at91sam9263ek.h b/include/configs/at91sam9263ek.h
index 09b871a..979d7a3 100644
--- a/include/configs/at91sam9263ek.h
+++ b/include/configs/at91sam9263ek.h
@@ -70,6 +70,12 @@
#define CONFIG_ATMEL_LCD_BGR555 1
#define CONFIG_SYS_CONSOLE_IS_IN_ENV 1
+/* LED */
+#define CONFIG_AT91_LED
+#define CONFIG_RED_LED AT91_PIN_PB7 /* this is the power led */
+#define CONFIG_GREEN_LED AT91_PIN_PB8 /* this is the user1 led */
+#define CONFIG_YELLOW_LED AT91_PIN_PC29 /* this is the user2 led */
+
#define CONFIG_BOOTDELAY 3
/*
diff --git a/include/configs/at91sam9rlek.h b/include/configs/at91sam9rlek.h
index 5bef1fe..5d837a0 100644
--- a/include/configs/at91sam9rlek.h
+++ b/include/configs/at91sam9rlek.h
@@ -69,6 +69,12 @@
#define CONFIG_ATMEL_LCD_RGB565 1
#define CONFIG_SYS_CONSOLE_IS_IN_ENV 1
+/* LED */
+#define CONFIG_AT91_LED
+#define CONFIG_RED_LED AT91_PIN_PD14 /* this is the power led */
+#define CONFIG_GREEN_LED AT91_PIN_PD15 /* this is the user1 led */
+#define CONFIG_YELLOW_LED AT91_PIN_PD16 /* this is the user2 led */
+
#define CONFIG_BOOTDELAY 3
/*
--
1.5.6.5
More information about the U-Boot
mailing list