powerpc, 8xx: remove support for 8xx
[oweals/u-boot.git] / arch / powerpc / include / asm / status_led.h
1 /*
2  * asm/status_led.h
3  *
4  * MPC8xx/MPC8260/MPC5xx based status led support functions
5  */
6
7 #ifndef __ASM_STATUS_LED_H__
8 #define __ASM_STATUS_LED_H__
9
10 /* if not overridden */
11 #ifndef CONFIG_LED_STATUS_BOARD_SPECIFIC
12 # if defined(CONFIG_MPC8260)
13 #  include <mpc8260.h>
14 # elif defined(CONFIG_5xx)
15 #  include <mpc5xx.h>
16 # else
17 #  error CPU specific Status LED header file missing.
18 #endif
19
20 /* led_id_t is unsigned long mask */
21 typedef unsigned long led_id_t;
22
23 static inline void __led_init (led_id_t mask, int state)
24 {
25         volatile immap_t *immr = (immap_t *) CONFIG_SYS_IMMR;
26
27 #ifdef STATUS_LED_PAR
28         immr->STATUS_LED_PAR &= ~mask;
29 #endif
30 #ifdef STATUS_LED_ODR
31         immr->STATUS_LED_ODR &= ~mask;
32 #endif
33
34 #if (STATUS_LED_ACTIVE == 0)
35         if (state == CONFIG_LED_STATUS_ON)
36                 immr->STATUS_LED_DAT &= ~mask;
37         else
38                 immr->STATUS_LED_DAT |= mask;
39 #else
40         if (state == CONFIG_LED_STATUS_ON)
41                 immr->STATUS_LED_DAT |= mask;
42         else
43                 immr->STATUS_LED_DAT &= ~mask;
44 #endif
45 #ifdef STATUS_LED_DIR
46         immr->STATUS_LED_DIR |= mask;
47 #endif
48 }
49
50 static inline void __led_toggle (led_id_t mask)
51 {
52         ((immap_t *) CONFIG_SYS_IMMR)->STATUS_LED_DAT ^= mask;
53 }
54
55 static inline void __led_set (led_id_t mask, int state)
56 {
57         volatile immap_t *immr = (immap_t *) CONFIG_SYS_IMMR;
58
59 #if (STATUS_LED_ACTIVE == 0)
60         if (state == CONFIG_LED_STATUS_ON)
61                 immr->STATUS_LED_DAT &= ~mask;
62         else
63                 immr->STATUS_LED_DAT |= mask;
64 #else
65         if (state == CONFIG_LED_STATUS_ON)
66                 immr->STATUS_LED_DAT |= mask;
67         else
68                 immr->STATUS_LED_DAT &= ~mask;
69 #endif
70
71 }
72
73 #endif
74
75 #endif  /* __ASM_STATUS_LED_H__ */