~pmdj/ubuntu/trusty/qemu/2.9+applesmc+fadtv3

« back to all changes in this revision

Viewing changes to roms/u-boot/include/status_led.h

  • Committer: Phil Dennis-Jordan
  • Date: 2017-07-21 08:03:43 UTC
  • mfrom: (1.1.1)
  • Revision ID: phil@philjordan.eu-20170721080343-2yr2vdj7713czahv
New upstream release 2.9.0.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * (C) Copyright 2000-2004
 
3
 * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
 
4
 *
 
5
 * SPDX-License-Identifier:     GPL-2.0+
 
6
 */
 
7
 
 
8
/*
 
9
 * The purpose of this code is to signal the operational status of a
 
10
 * target which usually boots over the network; while running in
 
11
 * PCBoot, a status LED is blinking. As soon as a valid BOOTP reply
 
12
 * message has been received, the LED is turned off. The Linux
 
13
 * kernel, once it is running, will start blinking the LED again,
 
14
 * with another frequency.
 
15
 */
 
16
 
 
17
#ifndef _STATUS_LED_H_
 
18
#define _STATUS_LED_H_
 
19
 
 
20
#ifdef CONFIG_STATUS_LED
 
21
 
 
22
#define STATUS_LED_OFF          0
 
23
#define STATUS_LED_BLINKING     1
 
24
#define STATUS_LED_ON           2
 
25
 
 
26
void status_led_tick (unsigned long timestamp);
 
27
void status_led_set  (int led, int state);
 
28
 
 
29
/*****  TQM8xxL  ********************************************************/
 
30
#if defined(CONFIG_TQM8xxL)
 
31
# define STATUS_LED_PAR         im_cpm.cp_pbpar
 
32
# define STATUS_LED_DIR         im_cpm.cp_pbdir
 
33
# define STATUS_LED_ODR         im_cpm.cp_pbodr
 
34
# define STATUS_LED_DAT         im_cpm.cp_pbdat
 
35
 
 
36
# define STATUS_LED_BIT         0x00000001
 
37
# define STATUS_LED_PERIOD      (CONFIG_SYS_HZ / 2)
 
38
# define STATUS_LED_STATE       STATUS_LED_BLINKING
 
39
 
 
40
# define STATUS_LED_ACTIVE      1               /* LED on for bit == 1  */
 
41
 
 
42
# define STATUS_LED_BOOT        0               /* LED 0 used for boot status */
 
43
 
 
44
/*****  MVS v1  **********************************************************/
 
45
#elif (defined(CONFIG_MVS) && CONFIG_MVS < 2)
 
46
# define STATUS_LED_PAR         im_ioport.iop_pdpar
 
47
# define STATUS_LED_DIR         im_ioport.iop_pddir
 
48
# undef  STATUS_LED_ODR
 
49
# define STATUS_LED_DAT         im_ioport.iop_pddat
 
50
 
 
51
# define STATUS_LED_BIT         0x00000001
 
52
# define STATUS_LED_PERIOD      (CONFIG_SYS_HZ / 2)
 
53
# define STATUS_LED_STATE       STATUS_LED_BLINKING
 
54
 
 
55
# define STATUS_LED_ACTIVE      1               /* LED on for bit == 1  */
 
56
 
 
57
# define STATUS_LED_BOOT        0               /* LED 0 used for boot status */
 
58
 
 
59
/*****  GEN860T  *********************************************************/
 
60
#elif defined(CONFIG_GEN860T)
 
61
 
 
62
# define STATUS_LED_PAR                 im_ioport.iop_papar
 
63
# define STATUS_LED_DIR                 im_ioport.iop_padir
 
64
# define STATUS_LED_ODR                 im_ioport.iop_paodr
 
65
# define STATUS_LED_DAT                 im_ioport.iop_padat
 
66
 
 
67
# define STATUS_LED_BIT                 0x0800  /* Red LED 0 is on PA.4 */
 
68
# define STATUS_LED_PERIOD              (CONFIG_SYS_HZ / 4)
 
69
# define STATUS_LED_STATE               STATUS_LED_OFF
 
70
# define STATUS_LED_BIT1                0x0400  /* Grn LED 1 is on PA.5 */
 
71
# define STATUS_LED_PERIOD1             (CONFIG_SYS_HZ / 8)
 
72
# define STATUS_LED_STATE1              STATUS_LED_BLINKING
 
73
# define STATUS_LED_BIT2                0x0080  /* Red LED 2 is on PA.8 */
 
74
# define STATUS_LED_PERIOD2             (CONFIG_SYS_HZ / 4)
 
75
# define STATUS_LED_STATE2              STATUS_LED_OFF
 
76
# define STATUS_LED_BIT3                0x0040  /* Grn LED 3 is on PA.9 */
 
77
# define STATUS_LED_PERIOD3             (CONFIG_SYS_HZ / 4)
 
78
# define STATUS_LED_STATE3              STATUS_LED_OFF
 
79
 
 
80
# define STATUS_LED_ACTIVE              1       /* LED on for bit == 1  */
 
81
# define STATUS_LED_BOOT                1       /* Boot status on LED 1 */
 
82
 
 
83
/*****  IVMS8  **********************************************************/
 
84
#elif defined(CONFIG_IVMS8)
 
85
 
 
86
# define STATUS_LED_PAR         im_cpm.cp_pbpar
 
87
# define STATUS_LED_DIR         im_cpm.cp_pbdir
 
88
# define STATUS_LED_ODR         im_cpm.cp_pbodr
 
89
# define STATUS_LED_DAT         im_cpm.cp_pbdat
 
90
 
 
91
# define STATUS_LED_BIT         0x00000010      /* LED 0 is on PB.27    */
 
92
# define STATUS_LED_PERIOD      (1 * CONFIG_SYS_HZ)
 
93
# define STATUS_LED_STATE       STATUS_LED_OFF
 
94
# define STATUS_LED_BIT1        0x00000020      /* LED 1 is on PB.26    */
 
95
# define STATUS_LED_PERIOD1     (1 * CONFIG_SYS_HZ)
 
96
# define STATUS_LED_STATE1      STATUS_LED_OFF
 
97
/* IDE LED usable for other purposes, too */
 
98
# define STATUS_LED_BIT2        0x00000008      /* LED 2 is on PB.28    */
 
99
# define STATUS_LED_PERIOD2     (1 * CONFIG_SYS_HZ)
 
100
# define STATUS_LED_STATE2      STATUS_LED_OFF
 
101
 
 
102
# define STATUS_LED_ACTIVE      1               /* LED on for bit == 1  */
 
103
 
 
104
# define STATUS_ILOCK_SWITCH    0x00800000      /* ILOCK switch in IRQ4 */
 
105
 
 
106
# define STATUS_ILOCK_PERIOD    (CONFIG_SYS_HZ / 10)    /* about every 100 ms   */
 
107
 
 
108
# define STATUS_LED_YELLOW      0
 
109
# define STATUS_LED_GREEN       1
 
110
# define STATUS_LED_BOOT        2               /* IDE LED used for boot status */
 
111
 
 
112
/*****  IVML24  *********************************************************/
 
113
#elif defined(CONFIG_IVML24)
 
114
 
 
115
# define STATUS_LED_PAR         im_cpm.cp_pbpar
 
116
# define STATUS_LED_DIR         im_cpm.cp_pbdir
 
117
# define STATUS_LED_ODR         im_cpm.cp_pbodr
 
118
# define STATUS_LED_DAT         im_cpm.cp_pbdat
 
119
 
 
120
# define STATUS_LED_BIT         0x00000010      /* LED 0 is on PB.27    */
 
121
# define STATUS_LED_PERIOD      (1 * CONFIG_SYS_HZ)
 
122
# define STATUS_LED_STATE       STATUS_LED_OFF
 
123
# define STATUS_LED_BIT1        0x00000020      /* LED 1 is on PB.26    */
 
124
# define STATUS_LED_PERIOD1     (1 * CONFIG_SYS_HZ)
 
125
# define STATUS_LED_STATE1      STATUS_LED_OFF
 
126
/* IDE LED usable for other purposes, too */
 
127
# define STATUS_LED_BIT2        0x00000008      /* LED 2 is on PB.28    */
 
128
# define STATUS_LED_PERIOD2     (1 * CONFIG_SYS_HZ)
 
129
# define STATUS_LED_STATE2      STATUS_LED_OFF
 
130
 
 
131
# define STATUS_LED_ACTIVE      1               /* LED on for bit == 1  */
 
132
 
 
133
# define STATUS_ILOCK_SWITCH    0x00004000      /* ILOCK is on PB.17    */
 
134
 
 
135
# define STATUS_ILOCK_PERIOD    (CONFIG_SYS_HZ / 10)    /* about every 100 ms   */
 
136
 
 
137
# define STATUS_LED_YELLOW      0
 
138
# define STATUS_LED_GREEN       1
 
139
# define STATUS_LED_BOOT        2               /* IDE LED used for boot status */
 
140
 
 
141
/*****  ICU862   ********************************************************/
 
142
#elif defined(CONFIG_ICU862)
 
143
 
 
144
# define STATUS_LED_PAR         im_ioport.iop_papar
 
145
# define STATUS_LED_DIR         im_ioport.iop_padir
 
146
# define STATUS_LED_ODR         im_ioport.iop_paodr
 
147
# define STATUS_LED_DAT         im_ioport.iop_padat
 
148
 
 
149
# define STATUS_LED_BIT         0x4000          /* LED 0 is on PA.1 */
 
150
# define STATUS_LED_PERIOD      (CONFIG_SYS_HZ / 2)
 
151
# define STATUS_LED_STATE       STATUS_LED_BLINKING
 
152
# define STATUS_LED_BIT1        0x1000          /* LED 1 is on PA.3 */
 
153
# define STATUS_LED_PERIOD1     (CONFIG_SYS_HZ)
 
154
# define STATUS_LED_STATE1      STATUS_LED_OFF
 
155
 
 
156
# define STATUS_LED_ACTIVE      1               /* LED on for bit == 1  */
 
157
 
 
158
# define STATUS_LED_BOOT        0               /* LED 0 used for boot status */
 
159
 
 
160
/*****  Someone else defines these  *************************************/
 
161
#elif defined(STATUS_LED_PAR)
 
162
 
 
163
  /*
 
164
   * ADVICE: Define in your board configuration file rather than
 
165
   * filling this file up with lots of custom board stuff.
 
166
   */
 
167
 
 
168
/*****  NetVia   ********************************************************/
 
169
#elif defined(CONFIG_NETVIA)
 
170
 
 
171
#if !defined(CONFIG_NETVIA_VERSION) || CONFIG_NETVIA_VERSION == 1
 
172
 
 
173
#define STATUS_LED_PAR          im_ioport.iop_pdpar
 
174
#define STATUS_LED_DIR          im_ioport.iop_pddir
 
175
#undef  STATUS_LED_ODR
 
176
#define STATUS_LED_DAT          im_ioport.iop_pddat
 
177
 
 
178
# define STATUS_LED_BIT         0x0080                  /* PD.8 */
 
179
# define STATUS_LED_PERIOD      (CONFIG_SYS_HZ / 2)
 
180
# define STATUS_LED_STATE       STATUS_LED_BLINKING
 
181
 
 
182
# define STATUS_LED_BIT1        0x0040                  /* PD.9 */
 
183
# define STATUS_LED_PERIOD1     (CONFIG_SYS_HZ / 2)
 
184
# define STATUS_LED_STATE1      STATUS_LED_OFF
 
185
 
 
186
# define STATUS_LED_ACTIVE      0               /* LED on for bit == 0  */
 
187
# define STATUS_LED_BOOT        0               /* LED 0 used for boot status */
 
188
 
 
189
#endif
 
190
 
 
191
/*****  CMI   ********************************************************/
 
192
#elif defined(CONFIG_CMI)
 
193
# define STATUS_LED_DIR         im_mios.mios_mpiosm32ddr
 
194
# define STATUS_LED_DAT         im_mios.mios_mpiosm32dr
 
195
 
 
196
# define STATUS_LED_BIT         0x2000          /* Select one of the 16 possible*/
 
197
                                                /* MIOS outputs */
 
198
# define STATUS_LED_PERIOD      (CONFIG_SYS_HZ / 2)     /* Blinking periode is 500 ms */
 
199
# define STATUS_LED_STATE       STATUS_LED_BLINKING
 
200
 
 
201
# define STATUS_LED_ACTIVE      1               /* LED on for bit == 0  */
 
202
# define STATUS_LED_BOOT        0               /* LED 0 used for boot status */
 
203
 
 
204
/*****  KUP4K, KUP4X  ****************************************************/
 
205
#elif defined(CONFIG_KUP4K) || defined(CONFIG_KUP4X)
 
206
 
 
207
# define STATUS_LED_PAR         im_ioport.iop_papar
 
208
# define STATUS_LED_DIR         im_ioport.iop_padir
 
209
# define STATUS_LED_ODR         im_ioport.iop_paodr
 
210
# define STATUS_LED_DAT         im_ioport.iop_padat
 
211
 
 
212
# define STATUS_LED_BIT         0x00000300  /*  green + red    PA[8]=yellow,  PA[7]=red,  PA[6]=green */
 
213
# define STATUS_LED_PERIOD      (CONFIG_SYS_HZ / 2)
 
214
# define STATUS_LED_STATE       STATUS_LED_BLINKING
 
215
 
 
216
# define STATUS_LED_ACTIVE      1               /* LED on for bit == 1  */
 
217
 
 
218
# define STATUS_LED_BOOT        0               /* LED 0 used for boot status */
 
219
 
 
220
#elif defined(CONFIG_SVM_SC8xx)
 
221
# define STATUS_LED_PAR         im_cpm.cp_pbpar
 
222
# define STATUS_LED_DIR         im_cpm.cp_pbdir
 
223
# define STATUS_LED_ODR         im_cpm.cp_pbodr
 
224
# define STATUS_LED_DAT         im_cpm.cp_pbdat
 
225
 
 
226
# define STATUS_LED_BIT         0x00000001
 
227
# define STATUS_LED_PERIOD      (CONFIG_SYS_HZ / 2)
 
228
# define STATUS_LED_STATE       STATUS_LED_BLINKING
 
229
 
 
230
# define STATUS_LED_ACTIVE      1               /* LED on for bit == 1  */
 
231
 
 
232
# define STATUS_LED_BOOT        0               /* LED 0 used for boot status */
 
233
 
 
234
/*****  RBC823    ********************************************************/
 
235
#elif defined(CONFIG_RBC823)
 
236
 
 
237
# define STATUS_LED_PAR         im_ioport.iop_pcpar
 
238
# define STATUS_LED_DIR         im_ioport.iop_pcdir
 
239
#  undef STATUS_LED_ODR
 
240
# define STATUS_LED_DAT         im_ioport.iop_pcdat
 
241
 
 
242
# define STATUS_LED_BIT         0x0002          /* LED 0 is on PC.14 */
 
243
# define STATUS_LED_PERIOD      (CONFIG_SYS_HZ / 2)
 
244
# define STATUS_LED_STATE       STATUS_LED_BLINKING
 
245
# define STATUS_LED_BIT1        0x0004          /* LED 1 is on PC.13 */
 
246
# define STATUS_LED_PERIOD1     (CONFIG_SYS_HZ)
 
247
# define STATUS_LED_STATE1      STATUS_LED_OFF
 
248
 
 
249
# define STATUS_LED_ACTIVE      1               /* LED on for bit == 1  */
 
250
 
 
251
# define STATUS_LED_BOOT        0               /* LED 0 used for boot status */
 
252
 
 
253
/*****  NetPhone   ********************************************************/
 
254
#elif defined(CONFIG_NETPHONE) || defined(CONFIG_NETTA2)
 
255
/* XXX empty just to avoid the error */
 
256
/*****  STx XTc    ********************************************************/
 
257
#elif defined(CONFIG_STXXTC)
 
258
/* XXX empty just to avoid the error */
 
259
/************************************************************************/
 
260
#elif defined(CONFIG_V38B)
 
261
 
 
262
# define STATUS_LED_BIT         0x0010                  /* Timer7 GPIO */
 
263
# define STATUS_LED_PERIOD      (CONFIG_SYS_HZ / 2)
 
264
# define STATUS_LED_STATE       STATUS_LED_BLINKING
 
265
 
 
266
# define STATUS_LED_ACTIVE      0               /* LED on for bit == 0 */
 
267
# define STATUS_LED_BOOT        0               /* LED 0 used for boot status */
 
268
 
 
269
#elif defined(CONFIG_MOTIONPRO)
 
270
 
 
271
#define STATUS_LED_BIT          ((vu_long *) MPC5XXX_GPT6_ENABLE)
 
272
#define STATUS_LED_PERIOD       (CONFIG_SYS_HZ / 10)
 
273
#define STATUS_LED_STATE        STATUS_LED_BLINKING
 
274
 
 
275
#define STATUS_LED_BIT1         ((vu_long *) MPC5XXX_GPT7_ENABLE)
 
276
#define STATUS_LED_PERIOD1      (CONFIG_SYS_HZ / 10)
 
277
#define STATUS_LED_STATE1       STATUS_LED_OFF
 
278
 
 
279
#define STATUS_LED_BOOT         0       /* LED 0 used for boot status */
 
280
 
 
281
#elif defined(CONFIG_BOARD_SPECIFIC_LED)
 
282
/* led_id_t is unsigned long mask */
 
283
typedef unsigned long led_id_t;
 
284
 
 
285
extern void __led_toggle (led_id_t mask);
 
286
extern void __led_init (led_id_t mask, int state);
 
287
extern void __led_set (led_id_t mask, int state);
 
288
#else
 
289
# error Status LED configuration missing
 
290
#endif
 
291
/************************************************************************/
 
292
 
 
293
#ifndef CONFIG_BOARD_SPECIFIC_LED
 
294
# include <asm/status_led.h>
 
295
#endif
 
296
 
 
297
/*
 
298
 * Coloured LEDs API
 
299
 */
 
300
#ifndef __ASSEMBLY__
 
301
extern void     coloured_LED_init (void);
 
302
extern void     red_led_on(void);
 
303
extern void     red_led_off(void);
 
304
extern void     green_led_on(void);
 
305
extern void     green_led_off(void);
 
306
extern void     yellow_led_on(void);
 
307
extern void     yellow_led_off(void);
 
308
extern void     blue_led_on(void);
 
309
extern void     blue_led_off(void);
 
310
#else
 
311
        .extern LED_init
 
312
        .extern red_led_on
 
313
        .extern red_led_off
 
314
        .extern yellow_led_on
 
315
        .extern yellow_led_off
 
316
        .extern green_led_on
 
317
        .extern green_led_off
 
318
        .extern blue_led_on
 
319
        .extern blue_led_off
 
320
#endif
 
321
 
 
322
#endif  /* CONFIG_STATUS_LED    */
 
323
 
 
324
#endif  /* _STATUS_LED_H_       */