diff options
Diffstat (limited to 'firmware/export')
-rw-r--r-- | firmware/export/uda1341.h | 35 |
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 | ||
31 | extern int tenthdb2master(int db); | 31 | extern int tenthdb2master(int db); |
32 | extern int tenthdb2mixer(int db); | 32 | extern int tenthdb2mixer(int db); |
@@ -34,6 +34,23 @@ extern int tenthdb2mixer(int db); | |||
34 | extern void audiohw_set_master_vol(int vol_l, int vol_r); | 34 | extern void audiohw_set_master_vol(int vol_l, int vol_r); |
35 | extern void audiohw_set_mixer_vol(int channel1, int channel2); | 35 | extern void audiohw_set_mixer_vol(int channel1, int channel2); |
36 | 36 | ||
37 | /* These are logical register numbers for driver */ | ||
38 | enum 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) |