summaryrefslogtreecommitdiff
path: root/firmware/export
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/export')
-rw-r--r--firmware/export/config-ondiosp.h4
-rw-r--r--firmware/export/mas.h77
-rw-r--r--firmware/export/mp3_playback.h4
3 files changed, 67 insertions, 18 deletions
diff --git a/firmware/export/config-ondiosp.h b/firmware/export/config-ondiosp.h
index 0a270e8ae5..e3fe6c718f 100644
--- a/firmware/export/config-ondiosp.h
+++ b/firmware/export/config-ondiosp.h
@@ -1,5 +1,5 @@
1/* define this if you have recording possibility */ 1/* define this if you have recording possibility */
2#define HAVE_RECORDING 1 2/* #define HAVE_RECORDING */
3 3
4/* define this if you have a bitmap LCD display */ 4/* define this if you have a bitmap LCD display */
5#define HAVE_LCD_BITMAP 1 5#define HAVE_LCD_BITMAP 1
@@ -17,7 +17,7 @@
17#define CONFIG_CPU SH7034 17#define CONFIG_CPU SH7034
18 18
19/* Define this if you have a MAS3539F */ 19/* Define this if you have a MAS3539F */
20#define CONFIG_HWCODEC MAS3587F /* will be MAS3539F once prepared */ 20#define CONFIG_HWCODEC MAS3539F
21 21
22/* Define this if you have a LiIon battery */ 22/* Define this if you have a LiIon battery */
23/* #define HAVE_LIION */ 23/* #define HAVE_LIION */
diff --git a/firmware/export/mas.h b/firmware/export/mas.h
index dac946ea63..f682fc676e 100644
--- a/firmware/export/mas.h
+++ b/firmware/export/mas.h
@@ -27,7 +27,7 @@
27/* 27/*
28 MAS I2C defs 28 MAS I2C defs
29*/ 29*/
30#if CONFIG_HWCODEC == MAS3587F 30#if (CONFIG_HWCODEC == MAS3587F) || (CONFIG_HWCODEC == MAS3539F)
31#define MAS_ADR 0x3c 31#define MAS_ADR 0x3c
32#define MAS_DEV_WRITE (MAS_ADR | 0x00) 32#define MAS_DEV_WRITE (MAS_ADR | 0x00)
33#define MAS_DEV_READ (MAS_ADR | 0x01) 33#define MAS_DEV_READ (MAS_ADR | 0x01)
@@ -38,18 +38,18 @@
38#endif 38#endif
39 39
40/* registers..*/ 40/* registers..*/
41#if CONFIG_HWCODEC == MAS3587F 41#if (CONFIG_HWCODEC == MAS3587F) || (CONFIG_HWCODEC == MAS3539F)
42#define MAS_DATA_WRITE 0x68 42#define MAS_DATA_WRITE 0x68
43#define MAS_DATA_READ 0x69 43#define MAS_DATA_READ 0x69
44#define MAS_CODEC_WRITE 0x6c 44#define MAS_CODEC_WRITE 0x6c
45#define MAS_CODEC_READ 0x6d 45#define MAS_CODEC_READ 0x6d
46#define MAS_CONTROL 0x6a 46#define MAS_CONTROL 0x6a
47#define MAS_DCCF 0x76 47#define MAS_DCCF 0x76
48#define MAS_DCFR 0x77 48#define MAS_DCFR 0x77
49#else 49#else
50#define MAS_DATA_WRITE 0x68 50#define MAS_DATA_WRITE 0x68
51#define MAS_DATA_READ 0x69 51#define MAS_DATA_READ 0x69
52#define MAS_CONTROL 0x6a 52#define MAS_CONTROL 0x6a
53#endif 53#endif
54 54
55/* 55/*
@@ -62,15 +62,15 @@
62#define MAS_REG_KPRESCALE 0xe7 62#define MAS_REG_KPRESCALE 0xe7
63#define MAS_REG_KBASS 0x6b 63#define MAS_REG_KBASS 0x6b
64#define MAS_REG_KTREBLE 0x6f 64#define MAS_REG_KTREBLE 0x6f
65#if CONFIG_HWCODEC == MAS3587F 65#if (CONFIG_HWCODEC == MAS3587F) || (CONFIG_HWCODEC == MAS3539F)
66#define MAS_REG_KMDB_SWITCH 0x21 66#define MAS_REG_KMDB_SWITCH 0x21
67#define MAS_REG_KMDB_STR 0x22 67#define MAS_REG_KMDB_STR 0x22
68#define MAS_REG_KMDB_HAR 0x23 68#define MAS_REG_KMDB_HAR 0x23
69#define MAS_REG_KMDB_FC 0x24 69#define MAS_REG_KMDB_FC 0x24
70#define MAS_REG_KLOUDNESS 0x1e 70#define MAS_REG_KLOUDNESS 0x1e
71#define MAS_REG_QPEAK_L 0x0a 71#define MAS_REG_QPEAK_L 0x0a
72#define MAS_REG_QPEAK_R 0x0b 72#define MAS_REG_QPEAK_R 0x0b
73#define MAS_REG_DQPEAK_L 0x0c 73#define MAS_REG_DQPEAK_L 0x0c
74#define MAS_REG_DQPEAK_R 0x0d 74#define MAS_REG_DQPEAK_R 0x0d
75#define MAS_REG_KAVC 0x12 75#define MAS_REG_KAVC 0x12
76#endif 76#endif
@@ -78,7 +78,7 @@
78/* 78/*
79 * MAS commands 79 * MAS commands
80 */ 80 */
81#if CONFIG_HWCODEC == MAS3587F 81#if (CONFIG_HWCODEC == MAS3587F) || (CONFIG_HWCODEC == MAS3539F)
82#define MAS_CMD_READ_ANCILLARY 0x50 82#define MAS_CMD_READ_ANCILLARY 0x50
83#define MAS_CMD_FAST_PRG_DL 0x60 83#define MAS_CMD_FAST_PRG_DL 0x60
84#define MAS_CMD_READ_IC_VER 0x70 84#define MAS_CMD_READ_IC_VER 0x70
@@ -98,6 +98,55 @@
98#define MAS_CMD_READ_D1_MEM 0xf0 98#define MAS_CMD_READ_D1_MEM 0xf0
99#endif 99#endif
100 100
101/*
102 * MAS D0 memory cells (MAS3587F / MAS3539F)
103 */
104#if CONFIG_HWCODEC == MAS3587F
105#define MAS_D0_APP_SELECT 0x7f6
106#define MAS_D0_APP_RUNNING 0x7f7
107#define MAS_D0_ENCODER_CONTROL 0x7f0
108#define MAS_D0_IO_CONTROL_MAIN 0x7f1
109#define MAS_D0_INTERFACE_CONTROL 0x7f2
110#define MAS_D0_OFREQ_CONTROL 0x7f3
111#define MAS_D0_OUT_CLK_CONFIG 0x7f4
112#define MAS_D0_SPD_OUT_BITS 0x7f8
113#define MAS_D0_SOFT_MUTE 0x7f9
114#define MAS_D0_OUT_LL 0x7fc
115#define MAS_D0_OUT_LR 0x7fd
116#define MAS_D0_OUT_RL 0x7fe
117#define MAS_D0_OUT_RR 0x7ff
118#define MAS_D0_MPEG_FRAME_COUNT 0xfd0
119#define MAS_D0_MPEG_STATUS_1 0xfd1
120#define MAS_D0_MPEG_STATUS_2 0xfd2
121#define MAS_D0_CRC_ERROR_COUNT 0xfd3
122
123#elif CONFIG_HWCODEC == MAS3539F
124#define MAS_D0_APP_SELECT 0x34b
125#define MAS_D0_APP_RUNNING 0x34c
126/* no encoder :( */
127#define MAS_D0_IO_CONTROL_MAIN 0x346
128#define MAS_D0_INTERFACE_CONTROL 0x347
129#define MAS_D0_OFREQ_CONTROL 0x348
130#define MAS_D0_OUT_CLK_CONFIG 0x349
131#define MAS_D0_SPD_OUT_BITS 0x351
132#define MAS_D0_SOFT_MUTE 0x350
133#define MAS_D0_OUT_LL 0x354
134#define MAS_D0_OUT_LR 0x355
135#define MAS_D0_OUT_RL 0x356
136#define MAS_D0_OUT_RR 0x357
137#define MAS_D0_MPEG_FRAME_COUNT 0xfd0
138#define MAS_D0_MPEG_STATUS_1 0xfd1
139#define MAS_D0_MPEG_STATUS_2 0xfd2
140#define MAS_D0_CRC_ERROR_COUNT 0xfd3
141
142#else /* MAS3507D */
143#define MAS_D0_MPEG_FRAME_COUNT 0x300
144#define MAS_D0_MPEG_STATUS_1 0x301
145#define MAS_D0_MPEG_STATUS_2 0x302
146#define MAS_D0_CRC_ERROR_COUNT 0x303
147
148#endif
149
101int mas_default_read(unsigned short *buf); 150int mas_default_read(unsigned short *buf);
102int mas_run(unsigned short address); 151int mas_run(unsigned short address);
103int mas_readmem(int bank, int addr, unsigned long* dest, int len); 152int mas_readmem(int bank, int addr, unsigned long* dest, int len);
diff --git a/firmware/export/mp3_playback.h b/firmware/export/mp3_playback.h
index dd56940c37..456569342b 100644
--- a/firmware/export/mp3_playback.h
+++ b/firmware/export/mp3_playback.h
@@ -39,13 +39,13 @@ int mpeg_val2phys(int setting, int value);
39const char *mpeg_sound_unit(int setting); 39const char *mpeg_sound_unit(int setting);
40int mpeg_sound_numdecimals(int setting); 40int mpeg_sound_numdecimals(int setting);
41int mpeg_sound_steps(int setting); 41int mpeg_sound_steps(int setting);
42#if CONFIG_HWCODEC == MAS3587F || defined(SIMULATOR) 42#if (CONFIG_HWCODEC == MAS3587F) || (CONFIG_HWCODEC == MAS3539F) || defined(SIMULATOR)
43void mpeg_set_pitch(int percent); 43void mpeg_set_pitch(int percent);
44#endif 44#endif
45 45
46 46
47/* exported just for mpeg.c, to keep the recording there */ 47/* exported just for mpeg.c, to keep the recording there */
48#if CONFIG_HWCODEC == MAS3587F 48#if (CONFIG_HWCODEC == MAS3587F) || (CONFIG_HWCODEC == MAS3539F)
49void demand_irq_enable(bool on); 49void demand_irq_enable(bool on);
50#endif 50#endif
51 51