[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