summaryrefslogtreecommitdiff
path: root/firmware/export
diff options
context:
space:
mode:
authorBob Cousins <bobc@rockbox.org>2009-11-01 22:58:08 +0000
committerBob Cousins <bobc@rockbox.org>2009-11-01 22:58:08 +0000
commit33040275cfccdc1f1c33e0a9ef3b5a2b88aa3679 (patch)
treeb985669b775e9f482ca1d724f09d8a5cc74cd1cb /firmware/export
parent5d40b9a24a5ffe096691fbc117c718561d4bb30c (diff)
downloadrockbox-33040275cfccdc1f1c33e0a9ef3b5a2b88aa3679.tar.gz
rockbox-33040275cfccdc1f1c33e0a9ef3b5a2b88aa3679.zip
Improvements to mini2440/UDA1341 audio
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23478 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export')
-rw-r--r--firmware/export/uda1341.h35
1 files changed, 28 insertions, 7 deletions
diff --git a/firmware/export/uda1341.h b/firmware/export/uda1341.h
index dcbbeef8e5..a43d33a137 100644
--- a/firmware/export/uda1341.h
+++ b/firmware/export/uda1341.h
@@ -26,7 +26,7 @@
26#define VOLUME_MIN -840 26#define VOLUME_MIN -840
27#define VOLUME_MAX 0 27#define VOLUME_MAX 0
28 28
29#define AUDIOHW_CAPS (BASS_CAP | TREBLE_CAP | PRESCALER_CAP) 29#define AUDIOHW_CAPS (BASS_CAP | TREBLE_CAP)
30 30
31extern int tenthdb2master(int db); 31extern int tenthdb2master(int db);
32extern int tenthdb2mixer(int db); 32extern int tenthdb2mixer(int db);
@@ -34,6 +34,23 @@ extern int tenthdb2mixer(int db);
34extern void audiohw_set_master_vol(int vol_l, int vol_r); 34extern void audiohw_set_master_vol(int vol_l, int vol_r);
35extern void audiohw_set_mixer_vol(int channel1, int channel2); 35extern void audiohw_set_mixer_vol(int channel1, int channel2);
36 36
37/* These are logical register numbers for driver */
38enum uda_register {
39 UDA_REG_ID_STATUS_0,
40 UDA_REG_ID_STATUS_1,
41 UDA_REG_ID_CTRL0,
42 UDA_REG_ID_CTRL1,
43 UDA_REG_ID_CTRL2,
44 UDA_REG_ID_EXT_0,
45 UDA_REG_ID_EXT_1,
46 UDA_REG_ID_EXT_2,
47 UDA_REG_ID_EXT_4,
48 UDA_REG_ID_EXT_5,
49 UDA_REG_ID_EXT_6,
50 NUM_REG_ID
51};
52
53
37/* Address byte */ 54/* Address byte */
38#define UDA1341_ADDR 0x14 55#define UDA1341_ADDR 0x14
39#define UDA_REG_DATA0 0x00 56#define UDA_REG_DATA0 0x00
@@ -67,23 +84,27 @@ extern void audiohw_set_mixer_vol(int channel1, int channel2);
67#define UDA_POWER_DAC_ON (1 << 0) 84#define UDA_POWER_DAC_ON (1 << 0)
68 85
69/* DATA0 */ 86/* DATA0 */
70#define UDA_DATA_CTRL0 (0 << 6) 87#define UDA_DATA_CTRL0 (0 << 6) /* volume */
71#define UDA_DATA_CTRL1 (1 << 6) 88#define UDA_DATA_CTRL1 (1 << 6) /* bass, treble */
72#define UDA_DATA_CTRL2 (2 << 6) 89#define UDA_DATA_CTRL2 (2 << 6) /* peak det pos, de-emp, mute */
73#define UDA_DATA_EXT_ADDR (6 << 5) 90#define UDA_DATA_EXT_ADDR (6 << 5)
74#define UDA_DATA_EXT_DATA (7 << 5) 91#define UDA_DATA_EXT_DATA (7 << 5)
75 92
76#define UDA_VOLUME(x) ((x) << 8) /* 1=0dB, 61=-60dB */ 93#define UDA_VOLUME(x) ((x) << 0) /* 1=0dB, 61=-60dB */
77 94
78#define UDA_BASS_BOOST(x) ((x) << 2) /* see datasheet */ 95#define UDA_BASS_BOOST(x) ((x) << 2) /* see datasheet */
96#define UDA_BASS_BOOST_MASK 0x0F
79#define UDA_TREBLE(x) ((x) << 0) /* see datasheet */ 97#define UDA_TREBLE(x) ((x) << 0) /* see datasheet */
98#define UDA_TREBLE_MASK 0x03
80 99
81#define UDA_PEAK_DETECT_POS (1 << 5) 100#define UDA_PEAK_DETECT_POS_BEFORE (0 << 5)
101#define UDA_PEAK_DETECT_POS_AFTER (1 << 5)
82#define UDA_DE_EMPHASIS_NONE (0 << 3) 102#define UDA_DE_EMPHASIS_NONE (0 << 3)
83#define UDA_DE_EMPHASIS_32 (1 << 3) 103#define UDA_DE_EMPHASIS_32 (1 << 3)
84#define UDA_DE_EMPHASIS_44_1 (2 << 3) 104#define UDA_DE_EMPHASIS_44_1 (2 << 3)
85#define UDA_DE_EMPHASIS_48 (3 << 3) 105#define UDA_DE_EMPHASIS_48 (3 << 3)
86#define UDA_MUTE (1 << 2) 106#define UDA_MUTE_ON (1 << 2)
107#define UDA_MUTE_OFF (0 << 2)
87#define UDA_MODE_SWITCH_FLAT (0 << 0) 108#define UDA_MODE_SWITCH_FLAT (0 << 0)
88#define UDA_MODE_SWITCH_MIN (1 << 0) 109#define UDA_MODE_SWITCH_MIN (1 << 0)
89#define UDA_MODE_SWITCH_MAX (3 << 0) 110#define UDA_MODE_SWITCH_MAX (3 << 0)