diff options
Diffstat (limited to 'arch/blackfin')
-rw-r--r-- | arch/blackfin/Kconfig | 69 | ||||
-rw-r--r-- | arch/blackfin/kernel/process.c | 31 | ||||
-rw-r--r-- | arch/blackfin/kernel/setup.c | 2 | ||||
-rw-r--r-- | arch/blackfin/kernel/time.c | 70 |
4 files changed, 0 insertions, 172 deletions
diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig index 1364dcaccc18..e4ccdcdb4639 100644 --- a/arch/blackfin/Kconfig +++ b/arch/blackfin/Kconfig | |||
@@ -463,40 +463,6 @@ config BOOT_LOAD | |||
463 | memory region is used to capture NULL pointer references as well | 463 | memory region is used to capture NULL pointer references as well |
464 | as some core kernel functions. | 464 | as some core kernel functions. |
465 | 465 | ||
466 | comment "LED Status Indicators" | ||
467 | depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM) | ||
468 | |||
469 | config BFIN_ALIVE_LED | ||
470 | bool "Enable Board Alive" | ||
471 | depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM) | ||
472 | default n | ||
473 | help | ||
474 | Blink the LEDs you select when the kernel is running. Helps detect | ||
475 | a hung kernel. | ||
476 | |||
477 | config BFIN_ALIVE_LED_NUM | ||
478 | int "LED" | ||
479 | depends on BFIN_ALIVE_LED | ||
480 | range 1 3 if BFIN533_STAMP | ||
481 | default "3" if BFIN533_STAMP | ||
482 | help | ||
483 | Select the LED (marked on the board) for you to blink. | ||
484 | |||
485 | config BFIN_IDLE_LED | ||
486 | bool "Enable System Load/Idle LED" | ||
487 | depends on (BFIN533_STAMP || BFIN533_BLUETECHNIX_CM) | ||
488 | default n | ||
489 | help | ||
490 | Blinks the LED you select when to determine kernel load. | ||
491 | |||
492 | config BFIN_IDLE_LED_NUM | ||
493 | int "LED" | ||
494 | depends on BFIN_IDLE_LED | ||
495 | range 1 3 if BFIN533_STAMP | ||
496 | default "2" if BFIN533_STAMP | ||
497 | help | ||
498 | Select the LED (marked on the board) for you to blink. | ||
499 | |||
500 | choice | 466 | choice |
501 | prompt "Blackfin Exception Scratch Register" | 467 | prompt "Blackfin Exception Scratch Register" |
502 | default BFIN_SCRATCH_REG_RETN | 468 | default BFIN_SCRATCH_REG_RETN |
@@ -543,41 +509,6 @@ config BFIN_SCRATCH_REG_CYCLES | |||
543 | 509 | ||
544 | endchoice | 510 | endchoice |
545 | 511 | ||
546 | # | ||
547 | # Sorry - but you need to put the hex address here - | ||
548 | # | ||
549 | |||
550 | # Flag Data register | ||
551 | config BFIN_ALIVE_LED_PORT | ||
552 | hex | ||
553 | default 0xFFC00700 if (BFIN533_STAMP) | ||
554 | |||
555 | # Peripheral Flag Direction Register | ||
556 | config BFIN_ALIVE_LED_DPORT | ||
557 | hex | ||
558 | default 0xFFC00730 if (BFIN533_STAMP) | ||
559 | |||
560 | config BFIN_ALIVE_LED_PIN | ||
561 | hex | ||
562 | default 0x04 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 1) | ||
563 | default 0x08 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 2) | ||
564 | default 0x10 if (BFIN533_STAMP && BFIN_ALIVE_LED_NUM = 3) | ||
565 | |||
566 | config BFIN_IDLE_LED_PORT | ||
567 | hex | ||
568 | default 0xFFC00700 if (BFIN533_STAMP) | ||
569 | |||
570 | # Peripheral Flag Direction Register | ||
571 | config BFIN_IDLE_LED_DPORT | ||
572 | hex | ||
573 | default 0xFFC00730 if (BFIN533_STAMP) | ||
574 | |||
575 | config BFIN_IDLE_LED_PIN | ||
576 | hex | ||
577 | default 0x04 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 1) | ||
578 | default 0x08 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 2) | ||
579 | default 0x10 if (BFIN533_STAMP && BFIN_IDLE_LED_NUM = 3) | ||
580 | |||
581 | endmenu | 512 | endmenu |
582 | 513 | ||
583 | 514 | ||
diff --git a/arch/blackfin/kernel/process.c b/arch/blackfin/kernel/process.c index fff3dd9eadda..023dc80af187 100644 --- a/arch/blackfin/kernel/process.c +++ b/arch/blackfin/kernel/process.c | |||
@@ -39,9 +39,6 @@ | |||
39 | #include <asm/blackfin.h> | 39 | #include <asm/blackfin.h> |
40 | #include <asm/fixed_code.h> | 40 | #include <asm/fixed_code.h> |
41 | 41 | ||
42 | #define LED_ON 0 | ||
43 | #define LED_OFF 1 | ||
44 | |||
45 | asmlinkage void ret_from_fork(void); | 42 | asmlinkage void ret_from_fork(void); |
46 | 43 | ||
47 | /* Points to the SDRAM backup memory for the stack that is currently in | 44 | /* Points to the SDRAM backup memory for the stack that is currently in |
@@ -70,32 +67,6 @@ void (*pm_power_off)(void) = NULL; | |||
70 | EXPORT_SYMBOL(pm_power_off); | 67 | EXPORT_SYMBOL(pm_power_off); |
71 | 68 | ||
72 | /* | 69 | /* |
73 | * We are using a different LED from the one used to indicate timer interrupt. | ||
74 | */ | ||
75 | #if defined(CONFIG_BFIN_IDLE_LED) | ||
76 | static inline void leds_switch(int flag) | ||
77 | { | ||
78 | unsigned short tmp = 0; | ||
79 | |||
80 | tmp = bfin_read_CONFIG_BFIN_IDLE_LED_PORT(); | ||
81 | SSYNC(); | ||
82 | |||
83 | if (flag == LED_ON) | ||
84 | tmp &= ~CONFIG_BFIN_IDLE_LED_PIN; /* light on */ | ||
85 | else | ||
86 | tmp |= CONFIG_BFIN_IDLE_LED_PIN; /* light off */ | ||
87 | |||
88 | bfin_write_CONFIG_BFIN_IDLE_LED_PORT(tmp); | ||
89 | SSYNC(); | ||
90 | |||
91 | } | ||
92 | #else | ||
93 | static inline void leds_switch(int flag) | ||
94 | { | ||
95 | } | ||
96 | #endif | ||
97 | |||
98 | /* | ||
99 | * The idle loop on BFIN | 70 | * The idle loop on BFIN |
100 | */ | 71 | */ |
101 | #ifdef CONFIG_IDLE_L1 | 72 | #ifdef CONFIG_IDLE_L1 |
@@ -106,12 +77,10 @@ void cpu_idle(void)__attribute__((l1_text)); | |||
106 | void default_idle(void) | 77 | void default_idle(void) |
107 | { | 78 | { |
108 | while (!need_resched()) { | 79 | while (!need_resched()) { |
109 | leds_switch(LED_OFF); | ||
110 | local_irq_disable(); | 80 | local_irq_disable(); |
111 | if (likely(!need_resched())) | 81 | if (likely(!need_resched())) |
112 | idle_with_irq_disabled(); | 82 | idle_with_irq_disabled(); |
113 | local_irq_enable(); | 83 | local_irq_enable(); |
114 | leds_switch(LED_ON); | ||
115 | } | 84 | } |
116 | } | 85 | } |
117 | 86 | ||
diff --git a/arch/blackfin/kernel/setup.c b/arch/blackfin/kernel/setup.c index d2822010b7ce..a03c2dfff4a3 100644 --- a/arch/blackfin/kernel/setup.c +++ b/arch/blackfin/kernel/setup.c | |||
@@ -315,8 +315,6 @@ void __init setup_arch(char **cmdline_p) | |||
315 | init_mm.end_data = (unsigned long)_edata; | 315 | init_mm.end_data = (unsigned long)_edata; |
316 | init_mm.brk = (unsigned long)0; | 316 | init_mm.brk = (unsigned long)0; |
317 | 317 | ||
318 | init_leds(); | ||
319 | |||
320 | _bfin_swrst = bfin_read_SWRST(); | 318 | _bfin_swrst = bfin_read_SWRST(); |
321 | 319 | ||
322 | if (_bfin_swrst & RESET_DOUBLE) | 320 | if (_bfin_swrst & RESET_DOUBLE) |
diff --git a/arch/blackfin/kernel/time.c b/arch/blackfin/kernel/time.c index beef057bd1dc..5bd64e341df3 100644 --- a/arch/blackfin/kernel/time.c +++ b/arch/blackfin/kernel/time.c | |||
@@ -42,75 +42,6 @@ | |||
42 | static void time_sched_init(irqreturn_t(*timer_routine) | 42 | static void time_sched_init(irqreturn_t(*timer_routine) |
43 | (int, void *)); | 43 | (int, void *)); |
44 | static unsigned long gettimeoffset(void); | 44 | static unsigned long gettimeoffset(void); |
45 | static inline void do_leds(void); | ||
46 | |||
47 | #if (defined(CONFIG_BFIN_ALIVE_LED) || defined(CONFIG_BFIN_IDLE_LED)) | ||
48 | void __init init_leds(void) | ||
49 | { | ||
50 | unsigned int tmp = 0; | ||
51 | |||
52 | #if defined(CONFIG_BFIN_ALIVE_LED) | ||
53 | /* config pins as output. */ | ||
54 | tmp = bfin_read_CONFIG_BFIN_ALIVE_LED_DPORT(); | ||
55 | SSYNC(); | ||
56 | bfin_write_CONFIG_BFIN_ALIVE_LED_DPORT(tmp | CONFIG_BFIN_ALIVE_LED_PIN); | ||
57 | SSYNC(); | ||
58 | |||
59 | /* First set led be off */ | ||
60 | tmp = bfin_read_CONFIG_BFIN_ALIVE_LED_PORT(); | ||
61 | SSYNC(); | ||
62 | bfin_write_CONFIG_BFIN_ALIVE_LED_PORT(tmp | CONFIG_BFIN_ALIVE_LED_PIN); /* light off */ | ||
63 | SSYNC(); | ||
64 | #endif | ||
65 | |||
66 | #if defined(CONFIG_BFIN_IDLE_LED) | ||
67 | /* config pins as output. */ | ||
68 | tmp = bfin_read_CONFIG_BFIN_IDLE_LED_DPORT(); | ||
69 | SSYNC(); | ||
70 | bfin_write_CONFIG_BFIN_IDLE_LED_DPORT(tmp | CONFIG_BFIN_IDLE_LED_PIN); | ||
71 | SSYNC(); | ||
72 | |||
73 | /* First set led be off */ | ||
74 | tmp = bfin_read_CONFIG_BFIN_IDLE_LED_PORT(); | ||
75 | SSYNC(); | ||
76 | bfin_write_CONFIG_BFIN_IDLE_LED_PORT(tmp | CONFIG_BFIN_IDLE_LED_PIN); /* light off */ | ||
77 | SSYNC(); | ||
78 | #endif | ||
79 | } | ||
80 | #else | ||
81 | void __init init_leds(void) | ||
82 | { | ||
83 | } | ||
84 | #endif | ||
85 | |||
86 | #if defined(CONFIG_BFIN_ALIVE_LED) | ||
87 | static inline void do_leds(void) | ||
88 | { | ||
89 | static unsigned int count = 50; | ||
90 | static int flag; | ||
91 | unsigned short tmp = 0; | ||
92 | |||
93 | if (--count == 0) { | ||
94 | count = 50; | ||
95 | flag = ~flag; | ||
96 | } | ||
97 | tmp = bfin_read_CONFIG_BFIN_ALIVE_LED_PORT(); | ||
98 | SSYNC(); | ||
99 | |||
100 | if (flag) | ||
101 | tmp &= ~CONFIG_BFIN_ALIVE_LED_PIN; /* light on */ | ||
102 | else | ||
103 | tmp |= CONFIG_BFIN_ALIVE_LED_PIN; /* light off */ | ||
104 | |||
105 | bfin_write_CONFIG_BFIN_ALIVE_LED_PORT(tmp); | ||
106 | SSYNC(); | ||
107 | |||
108 | } | ||
109 | #else | ||
110 | static inline void do_leds(void) | ||
111 | { | ||
112 | } | ||
113 | #endif | ||
114 | 45 | ||
115 | static struct irqaction bfin_timer_irq = { | 46 | static struct irqaction bfin_timer_irq = { |
116 | .name = "BFIN Timer Tick", | 47 | .name = "BFIN Timer Tick", |
@@ -205,7 +136,6 @@ irqreturn_t timer_interrupt(int irq, void *dummy) | |||
205 | write_seqlock(&xtime_lock); | 136 | write_seqlock(&xtime_lock); |
206 | 137 | ||
207 | do_timer(1); | 138 | do_timer(1); |
208 | do_leds(); | ||
209 | 139 | ||
210 | #ifndef CONFIG_SMP | 140 | #ifndef CONFIG_SMP |
211 | update_process_times(user_mode(get_irq_regs())); | 141 | update_process_times(user_mode(get_irq_regs())); |