This source file includes following definitions.
- shutdown
- debug_led
- get_flash_params_count
- camera_set_led
1 #include "platform.h"
2
3
4
5
6
7
8
9
10 void shutdown()
11 {
12 volatile long *p = (void*)0xC02200A0;
13
14 asm(
15 "MRS R1, CPSR\n"
16 "AND R0, R1, #0x80\n"
17 "ORR R1, R1, #0x80\n"
18 "MSR CPSR_cf, R1\n"
19 :::"r1","r0");
20
21 *p = 0x44;
22
23 while(1);
24 }
25
26
27 #define LED_PR 0xc02200C4
28
29 void debug_led(int state)
30 {
31 volatile long *p=(void*)LED_PR;
32 if (state)
33 p[0]=0x46;
34 else
35 p[0]=0x44;
36 }
37
38
39 int get_flash_params_count(void){
40 return 111;
41 }
42
43 #define LED_BASE 0xC02200C0
44
45 void camera_set_led(int led, int state, __attribute__ ((unused))int bright)
46
47 {
48 int leds[] = {12,16,4,8,4,0,4};
49 if(led < 4 || led > 10 || led == 6) return;
50 volatile long *p=(void*)LED_BASE + leds[led-4];
51 if (state)
52 p[0]=0x46;
53 else
54 p[0]=0x44;
55 }