summaryrefslogtreecommitdiff
path: root/firmware/target/arm/archos/av300/power-av300.c
diff options
context:
space:
mode:
authorDave Chapman <dave@dchapman.com>2007-01-14 13:48:09 +0000
committerDave Chapman <dave@dchapman.com>2007-01-14 13:48:09 +0000
commitd64e626387e21dc6a7ab374f17dec1e902cd9779 (patch)
tree6a16bbf5de0becfd6588bff30c11c8ed9fd25c9e /firmware/target/arm/archos/av300/power-av300.c
parent72f1027b3edae94ad9962c654519c2cab8566078 (diff)
downloadrockbox-d64e626387e21dc6a7ab374f17dec1e902cd9779.tar.gz
rockbox-d64e626387e21dc6a7ab374f17dec1e902cd9779.zip
Start of work on a port to the Archos 'AV300' (AV320/340/380) - a working UI simulator (but with a dummy background image for now) and the beginnings of the target-specific firmare code. Port is temporarily using a 2bpp LCD buffer format - the AV300 has a 320x240 colour (YCbCr-based) LCD which will need a new framebuffer format and drawing routines, but the LCD is also capable of various paletted bitmap modes, one of which has an identical framebuffer format to the greyscale ipods. Buttons (and hence the button mappings) are identical to the Archos Recorder, with the exception that the PLAY button on the Recorder is replaced by pressing the joystick on the AV300 (which I call BUTTON_SELECT). The initial port will begin by being strictly HWCODEC, but will evolve to be a hybrid SWCODEC/HWCODEC platform - it has a MAS3587F but also a main CPU (54MHz arm7tdmi plus DSP) capable of software decoding of at least some formats.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12008 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/archos/av300/power-av300.c')
-rw-r--r--firmware/target/arm/archos/av300/power-av300.c97
1 files changed, 97 insertions, 0 deletions
diff --git a/firmware/target/arm/archos/av300/power-av300.c b/firmware/target/arm/archos/av300/power-av300.c
new file mode 100644
index 0000000000..cfdce69b13
--- /dev/null
+++ b/firmware/target/arm/archos/av300/power-av300.c
@@ -0,0 +1,97 @@
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id: power-x5.c 10967 2006-09-17 09:19:50Z jethead71 $
9 *
10 * Based on code from the ArchOpen project - http://www.archopen.org
11 * Adapted for Rockbox in January 2007
12 *
13 * Original files:
14 * lib/target/arch_AV3XX/ata.c
15 *
16 * AvLo - linav project
17 * Copyright (c) 2005 by Christophe THOMAS (oxygen77 at free.fr)
18 *
19 * All files in this archive are subject to the GNU General Public License.
20 * See the file COPYING in the source tree root for full license agreement.
21 *
22 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
23 * KIND, either express or implied.
24 *
25 ****************************************************************************/
26#include "config.h"
27#include "cpu.h"
28#include <stdbool.h>
29#include "kernel.h"
30#include "system.h"
31#include "power.h"
32
33#ifndef SIMULATOR
34
35void power_init(void)
36{
37 /* Charger detect */
38}
39
40bool charger_inserted(void)
41{
42 return false;
43}
44
45void ide_power_enable(bool on)
46{
47 if(on)
48 cpld_set_port_3(CPLD_HD_POWER); /* powering up HD */
49 else
50 cpld_clear_port_3(CPLD_HD_POWER);
51}
52
53bool ide_powered(void)
54{
55 return false;
56}
57
58void power_off(void)
59{
60}
61
62#else
63
64bool charger_inserted(void)
65{
66 return false;
67}
68
69void charger_enable(bool on)
70{
71 (void)on;
72}
73
74void power_off(void)
75{
76}
77
78void ide_power_enable(bool on)
79{
80 (void)on;
81}
82
83#endif /* SIMULATOR */
84
85static bool powered = false;
86
87bool radio_powered()
88{
89 return powered;
90}
91
92bool radio_power(bool status)
93{
94 bool old_status = powered;
95 powered = status;
96 return old_status;
97}