diff options
author | Dave Chapman <dave@dchapman.com> | 2008-05-02 19:12:09 +0000 |
---|---|---|
committer | Dave Chapman <dave@dchapman.com> | 2008-05-02 19:12:09 +0000 |
commit | f2042983f08cd49404be0b6916fc73d778fe8dba (patch) | |
tree | 33a84414ca4d94770f900e92074c18ecadf23ed7 /firmware/drivers | |
parent | 4cf4b5c2aef075b719e834f30d17c0986fadb658 (diff) | |
download | rockbox-f2042983f08cd49404be0b6916fc73d778fe8dba.tar.gz rockbox-f2042983f08cd49404be0b6916fc73d778fe8dba.zip |
Add the Sansa M200 (v1) as a target - it's extremely similar to the Logik DAX (the LCD driver worked unchanged). Plus various tcc77x work, including a working tick interrupt (enabled in the bootloader). Rockbox itself builds for the M200 (there are no keymaps yet for the DAX), but doesn't progress very far due to the lack of an ATA (NAND flash) driver.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17306 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/drivers')
-rw-r--r-- | firmware/drivers/audio/tlv320.c | 6 | ||||
-rw-r--r-- | firmware/drivers/rtc/rtc_tcc77x.c | 75 |
2 files changed, 81 insertions, 0 deletions
diff --git a/firmware/drivers/audio/tlv320.c b/firmware/drivers/audio/tlv320.c index c0f37302fc..6a22ab1c74 100644 --- a/firmware/drivers/audio/tlv320.c +++ b/firmware/drivers/audio/tlv320.c | |||
@@ -21,7 +21,9 @@ | |||
21 | #include "string.h" | 21 | #include "string.h" |
22 | #include "audio.h" | 22 | #include "audio.h" |
23 | 23 | ||
24 | #ifdef CPU_COLDFIRE | ||
24 | #include "i2c-coldfire.h" | 25 | #include "i2c-coldfire.h" |
26 | #endif | ||
25 | #include "audiohw.h" | 27 | #include "audiohw.h" |
26 | 28 | ||
27 | const struct sound_settings_info audiohw_settings[] = { | 29 | const struct sound_settings_info audiohw_settings[] = { |
@@ -73,7 +75,11 @@ static void tlv320_write_reg(unsigned reg, unsigned value) | |||
73 | data[0] = (reg << 1) | ((value >> 8) & 1); | 75 | data[0] = (reg << 1) | ((value >> 8) & 1); |
74 | data[1] = value; | 76 | data[1] = value; |
75 | 77 | ||
78 | #ifdef CPU_COLDFIRE | ||
76 | if (i2c_write(I2C_IFACE_0, TLV320_ADDR, data, 2) != 2) | 79 | if (i2c_write(I2C_IFACE_0, TLV320_ADDR, data, 2) != 2) |
80 | #else | ||
81 | #warning Implement tlv320_write_reg() | ||
82 | #endif | ||
77 | { | 83 | { |
78 | logf("tlv320 error reg=0x%x", reg); | 84 | logf("tlv320 error reg=0x%x", reg); |
79 | return; | 85 | return; |
diff --git a/firmware/drivers/rtc/rtc_tcc77x.c b/firmware/drivers/rtc/rtc_tcc77x.c new file mode 100644 index 0000000000..140adbc27b --- /dev/null +++ b/firmware/drivers/rtc/rtc_tcc77x.c | |||
@@ -0,0 +1,75 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2008 by Dave Chapman | ||
11 | * | ||
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. | ||
14 | * | ||
15 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
16 | * KIND, either express or implied. | ||
17 | * | ||
18 | ****************************************************************************/ | ||
19 | #include "config.h" | ||
20 | #include "rtc.h" | ||
21 | #include "system.h" | ||
22 | #include <stdbool.h> | ||
23 | |||
24 | void rtc_init(void) | ||
25 | { | ||
26 | } | ||
27 | |||
28 | int rtc_read_datetime(unsigned char* buf) | ||
29 | { | ||
30 | |||
31 | } | ||
32 | |||
33 | int rtc_write_datetime(unsigned char* buf) | ||
34 | { | ||
35 | return 1; | ||
36 | } | ||
37 | |||
38 | /** | ||
39 | * Checks to see if an alarm interrupt has triggered since last we checked. | ||
40 | */ | ||
41 | bool rtc_check_alarm_flag(void) | ||
42 | { | ||
43 | |||
44 | } | ||
45 | |||
46 | /** | ||
47 | * Enables or disables the alarm. | ||
48 | */ | ||
49 | bool rtc_enable_alarm(bool enable) | ||
50 | { | ||
51 | } | ||
52 | |||
53 | /** | ||
54 | * Check if alarm caused unit to start. | ||
55 | */ | ||
56 | bool rtc_check_alarm_started(bool release_alarm) | ||
57 | { | ||
58 | } | ||
59 | |||
60 | void rtc_set_alarm(int h, int m) | ||
61 | { | ||
62 | /* Convert to BCD */ | ||
63 | // pcf50605_write(0x12, ((m/10) << 4) | m%10); | ||
64 | // pcf50605_write(0x13, ((h/10) << 4) | h%10); | ||
65 | } | ||
66 | |||
67 | void rtc_get_alarm(int *h, int *m) | ||
68 | { | ||
69 | char buf[2]; | ||
70 | |||
71 | /* Convert from BCD */ | ||
72 | // *m = ((buf[0] >> 4) & 0x7)*10 + (buf[0] & 0x0f); | ||
73 | // *h = ((buf[1] >> 4) & 0x3)*10 + (buf[1] & 0x0f); | ||
74 | } | ||
75 | |||