summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomer Shalev <shalev.tomer@gmail.com>2009-10-01 05:25:20 +0000
committerTomer Shalev <shalev.tomer@gmail.com>2009-10-01 05:25:20 +0000
commit4221a7f22f4cf75f229fa47b6ec43c99c98044d5 (patch)
tree2ae480a8d0ab5c176706d4a6ca552849f28b0f27
parent1c36835b807c50587e660568327e73e3067a4356 (diff)
downloadrockbox-4221a7f22f4cf75f229fa47b6ec43c99c98044d5.tar.gz
rockbox-4221a7f22f4cf75f229fa47b6ec43c99c98044d5.zip
FS#9157 - Tidy up some MAS35XX constants
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22865 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/drivers/audio/mas35xx.c26
-rw-r--r--firmware/export/mas.h25
2 files changed, 32 insertions, 19 deletions
diff --git a/firmware/drivers/audio/mas35xx.c b/firmware/drivers/audio/mas35xx.c
index ae94cbacf0..342d8a3c2e 100644
--- a/firmware/drivers/audio/mas35xx.c
+++ b/firmware/drivers/audio/mas35xx.c
@@ -31,7 +31,7 @@ const struct sound_settings_info audiohw_settings[] = {
31 [SOUND_VOLUME] = {"dB", 0, 1,-100, 12, -25}, 31 [SOUND_VOLUME] = {"dB", 0, 1,-100, 12, -25},
32 [SOUND_BASS] = {"dB", 0, 1, -12, 12, 6}, 32 [SOUND_BASS] = {"dB", 0, 1, -12, 12, 6},
33 [SOUND_TREBLE] = {"dB", 0, 1, -12, 12, 6}, 33 [SOUND_TREBLE] = {"dB", 0, 1, -12, 12, 6},
34#else /* MAS3507D */ 34#elif CONFIG_CODEC == MAS3507D
35 [SOUND_VOLUME] = {"dB", 0, 1, -78, 18, -18}, 35 [SOUND_VOLUME] = {"dB", 0, 1, -78, 18, -18},
36 [SOUND_BASS] = {"dB", 0, 1, -15, 15, 7}, 36 [SOUND_BASS] = {"dB", 0, 1, -15, 15, 7},
37 [SOUND_TREBLE] = {"dB", 0, 1, -15, 15, 7}, 37 [SOUND_TREBLE] = {"dB", 0, 1, -15, 15, 7},
@@ -68,6 +68,7 @@ static void set_channel_config(void)
68 unsigned long val_lr = 0; 68 unsigned long val_lr = 0;
69 unsigned long val_rl = 0; 69 unsigned long val_rl = 0;
70 unsigned long val_rr = 0x80000; 70 unsigned long val_rr = 0x80000;
71 int bank;
71 72
72 switch(channel_configuration) 73 switch(channel_configuration)
73 { 74 {
@@ -127,16 +128,15 @@ static void set_channel_config(void)
127 } 128 }
128 129
129#if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F) 130#if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F)
130 mas_writemem(MAS_BANK_D0, MAS_D0_OUT_LL, &val_ll, 1); /* LL */ 131 bank = MAS_BANK_D0;
131 mas_writemem(MAS_BANK_D0, MAS_D0_OUT_LR, &val_lr, 1); /* LR */
132 mas_writemem(MAS_BANK_D0, MAS_D0_OUT_RL, &val_rl, 1); /* RL */
133 mas_writemem(MAS_BANK_D0, MAS_D0_OUT_RR, &val_rr, 1); /* RR */
134#elif CONFIG_CODEC == MAS3507D 132#elif CONFIG_CODEC == MAS3507D
135 mas_writemem(MAS_BANK_D1, 0x7f8, &val_ll, 1); /* LL */ 133 bank = MAS_BANK_D1;
136 mas_writemem(MAS_BANK_D1, 0x7f9, &val_lr, 1); /* LR */
137 mas_writemem(MAS_BANK_D1, 0x7fa, &val_rl, 1); /* RL */
138 mas_writemem(MAS_BANK_D1, 0x7fb, &val_rr, 1); /* RR */
139#endif 134#endif
135
136 mas_writemem(bank, MAS_D0_OUT_LL, &val_ll, 1); /* LL */
137 mas_writemem(bank, MAS_D0_OUT_LR, &val_lr, 1); /* LR */
138 mas_writemem(bank, MAS_D0_OUT_RL, &val_rl, 1); /* RL */
139 mas_writemem(bank, MAS_D0_OUT_RR, &val_rr, 1); /* RR */
140} 140}
141 141
142void audiohw_set_channel(int val) 142void audiohw_set_channel(int val)
@@ -157,7 +157,7 @@ void audiohw_set_bass(int val)
157{ 157{
158#if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F) 158#if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F)
159 unsigned tmp = ((unsigned)(val * 8) & 0xff) << 8; 159 unsigned tmp = ((unsigned)(val * 8) & 0xff) << 8;
160 mas_codec_writereg(0x14, tmp); 160 mas_codec_writereg(MAS_REG_KBASS, tmp);
161#elif CONFIG_CODEC == MAS3507D 161#elif CONFIG_CODEC == MAS3507D
162 mas_writereg(MAS_REG_KBASS, bass_table[val+15]); 162 mas_writereg(MAS_REG_KBASS, bass_table[val+15]);
163#endif 163#endif
@@ -174,7 +174,7 @@ void audiohw_set_treble(int val)
174{ 174{
175#if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F) 175#if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F)
176 unsigned tmp = ((unsigned)(val * 8) & 0xff) << 8; 176 unsigned tmp = ((unsigned)(val * 8) & 0xff) << 8;
177 mas_codec_writereg(0x15, tmp); 177 mas_codec_writereg(MAS_REG_KTREBLE, tmp);
178#elif CONFIG_CODEC == MAS3507D 178#elif CONFIG_CODEC == MAS3507D
179 mas_writereg(MAS_REG_KTREBLE, treble_table[val+15]); 179 mas_writereg(MAS_REG_KTREBLE, treble_table[val+15]);
180#endif 180#endif
@@ -183,11 +183,11 @@ void audiohw_set_treble(int val)
183#if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F) 183#if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F)
184void audiohw_set_volume(int val) { 184void audiohw_set_volume(int val) {
185 unsigned tmp = ((unsigned)(val + 115) & 0xff) << 8; 185 unsigned tmp = ((unsigned)(val + 115) & 0xff) << 8;
186 mas_codec_writereg(0x10, tmp); 186 mas_codec_writereg(MAS_REG_VOLUME_CONTROL, tmp);
187} 187}
188 188
189void audiohw_set_balance(int val) { 189void audiohw_set_balance(int val) {
190 unsigned tmp = ((unsigned)(val * 127 / 100) & 0xff) << 8; 190 unsigned tmp = ((unsigned)(val * 127 / 100) & 0xff) << 8;
191 mas_codec_writereg(0x11, tmp); 191 mas_codec_writereg(MAS_REG_BALANCE, tmp);
192} 192}
193#endif 193#endif
diff --git a/firmware/export/mas.h b/firmware/export/mas.h
index 493ed6a63c..3cc9d3a34c 100644
--- a/firmware/export/mas.h
+++ b/firmware/export/mas.h
@@ -33,7 +33,8 @@
33#define MAS_ADR 0x3c 33#define MAS_ADR 0x3c
34#define MAS_DEV_WRITE (MAS_ADR | 0x00) 34#define MAS_DEV_WRITE (MAS_ADR | 0x00)
35#define MAS_DEV_READ (MAS_ADR | 0x01) 35#define MAS_DEV_READ (MAS_ADR | 0x01)
36#else 36
37#elif CONFIG_CODEC == MAS3507D
37#define MAS_ADR 0x3a 38#define MAS_ADR 0x3a
38#define MAS_DEV_WRITE (MAS_ADR | 0x00) 39#define MAS_DEV_WRITE (MAS_ADR | 0x00)
39#define MAS_DEV_READ (MAS_ADR | 0x01) 40#define MAS_DEV_READ (MAS_ADR | 0x01)
@@ -48,7 +49,8 @@
48#define MAS_CONTROL 0x6a 49#define MAS_CONTROL 0x6a
49#define MAS_DCCF 0x76 50#define MAS_DCCF 0x76
50#define MAS_DCFR 0x77 51#define MAS_DCFR 0x77
51#else 52
53#elif CONFIG_CODEC == MAS3507D
52#define MAS_DATA_WRITE 0x68 54#define MAS_DATA_WRITE 0x68
53#define MAS_DATA_READ 0x69 55#define MAS_DATA_READ 0x69
54#define MAS_CONTROL 0x6a 56#define MAS_CONTROL 0x6a
@@ -62,8 +64,6 @@
62#define MAS_REG_PIODATA 0xc8 64#define MAS_REG_PIODATA 0xc8
63#define MAS_REG_StartUpConfig 0xe6 65#define MAS_REG_StartUpConfig 0xe6
64#define MAS_REG_KPRESCALE 0xe7 66#define MAS_REG_KPRESCALE 0xe7
65#define MAS_REG_KBASS 0x6b
66#define MAS_REG_KTREBLE 0x6f
67#if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F) 67#if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F)
68#define MAS_REG_KMDB_SWITCH 0x21 68#define MAS_REG_KMDB_SWITCH 0x21
69#define MAS_REG_KMDB_STR 0x22 69#define MAS_REG_KMDB_STR 0x22
@@ -74,7 +74,15 @@
74#define MAS_REG_QPEAK_R 0x0b 74#define MAS_REG_QPEAK_R 0x0b
75#define MAS_REG_DQPEAK_L 0x0c 75#define MAS_REG_DQPEAK_L 0x0c
76#define MAS_REG_DQPEAK_R 0x0d 76#define MAS_REG_DQPEAK_R 0x0d
77#define MAS_REG_VOLUME_CONTROL 0x10
78#define MAS_REG_BALANCE 0x11
77#define MAS_REG_KAVC 0x12 79#define MAS_REG_KAVC 0x12
80#define MAS_REG_KBASS 0x14
81#define MAS_REG_KTREBLE 0x15
82
83#elif CONFIG_CODEC == MAS3507D
84#define MAS_REG_KBASS 0x6b
85#define MAS_REG_KTREBLE 0x6f
78#endif 86#endif
79 87
80/* 88/*
@@ -90,7 +98,8 @@
90#define MAS_CMD_READ_D1_MEM 0xd0 98#define MAS_CMD_READ_D1_MEM 0xd0
91#define MAS_CMD_WRITE_D0_MEM 0xe0 99#define MAS_CMD_WRITE_D0_MEM 0xe0
92#define MAS_CMD_WRITE_D1_MEM 0xf0 100#define MAS_CMD_WRITE_D1_MEM 0xf0
93#else 101
102#elif CONFIG_CODEC == MAS3507D
94#define MAS_CMD_READ_ANCILLARY 0x30 103#define MAS_CMD_READ_ANCILLARY 0x30
95#define MAS_CMD_WRITE_REG 0x90 104#define MAS_CMD_WRITE_REG 0x90
96#define MAS_CMD_WRITE_D0_MEM 0xa0 105#define MAS_CMD_WRITE_D0_MEM 0xa0
@@ -141,11 +150,15 @@
141#define MAS_D0_MPEG_STATUS_2 0xfd2 150#define MAS_D0_MPEG_STATUS_2 0xfd2
142#define MAS_D0_CRC_ERROR_COUNT 0xfd3 151#define MAS_D0_CRC_ERROR_COUNT 0xfd3
143 152
144#else /* MAS3507D */ 153#elif CONFIG_CODEC == MAS3507D
145#define MAS_D0_MPEG_FRAME_COUNT 0x300 154#define MAS_D0_MPEG_FRAME_COUNT 0x300
146#define MAS_D0_MPEG_STATUS_1 0x301 155#define MAS_D0_MPEG_STATUS_1 0x301
147#define MAS_D0_MPEG_STATUS_2 0x302 156#define MAS_D0_MPEG_STATUS_2 0x302
148#define MAS_D0_CRC_ERROR_COUNT 0x303 157#define MAS_D0_CRC_ERROR_COUNT 0x303
158#define MAS_D0_OUT_LL 0x7f8
159#define MAS_D0_OUT_LR 0x7f9
160#define MAS_D0_OUT_RL 0x7fa
161#define MAS_D0_OUT_RR 0x7fb
149 162
150#endif 163#endif
151 164