summaryrefslogtreecommitdiff
path: root/firmware/target/arm/as3525/sansa-clipplus
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/as3525/sansa-clipplus')
-rw-r--r--firmware/target/arm/as3525/sansa-clipplus/backlight-clip.c53
-rw-r--r--firmware/target/arm/as3525/sansa-clipplus/backlight-target.h32
-rw-r--r--firmware/target/arm/as3525/sansa-clipplus/button-clip.c33
-rw-r--r--firmware/target/arm/as3525/sansa-clipplus/button-target.h57
4 files changed, 175 insertions, 0 deletions
diff --git a/firmware/target/arm/as3525/sansa-clipplus/backlight-clip.c b/firmware/target/arm/as3525/sansa-clipplus/backlight-clip.c
new file mode 100644
index 0000000000..c51d61231d
--- /dev/null
+++ b/firmware/target/arm/as3525/sansa-clipplus/backlight-clip.c
@@ -0,0 +1,53 @@
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
9 *
10 * Copyright © 2009 Rafaël Carré
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
16 *
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
19 *
20 ****************************************************************************/
21
22#include "backlight-target.h"
23#include "lcd.h"
24#include "as3525v2.h"
25#include "ascodec-target.h"
26
27/* FIXME : this is clipv2 code, not sure if it works the same on clip+ */
28
29void _backlight_on(void)
30{
31 ascodec_write(0x25, ascodec_read(0x25) | 2); /* lcd power */
32 ascodec_write(0x1c, 8|1);
33 ascodec_write(0x1b, 0x90);
34 lcd_enable(true);
35}
36
37void _backlight_off(void)
38{
39 ascodec_write(0x25, ascodec_read(0x25) & ~2); /* lcd power */
40 lcd_enable(false);
41}
42
43void _buttonlight_on(void)
44{
45 GPIOA_DIR |= (1<<5);
46 GPIOA_PIN(5) = (1<<5); /* set pin a5 high */
47}
48
49void _buttonlight_off(void)
50{
51 GPIOA_DIR |= (1<<5);
52 GPIOA_PIN(5) = 0; /* set pin a5 low */
53}
diff --git a/firmware/target/arm/as3525/sansa-clipplus/backlight-target.h b/firmware/target/arm/as3525/sansa-clipplus/backlight-target.h
new file mode 100644
index 0000000000..d202408356
--- /dev/null
+++ b/firmware/target/arm/as3525/sansa-clipplus/backlight-target.h
@@ -0,0 +1,32 @@
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
9 *
10 * Copyright © 2009 Rafaël Carré
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
16 *
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
19 *
20 ****************************************************************************/
21#ifndef BACKLIGHT_TARGET_H
22#define BACKLIGHT_TARGET_H
23
24#define _backlight_init() true
25
26void _backlight_on(void);
27void _backlight_off(void);
28
29void _buttonlight_on(void);
30void _buttonlight_off(void);
31
32#endif
diff --git a/firmware/target/arm/as3525/sansa-clipplus/button-clip.c b/firmware/target/arm/as3525/sansa-clipplus/button-clip.c
new file mode 100644
index 0000000000..52917cca6f
--- /dev/null
+++ b/firmware/target/arm/as3525/sansa-clipplus/button-clip.c
@@ -0,0 +1,33 @@
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
9 *
10 * Copyright (C) 2008 François Dinel
11 * Copyright © 2008-2009 Rafaël Carré
12 *
13 * This program is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License
15 * as published by the Free Software Foundation; either version 2
16 * of the License, or (at your option) any later version.
17 *
18 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
19 * KIND, either express or implied.
20 *
21 ****************************************************************************/
22#include "button-target.h"
23#include "as3525v2.h"
24#include "kernel.h"
25
26void button_init_device(void)
27{
28}
29
30int button_read_device(void)
31{
32 return 0;
33}
diff --git a/firmware/target/arm/as3525/sansa-clipplus/button-target.h b/firmware/target/arm/as3525/sansa-clipplus/button-target.h
new file mode 100644
index 0000000000..69f5d984ba
--- /dev/null
+++ b/firmware/target/arm/as3525/sansa-clipplus/button-target.h
@@ -0,0 +1,57 @@
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
9 *
10 * Copyright (C) 2008 François Dinel
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
16 *
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
19 *
20 ****************************************************************************/
21
22#ifndef _BUTTON_TARGET_H_
23#define _BUTTON_TARGET_H_
24
25#include <stdbool.h>
26#include "config.h"
27
28void button_init_device(void);
29int button_read_device(void);
30bool button_hold(void);
31
32/* Main unit's buttons */
33#define BUTTON_HOME 0x00000001
34
35#define BUTTON_VOL_UP 0x00000002
36#define BUTTON_VOL_DOWN 0x00000004
37
38#define BUTTON_UP 0x00000008
39#define BUTTON_DOWN 0x00000010
40#define BUTTON_LEFT 0x00000020
41#define BUTTON_RIGHT 0x00000040
42
43#define BUTTON_SELECT 0x00000080
44
45#define BUTTON_POWER 0x00000100
46
47#define BUTTON_MAIN (BUTTON_HOME|BUTTON_VOL_UP|BUTTON_VOL_DOWN\
48 |BUTTON_UP|BUTTON_DOWN|BUTTON_LEFT|BUTTON_RIGHT\
49 |BUTTON_SELECT|BUTTON_POWER)
50
51#define BUTTON_REMOTE 0
52
53/* Software power-off */
54#define POWEROFF_BUTTON BUTTON_POWER
55#define POWEROFF_COUNT 10
56
57#endif /* _BUTTON_TARGET_H_ */