diff options
author | Jens Arnold <amiconn@rockbox.org> | 2007-04-15 23:35:56 +0000 |
---|---|---|
committer | Jens Arnold <amiconn@rockbox.org> | 2007-04-15 23:35:56 +0000 |
commit | 7a5d4011f56334c05b55bb511c2f1f6a4639c8c1 (patch) | |
tree | 402f35138b44ac7bb3b7005fbf58c785cc02c9e5 | |
parent | 36ba4b02bd69dc5fec4cdb6bc4684d77a888bbbe (diff) | |
download | rockbox-7a5d4011f56334c05b55bb511c2f1f6a4639c8c1.tar.gz rockbox-7a5d4011f56334c05b55bb511c2f1f6a4639c8c1.zip |
Moved SH1 ADC to target tree.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13174 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | firmware/SOURCES | 4 | ||||
-rw-r--r-- | firmware/export/adc.h | 44 | ||||
-rw-r--r-- | firmware/target/sh/adc-sh.c (renamed from firmware/drivers/adc.c) | 4 | ||||
-rw-r--r-- | firmware/target/sh/archos/fm_v2/adc-target.h | 39 | ||||
-rw-r--r-- | firmware/target/sh/archos/ondio/adc-target.h | 35 | ||||
-rw-r--r-- | firmware/target/sh/archos/player/adc-target.h | 33 | ||||
-rw-r--r-- | firmware/target/sh/archos/player/button-player.c | 8 | ||||
-rw-r--r-- | firmware/target/sh/archos/recorder/adc-target.h | 39 |
8 files changed, 152 insertions, 54 deletions
diff --git a/firmware/SOURCES b/firmware/SOURCES index 43519ffb3c..86438d43be 100644 --- a/firmware/SOURCES +++ b/firmware/SOURCES | |||
@@ -93,7 +93,6 @@ drivers/lcd-remote-2bit-vi.c | |||
93 | /* Misc. */ | 93 | /* Misc. */ |
94 | drivers/led.c | 94 | drivers/led.c |
95 | #ifndef TARGET_TREE | 95 | #ifndef TARGET_TREE |
96 | drivers/adc.c | ||
97 | drivers/power.c | 96 | drivers/power.c |
98 | #endif /* TARGET_TREE */ | 97 | #endif /* TARGET_TREE */ |
99 | #ifndef SIMULATOR | 98 | #ifndef SIMULATOR |
@@ -232,6 +231,7 @@ drivers/arcotg_udc.c | |||
232 | bitswap.S | 231 | bitswap.S |
233 | descramble.S | 232 | descramble.S |
234 | drivers/i2c.c | 233 | drivers/i2c.c |
234 | target/sh/adc-sh.c | ||
235 | target/sh/crt0.S | 235 | target/sh/crt0.S |
236 | target/sh/memcpy-sh.S | 236 | target/sh/memcpy-sh.S |
237 | target/sh/memmove-sh.S | 237 | target/sh/memmove-sh.S |
@@ -328,7 +328,7 @@ target/sh/archos/player/usb-player.c | |||
328 | target/sh/archos/ata-archos.c | 328 | target/sh/archos/ata-archos.c |
329 | target/sh/archos/ata-as-archos.S | 329 | target/sh/archos/ata-as-archos.S |
330 | target/sh/archos/lcd-archos-bitmap.c | 330 | target/sh/archos/lcd-archos-bitmap.c |
331 | target/sh/archos/lcd-as-archos-bitmap.S | 331 | target/sh/archos/lcd-as-archos-bitmap.S |
332 | target/sh/archos/recorder/button-recorder.c | 332 | target/sh/archos/recorder/button-recorder.c |
333 | target/sh/archos/recorder/usb-recorder.c | 333 | target/sh/archos/recorder/usb-recorder.c |
334 | #endif /* SIMULATOR */ | 334 | #endif /* SIMULATOR */ |
diff --git a/firmware/export/adc.h b/firmware/export/adc.h index d8e3b7078f..e10cce0d27 100644 --- a/firmware/export/adc.h +++ b/firmware/export/adc.h | |||
@@ -20,52 +20,8 @@ | |||
20 | #define _ADC_H_ | 20 | #define _ADC_H_ |
21 | 21 | ||
22 | #include "config.h" | 22 | #include "config.h" |
23 | |||
24 | #ifdef TARGET_TREE | ||
25 | #include "adc-target.h" | 23 | #include "adc-target.h" |
26 | 24 | ||
27 | #else | ||
28 | |||
29 | #define NUM_ADC_CHANNELS 8 | ||
30 | |||
31 | #ifdef HAVE_ONDIO_ADC | ||
32 | |||
33 | #define ADC_MMC_SWITCH 0 /* low values if MMC inserted */ | ||
34 | #define ADC_USB_POWER 1 /* USB, reads 0x000 when USB is inserted */ | ||
35 | #define ADC_BUTTON_OPTION 2 /* the option button, low value if pressed */ | ||
36 | #define ADC_BUTTON_ONOFF 3 /* the on/off button, high value if pressed */ | ||
37 | #define ADC_BUTTON_ROW1 4 /* Used for scanning the keys, different | ||
38 | voltages for different keys */ | ||
39 | #define ADC_USB_ACTIVE 5 /* USB bridge activity */ | ||
40 | #define ADC_UNREG_POWER 7 /* Battery voltage */ | ||
41 | |||
42 | #else | ||
43 | /* normal JBR channel assignment */ | ||
44 | #define ADC_BATTERY 0 /* Battery voltage always reads 0x3FF due to | ||
45 | silly scaling */ | ||
46 | #ifdef HAVE_FMADC | ||
47 | #define ADC_CHARGE_REGULATOR 0 /* Uh, we read the battery voltage? */ | ||
48 | #define ADC_USB_POWER 1 /* USB, reads 0x000 when USB is inserted */ | ||
49 | #define ADC_BUTTON_OFF 2 /* the off button, high value if pressed */ | ||
50 | #define ADC_BUTTON_ON 3 /* the on button, low value if pressed */ | ||
51 | #else | ||
52 | #define ADC_CHARGE_REGULATOR 1 /* Regulator reference voltage, should read | ||
53 | about 0x1c0 when charging, else 0x3FF */ | ||
54 | #define ADC_USB_POWER 2 /* USB, reads 0x3FF when USB is inserted */ | ||
55 | #endif | ||
56 | |||
57 | #define ADC_BUTTON_ROW1 4 /* Used for scanning the keys, different | ||
58 | voltages for different keys */ | ||
59 | #define ADC_BUTTON_ROW2 5 /* Used for scanning the keys, different | ||
60 | voltages for different keys */ | ||
61 | #define ADC_UNREG_POWER 6 /* Battery voltage with a better scaling */ | ||
62 | #define ADC_EXT_POWER 7 /* The external power voltage, 0v or 2.7v */ | ||
63 | |||
64 | #endif | ||
65 | |||
66 | #define EXT_SCALE_FACTOR 14800 | ||
67 | #endif | ||
68 | |||
69 | unsigned short adc_read(int channel); | 25 | unsigned short adc_read(int channel); |
70 | void adc_init(void); | 26 | void adc_init(void); |
71 | 27 | ||
diff --git a/firmware/drivers/adc.c b/firmware/target/sh/adc-sh.c index f002be96b4..d36624f913 100644 --- a/firmware/drivers/adc.c +++ b/firmware/target/sh/adc-sh.c | |||
@@ -23,9 +23,7 @@ | |||
23 | #include "thread.h" | 23 | #include "thread.h" |
24 | #include "string.h" | 24 | #include "string.h" |
25 | #include "adc.h" | 25 | #include "adc.h" |
26 | #include "pcf50606.h" | ||
27 | 26 | ||
28 | #if CONFIG_CPU == SH7034 | ||
29 | /************************************************************************** | 27 | /************************************************************************** |
30 | ** The A/D conversion is done every tick, in three steps: | 28 | ** The A/D conversion is done every tick, in three steps: |
31 | ** | 29 | ** |
@@ -108,5 +106,3 @@ void adc_init(void) | |||
108 | 106 | ||
109 | sleep(2); /* Ensure valid readings when adc_init returns */ | 107 | sleep(2); /* Ensure valid readings when adc_init returns */ |
110 | } | 108 | } |
111 | |||
112 | #endif | ||
diff --git a/firmware/target/sh/archos/fm_v2/adc-target.h b/firmware/target/sh/archos/fm_v2/adc-target.h new file mode 100644 index 0000000000..e4f24c88ce --- /dev/null +++ b/firmware/target/sh/archos/fm_v2/adc-target.h | |||
@@ -0,0 +1,39 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2002 by Linus Nielsen Feltzing | ||
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 | #ifndef _ADC_TARGET_H_ | ||
20 | #define _ADC_TARGET_H_ | ||
21 | |||
22 | #define NUM_ADC_CHANNELS 8 | ||
23 | |||
24 | #define ADC_BATTERY 0 /* Battery voltage always reads 0x3FF due to | ||
25 | silly scaling */ | ||
26 | #define ADC_CHARGE_REGULATOR 0 /* Uh, we read the battery voltage? */ | ||
27 | #define ADC_USB_POWER 1 /* USB, reads 0x000 when USB is inserted */ | ||
28 | #define ADC_BUTTON_OFF 2 /* the off button, high value if pressed */ | ||
29 | #define ADC_BUTTON_ON 3 /* the on button, low value if pressed */ | ||
30 | #define ADC_BUTTON_ROW1 4 /* Used for scanning the keys, different | ||
31 | voltages for different keys */ | ||
32 | #define ADC_BUTTON_ROW2 5 /* Used for scanning the keys, different | ||
33 | voltages for different keys */ | ||
34 | #define ADC_UNREG_POWER 6 /* Battery voltage with a better scaling */ | ||
35 | #define ADC_EXT_POWER 7 /* The external power voltage, 0v or 2.7v */ | ||
36 | |||
37 | #define EXT_SCALE_FACTOR 14800 | ||
38 | |||
39 | #endif /* _ADC_TARGET_H_ */ | ||
diff --git a/firmware/target/sh/archos/ondio/adc-target.h b/firmware/target/sh/archos/ondio/adc-target.h new file mode 100644 index 0000000000..ee9ca4a7c8 --- /dev/null +++ b/firmware/target/sh/archos/ondio/adc-target.h | |||
@@ -0,0 +1,35 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2002 by Linus Nielsen Feltzing | ||
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 | #ifndef _ADC_TARGET_H_ | ||
20 | #define _ADC_TARGET_H_ | ||
21 | |||
22 | #define NUM_ADC_CHANNELS 8 | ||
23 | |||
24 | #define ADC_MMC_SWITCH 0 /* low values if MMC inserted */ | ||
25 | #define ADC_USB_POWER 1 /* USB, reads 0x000 when USB is inserted */ | ||
26 | #define ADC_BUTTON_OPTION 2 /* the option button, low value if pressed */ | ||
27 | #define ADC_BUTTON_ONOFF 3 /* the on/off button, high value if pressed */ | ||
28 | #define ADC_BUTTON_ROW1 4 /* Used for scanning the keys, different | ||
29 | voltages for different keys */ | ||
30 | #define ADC_USB_ACTIVE 5 /* USB bridge activity */ | ||
31 | #define ADC_UNREG_POWER 7 /* Battery voltage */ | ||
32 | |||
33 | #define EXT_SCALE_FACTOR 14800 | ||
34 | |||
35 | #endif /* _ADC_TARGET_H_ */ | ||
diff --git a/firmware/target/sh/archos/player/adc-target.h b/firmware/target/sh/archos/player/adc-target.h new file mode 100644 index 0000000000..21969dbec7 --- /dev/null +++ b/firmware/target/sh/archos/player/adc-target.h | |||
@@ -0,0 +1,33 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2002 by Linus Nielsen Feltzing | ||
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 | #ifndef _ADC_TARGET_H_ | ||
20 | #define _ADC_TARGET_H_ | ||
21 | |||
22 | #define NUM_ADC_CHANNELS 8 | ||
23 | |||
24 | #define ADC_BUTTON_LEFT 0 | ||
25 | #define ADC_BUTTON_MENU 1 | ||
26 | #define ADC_BUTTON_RIGHT 2 | ||
27 | #define ADC_BUTTON_PLAY 3 | ||
28 | #define ADC_UNREG_POWER 6 /* Battery voltage with a better scaling */ | ||
29 | #define ADC_EXT_POWER 7 /* The external power voltage, 0v or 2.7v */ | ||
30 | |||
31 | #define EXT_SCALE_FACTOR 14800 | ||
32 | |||
33 | #endif /* _ADC_TARGET_H_ */ | ||
diff --git a/firmware/target/sh/archos/player/button-player.c b/firmware/target/sh/archos/player/button-player.c index fbc940f7de..f979e76575 100644 --- a/firmware/target/sh/archos/player/button-player.c +++ b/firmware/target/sh/archos/player/button-player.c | |||
@@ -54,13 +54,13 @@ int button_read_device(void) | |||
54 | int data; | 54 | int data; |
55 | 55 | ||
56 | /* buttons are active low */ | 56 | /* buttons are active low */ |
57 | if (adc_read(0) < 0x180) | 57 | if (adc_read(ADC_BUTTON_LEFT) < 0x180) |
58 | btn = BUTTON_LEFT; | 58 | btn = BUTTON_LEFT; |
59 | if (adc_read(1) < 0x180) | 59 | if (adc_read(ADC_BUTTON_MENU) < 0x180) |
60 | btn |= BUTTON_MENU; | 60 | btn |= BUTTON_MENU; |
61 | if (adc_read(2) < 0x180) | 61 | if (adc_read(ADC_BUTTON_RIGHT) < 0x180) |
62 | btn |= BUTTON_RIGHT; | 62 | btn |= BUTTON_RIGHT; |
63 | if (adc_read(3) < 0x180) | 63 | if (adc_read(ADC_BUTTON_PLAY) < 0x180) |
64 | btn |= BUTTON_PLAY; | 64 | btn |= BUTTON_PLAY; |
65 | 65 | ||
66 | /* check port A pins for ON and STOP */ | 66 | /* check port A pins for ON and STOP */ |
diff --git a/firmware/target/sh/archos/recorder/adc-target.h b/firmware/target/sh/archos/recorder/adc-target.h new file mode 100644 index 0000000000..9d7230d2cb --- /dev/null +++ b/firmware/target/sh/archos/recorder/adc-target.h | |||
@@ -0,0 +1,39 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2002 by Linus Nielsen Feltzing | ||
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 | #ifndef _ADC_TARGET_H_ | ||
20 | #define _ADC_TARGET_H_ | ||
21 | |||
22 | #define NUM_ADC_CHANNELS 8 | ||
23 | |||
24 | /* normal JBR channel assignment */ | ||
25 | #define ADC_BATTERY 0 /* Battery voltage always reads 0x3FF due to | ||
26 | silly scaling */ | ||
27 | #define ADC_CHARGE_REGULATOR 1 /* Regulator reference voltage, should read | ||
28 | about 0x1c0 when charging, else 0x3FF */ | ||
29 | #define ADC_USB_POWER 2 /* USB, reads 0x3FF when USB is inserted */ | ||
30 | #define ADC_BUTTON_ROW1 4 /* Used for scanning the keys, different | ||
31 | voltages for different keys */ | ||
32 | #define ADC_BUTTON_ROW2 5 /* Used for scanning the keys, different | ||
33 | voltages for different keys */ | ||
34 | #define ADC_UNREG_POWER 6 /* Battery voltage with a better scaling */ | ||
35 | #define ADC_EXT_POWER 7 /* The external power voltage, 0v or 2.7v */ | ||
36 | |||
37 | #define EXT_SCALE_FACTOR 14800 | ||
38 | |||
39 | #endif /* _ADC_TARGET_H_ */ | ||