diff options
author | Rafaël Carré <rafael.carre@gmail.com> | 2009-11-01 22:51:31 +0000 |
---|---|---|
committer | Rafaël Carré <rafael.carre@gmail.com> | 2009-11-01 22:51:31 +0000 |
commit | 9b4057bbd43dfeaf69785605407e4625f01be069 (patch) | |
tree | 5d37bbedfcef2527629b1aae0ed184187832aaab /firmware/export | |
parent | 6cdb80d7df997d3220efe03ea6779ba2c81ddf79 (diff) | |
download | rockbox-9b4057bbd43dfeaf69785605407e4625f01be069.tar.gz rockbox-9b4057bbd43dfeaf69785605407e4625f01be069.zip |
Sansa AMS recording support (Microphone and FM)
Still disabled on all targets:
- Fuze and e200v2 see spurious interrupts with no source defined
- Clip/m200v4 deadlock instantly when starting recording (perhaps due to low memory size)
Having the code in SVN will make working on this feature easier
Also add keymaps for Fuze, and correct Frequency section of recording
options : the 22.05kHz limitation of e200v1 and c200v1 doesn't apply to
Sansa AMS (different I2S hardware, unrelated to as3514)
Flyspray: FS#10371
Authors: Fred Bauer and myself
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23476 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export')
-rw-r--r-- | firmware/export/as3525.h | 11 | ||||
-rw-r--r-- | firmware/export/config-c200v2.h | 12 | ||||
-rw-r--r-- | firmware/export/config-clip.h | 12 | ||||
-rw-r--r-- | firmware/export/config-e200v2.h | 10 | ||||
-rw-r--r-- | firmware/export/config-fuze.h | 10 | ||||
-rw-r--r-- | firmware/export/config-m200v4.h | 12 |
6 files changed, 26 insertions, 41 deletions
diff --git a/firmware/export/as3525.h b/firmware/export/as3525.h index d2b5a4fef2..07f78dafcf 100644 --- a/firmware/export/as3525.h +++ b/firmware/export/as3525.h | |||
@@ -507,4 +507,15 @@ interface */ | |||
507 | #define USB_NUM_ENDPOINTS 4 | 507 | #define USB_NUM_ENDPOINTS 4 |
508 | #define USB_DEVBSS_ATTR IBSS_ATTR | 508 | #define USB_DEVBSS_ATTR IBSS_ATTR |
509 | 509 | ||
510 | /* I2SIN registers */ | ||
511 | |||
512 | #define I2SIN_CONTROL (*(volatile unsigned long*)(I2SIN_BASE+0x00)) | ||
513 | #define I2SIN_MASK (*(volatile unsigned char*)(I2SIN_BASE+0x04)) | ||
514 | #define I2SIN_RAW_STATUS (*(volatile unsigned char*)(I2SIN_BASE+0x08)) | ||
515 | #define I2SIN_STATUS (*(volatile unsigned char*)(I2SIN_BASE+0x0C)) | ||
516 | #define I2SIN_CLEAR (*(volatile unsigned char*)(I2SIN_BASE+0x10)) | ||
517 | #define I2SIN_DATA (volatile unsigned long*)(I2SIN_BASE+0x14) | ||
518 | #define I2SIN_SPDIF_STATUS (*(volatile unsigned long*)(I2SIN_BASE+0x18)) | ||
519 | |||
520 | |||
510 | #endif /*__AS3525_H__*/ | 521 | #endif /*__AS3525_H__*/ |
diff --git a/firmware/export/config-c200v2.h b/firmware/export/config-c200v2.h index d6c2159e8c..2441fe01c5 100644 --- a/firmware/export/config-c200v2.h +++ b/firmware/export/config-c200v2.h | |||
@@ -9,18 +9,12 @@ | |||
9 | #define FIRMWARE_OFFSET_FILE_DATA 8 | 9 | #define FIRMWARE_OFFSET_FILE_DATA 8 |
10 | #define FIRMWARE_OFFSET_FILE_CRC 0 | 10 | #define FIRMWARE_OFFSET_FILE_CRC 0 |
11 | 11 | ||
12 | #if 0 | 12 | #define HW_SAMPR_CAPS SAMPR_CAP_ALL |
13 | |||
14 | #define HW_SAMPR_CAPS (SAMPR_CAP_44) | ||
15 | 13 | ||
16 | /* define this if you have recording possibility */ | 14 | /* define this if you have recording possibility */ |
17 | #define HAVE_RECORDING | 15 | //#define HAVE_RECORDING |
18 | |||
19 | #define REC_SAMPR_CAPS (SAMPR_CAP_22) | ||
20 | #define REC_FREQ_DEFAULT REC_FREQ_22 /* Default is not 44.1kHz */ | ||
21 | #define REC_SAMPR_DEFAULT SAMPR_22 | ||
22 | 16 | ||
23 | #endif | 17 | #define REC_SAMPR_CAPS SAMPR_CAP_ALL |
24 | 18 | ||
25 | /* Define bitmask of input sources - recordable bitmask can be defined | 19 | /* Define bitmask of input sources - recordable bitmask can be defined |
26 | explicitly if different */ | 20 | explicitly if different */ |
diff --git a/firmware/export/config-clip.h b/firmware/export/config-clip.h index 3b82a25159..b57881f794 100644 --- a/firmware/export/config-clip.h +++ b/firmware/export/config-clip.h | |||
@@ -9,18 +9,12 @@ | |||
9 | #define FIRMWARE_OFFSET_FILE_DATA 8 | 9 | #define FIRMWARE_OFFSET_FILE_DATA 8 |
10 | #define FIRMWARE_OFFSET_FILE_CRC 0 | 10 | #define FIRMWARE_OFFSET_FILE_CRC 0 |
11 | 11 | ||
12 | #if 0 /* disabled since there is no driver (yet) */ | 12 | #define HW_SAMPR_CAPS SAMPR_CAP_ALL |
13 | |||
14 | #define HW_SAMPR_CAPS (SAMPR_CAP_44) | ||
15 | 13 | ||
16 | /* define this if you have recording possibility */ | 14 | /* define this if you have recording possibility */ |
17 | #define HAVE_RECORDING | 15 | //#define HAVE_RECORDING |
18 | |||
19 | #define REC_SAMPR_CAPS (SAMPR_CAP_22) | ||
20 | #define REC_FREQ_DEFAULT REC_FREQ_22 /* Default is not 44.1kHz */ | ||
21 | #define REC_SAMPR_DEFAULT SAMPR_22 | ||
22 | 16 | ||
23 | #endif | 17 | #define REC_SAMPR_CAPS SAMPR_CAP_ALL |
24 | 18 | ||
25 | /* Define bitmask of input sources - recordable bitmask can be defined | 19 | /* Define bitmask of input sources - recordable bitmask can be defined |
26 | explicitly if different */ | 20 | explicitly if different */ |
diff --git a/firmware/export/config-e200v2.h b/firmware/export/config-e200v2.h index b108decce6..4dc3e43f2d 100644 --- a/firmware/export/config-e200v2.h +++ b/firmware/export/config-e200v2.h | |||
@@ -7,17 +7,13 @@ | |||
7 | #define MODEL_NUMBER 41 | 7 | #define MODEL_NUMBER 41 |
8 | #define MODEL_NAME "Sandisk Sansa e200v2 series" | 8 | #define MODEL_NAME "Sandisk Sansa e200v2 series" |
9 | 9 | ||
10 | #define HW_SAMPR_CAPS (SAMPR_CAP_44) | 10 | #define HW_SAMPR_CAPS SAMPR_CAP_ALL |
11 | 11 | ||
12 | #if 0 | ||
13 | /* define this if you have recording possibility */ | 12 | /* define this if you have recording possibility */ |
14 | #define HAVE_RECORDING | 13 | //#define HAVE_RECORDING |
15 | 14 | ||
16 | #define REC_SAMPR_CAPS (SAMPR_CAP_22) | 15 | #define REC_SAMPR_CAPS SAMPR_CAP_ALL |
17 | #define REC_FREQ_DEFAULT REC_FREQ_22 /* Default is not 44.1kHz */ | ||
18 | #define REC_SAMPR_DEFAULT SAMPR_22 | ||
19 | 16 | ||
20 | #endif | ||
21 | /* Define bitmask of input sources - recordable bitmask can be defined | 17 | /* Define bitmask of input sources - recordable bitmask can be defined |
22 | explicitly if different */ | 18 | explicitly if different */ |
23 | #define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_FMRADIO) | 19 | #define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_FMRADIO) |
diff --git a/firmware/export/config-fuze.h b/firmware/export/config-fuze.h index def343c680..2a438ec91b 100644 --- a/firmware/export/config-fuze.h +++ b/firmware/export/config-fuze.h | |||
@@ -7,15 +7,12 @@ | |||
7 | #define MODEL_NUMBER 43 | 7 | #define MODEL_NUMBER 43 |
8 | #define MODEL_NAME "Sandisk Sansa Fuze" | 8 | #define MODEL_NAME "Sandisk Sansa Fuze" |
9 | 9 | ||
10 | #define HW_SAMPR_CAPS (SAMPR_CAP_44) | 10 | #define HW_SAMPR_CAPS SAMPR_CAP_ALL |
11 | 11 | ||
12 | #if 0 | ||
13 | /* define this if you have recording possibility */ | 12 | /* define this if you have recording possibility */ |
14 | #define HAVE_RECORDING | 13 | //#define HAVE_RECORDING |
15 | 14 | ||
16 | #define REC_SAMPR_CAPS (SAMPR_CAP_22) | 15 | #define REC_SAMPR_CAPS SAMPR_CAP_ALL |
17 | #define REC_FREQ_DEFAULT REC_FREQ_22 /* Default is not 44.1kHz */ | ||
18 | #define REC_SAMPR_DEFAULT SAMPR_22 | ||
19 | 16 | ||
20 | /* Default recording levels */ | 17 | /* Default recording levels */ |
21 | #define DEFAULT_REC_MIC_GAIN 23 | 18 | #define DEFAULT_REC_MIC_GAIN 23 |
@@ -24,7 +21,6 @@ | |||
24 | 21 | ||
25 | /* Define bitmask of input sources - recordable bitmask can be defined | 22 | /* Define bitmask of input sources - recordable bitmask can be defined |
26 | explicitly if different */ | 23 | explicitly if different */ |
27 | #endif | ||
28 | #define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_FMRADIO) | 24 | #define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_FMRADIO) |
29 | 25 | ||
30 | /* define this if you have a bitmap LCD display */ | 26 | /* define this if you have a bitmap LCD display */ |
diff --git a/firmware/export/config-m200v4.h b/firmware/export/config-m200v4.h index 21038349fd..b734f3e368 100644 --- a/firmware/export/config-m200v4.h +++ b/firmware/export/config-m200v4.h | |||
@@ -11,18 +11,12 @@ | |||
11 | /* Enable FAT16 support */ | 11 | /* Enable FAT16 support */ |
12 | #define HAVE_FAT16SUPPORT | 12 | #define HAVE_FAT16SUPPORT |
13 | 13 | ||
14 | #if 0 /* disabled since there is no driver (yet) */ | 14 | #define HW_SAMPR_CAPS SAMPR_CAP_ALL |
15 | |||
16 | #define HW_SAMPR_CAPS (SAMPR_CAP_44) | ||
17 | 15 | ||
18 | /* define this if you have recording possibility */ | 16 | /* define this if you have recording possibility */ |
19 | #define HAVE_RECORDING | 17 | //#define HAVE_RECORDING |
20 | |||
21 | #define REC_SAMPR_CAPS (SAMPR_CAP_22) | ||
22 | #define REC_FREQ_DEFAULT REC_FREQ_22 /* Default is not 44.1kHz */ | ||
23 | #define REC_SAMPR_DEFAULT SAMPR_22 | ||
24 | 18 | ||
25 | #endif | 19 | #define REC_SAMPR_CAPS SAMPR_CAP_ALL |
26 | 20 | ||
27 | /* Define bitmask of input sources - recordable bitmask can be defined | 21 | /* Define bitmask of input sources - recordable bitmask can be defined |
28 | explicitly if different */ | 22 | explicitly if different */ |