diff options
author | Jens Arnold <amiconn@rockbox.org> | 2004-09-29 19:51:41 +0000 |
---|---|---|
committer | Jens Arnold <amiconn@rockbox.org> | 2004-09-29 19:51:41 +0000 |
commit | eaa1f73c6daf7e0c066a21b87384cb85cfa33538 (patch) | |
tree | 5c1bc2e624c6d086efbc2021430c9ab84584ae15 /firmware/export/mas.h | |
parent | 6cb799174b121ad3505b6e323aa8e360fffcc7d5 (diff) | |
download | rockbox-eaa1f73c6daf7e0c066a21b87384cb85cfa33538.tar.gz rockbox-eaa1f73c6daf7e0c066a21b87384cb85cfa33538.zip |
Added MAS3539F support (Ondio SP)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5129 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export/mas.h')
-rw-r--r-- | firmware/export/mas.h | 77 |
1 files changed, 63 insertions, 14 deletions
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 | |||
101 | int mas_default_read(unsigned short *buf); | 150 | int mas_default_read(unsigned short *buf); |
102 | int mas_run(unsigned short address); | 151 | int mas_run(unsigned short address); |
103 | int mas_readmem(int bank, int addr, unsigned long* dest, int len); | 152 | int mas_readmem(int bank, int addr, unsigned long* dest, int len); |