1 /***************************************************************************
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
10 * Copyright (C) 2006 Daniel Stenberg
12 * All files in this archive are subject to the GNU General Public License.
13 * See the file COPYING in the source tree root for full license agreement.
15 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
16 * KIND, either express or implied.
18 ****************************************************************************/
34 #include "backlight.h"
39 static inline void blink(void)
41 volatile unsigned int* ptr
;
43 ptr
= (volatile unsigned int*)0x70000020;
46 for(i
= 0; i
< 0xfffff; i
++)
50 for(i
= 0; i
< 0xfffff; i
++)
55 static inline void slow_blink(void)
57 volatile unsigned int* ptr
;
59 ptr
= (volatile unsigned int*)0x70000020;
62 for(i
= 0; i
< (0xfffff); i
++)
65 for(i
= 0; i
< (0xfffff); i
++)
68 for(i
= 0; i
< (0xfffff); i
++)
73 for(i
= 0; i
< (0xfffff); i
++)
76 for(i
= 0; i
< (0xfffff); i
++)
79 for(i
= 0; i
< (0xfffff); i
++)
84 static inline unsigned long get_pc(void)
94 /* These functions are present in the firmware library, but we reimplement
95 them here because the originals do a lot more than we want */
97 void reset_poweroff_timer(void)
103 unsigned int gpio_a
, gpio_b
, gpio_c
, gpio_d
;
104 unsigned int gpio_e
, gpio_f
, gpio_g
, gpio_h
;
105 unsigned int gpio_i
, gpio_j
, gpio_k
, gpio_l
;
110 lcd_setmargins(0, 0);
112 lcd_setfont(FONT_SYSFIXED
);
116 gpio_a
= GPIOA_INPUT_VAL
;
117 gpio_b
= GPIOB_INPUT_VAL
;
118 gpio_c
= GPIOC_INPUT_VAL
;
120 gpio_g
= GPIOG_INPUT_VAL
;
121 gpio_h
= GPIOH_INPUT_VAL
;
122 gpio_i
= GPIOI_INPUT_VAL
;
125 snprintf(buf
, sizeof(buf
), "GPIO_A: %02x GPIO_G: %02x", gpio_a
, gpio_g
);
126 lcd_puts(0, line
++, buf
);
127 snprintf(buf
, sizeof(buf
), "GPIO_B: %02x GPIO_H: %02x", gpio_b
, gpio_h
);
128 lcd_puts(0, line
++, buf
);
129 snprintf(buf
, sizeof(buf
), "GPIO_C: %02x GPIO_I: %02x", gpio_c
, gpio_i
);
130 lcd_puts(0, line
++, buf
);
133 gpio_d
= GPIOD_INPUT_VAL
;
134 gpio_e
= GPIOE_INPUT_VAL
;
135 gpio_f
= GPIOF_INPUT_VAL
;
137 gpio_j
= GPIOJ_INPUT_VAL
;
138 gpio_k
= GPIOK_INPUT_VAL
;
139 gpio_l
= GPIOL_INPUT_VAL
;
141 snprintf(buf
, sizeof(buf
), "GPIO_D: %02x GPIO_J: %02x", gpio_d
, gpio_j
);
142 lcd_puts(0, line
++, buf
);
143 snprintf(buf
, sizeof(buf
), "GPIO_E: %02x GPIO_K: %02x", gpio_e
, gpio_k
);
144 lcd_puts(0, line
++, buf
);
145 snprintf(buf
, sizeof(buf
), "GPIO_F: %02x GPIO_L: %02x", gpio_f
, gpio_l
);
146 lcd_puts(0, line
++, buf
);
148 snprintf(buf
, sizeof(buf
), "ADC_1: %02x", adc_read(ADC_0
));
149 lcd_puts(0, line
++, buf
);
150 snprintf(buf
, sizeof(buf
), "ADC_2: %02x", adc_read(ADC_1
));
151 lcd_puts(0, line
++, buf
);
152 snprintf(buf
, sizeof(buf
), "ADC_3: %02x", adc_read(ADC_2
));
153 lcd_puts(0, line
++, buf
);
154 snprintf(buf
, sizeof(buf
), "ADC_4: %02x", adc_read(ADC_3
));
155 lcd_puts(0, line
++, buf
);
165 void usb_acknowledge(void)
169 void usb_wait_for_disconnect(void)
173 void sys_poweroff(void)
177 void system_reboot(void)