diff options
-rw-r--r-- | apps/plugins/plugin.lds | 5 | ||||
-rw-r--r-- | firmware/target/arm/s5l8702/app.lds | 2 | ||||
-rw-r--r-- | firmware/target/arm/s5l8702/pcm-s5l8702.c | 2 | ||||
-rw-r--r-- | firmware/target/arm/s5l8702/system-s5l8702.c | 3 | ||||
-rw-r--r-- | lib/rbcodec/codecs/libcook/cook.h | 7 | ||||
-rw-r--r-- | lib/rbcodec/codecs/libfaad/common.h | 4 | ||||
-rw-r--r-- | lib/rbcodec/codecs/libffmpegFLAC/bitstream.h | 5 | ||||
-rw-r--r-- | lib/rbcodec/codecs/libmusepack/mpcdec.h | 4 | ||||
-rw-r--r-- | lib/rbcodec/codecs/libspc/spc_codec.h | 4 | ||||
-rw-r--r-- | lib/rbcodec/codecs/libwma/wmadec.h | 5 | ||||
-rw-r--r-- | lib/rbcodec/codecs/libwmapro/wmaprodec.h | 4 |
11 files changed, 25 insertions, 20 deletions
diff --git a/apps/plugins/plugin.lds b/apps/plugins/plugin.lds index aea44e7d40..7037496be4 100644 --- a/apps/plugins/plugin.lds +++ b/apps/plugins/plugin.lds | |||
@@ -159,9 +159,10 @@ OUTPUT_FORMAT(elf32-littlemips) | |||
159 | 159 | ||
160 | #elif CONFIG_CPU==S5L8702 | 160 | #elif CONFIG_CPU==S5L8702 |
161 | /* S5L8702 have 256KB of IRAM */ | 161 | /* S5L8702 have 256KB of IRAM */ |
162 | /* IRAM1 (2nd 128KB block) is not used because it is slower than DRAM */ | ||
162 | #define DRAMORIG 0x08000000 | 163 | #define DRAMORIG 0x08000000 |
163 | #define IRAMORIG (0x00000000 + (56*1024)) | 164 | #define IRAMORIG (0x00000000 + (48*1024)) |
164 | #define IRAMSIZE (200*1024) | 165 | #define IRAMSIZE (80*1024) |
165 | 166 | ||
166 | #elif CONFIG_CPU == JZ4732 || CONFIG_CPU == JZ4760B | 167 | #elif CONFIG_CPU == JZ4732 || CONFIG_CPU == JZ4760B |
167 | #undef STUBOFFSET | 168 | #undef STUBOFFSET |
diff --git a/firmware/target/arm/s5l8702/app.lds b/firmware/target/arm/s5l8702/app.lds index 60ecdc6738..fceb732e4f 100644 --- a/firmware/target/arm/s5l8702/app.lds +++ b/firmware/target/arm/s5l8702/app.lds | |||
@@ -19,7 +19,7 @@ STARTUP(target/arm/s5l8702/crt0.o) | |||
19 | 19 | ||
20 | #define DRAMSIZE (DRAM_SIZE - PLUGINSIZE - CODECSIZE - TTB_SIZE) | 20 | #define DRAMSIZE (DRAM_SIZE - PLUGINSIZE - CODECSIZE - TTB_SIZE) |
21 | #define CODECORIG (ENDAUDIOADDR) | 21 | #define CODECORIG (ENDAUDIOADDR) |
22 | #define IRAMSIZE (56*1024) /* 256KB total - 56KB for core, 200KB for codecs */ | 22 | #define IRAMSIZE (48*1024) /* 256KB total - 48KB for core, 200KB for codecs */ |
23 | 23 | ||
24 | /* Where the codec buffer ends, and the plugin buffer starts */ | 24 | /* Where the codec buffer ends, and the plugin buffer starts */ |
25 | #define ENDADDR (ENDAUDIOADDR + CODECSIZE) | 25 | #define ENDADDR (ENDAUDIOADDR + CODECSIZE) |
diff --git a/firmware/target/arm/s5l8702/pcm-s5l8702.c b/firmware/target/arm/s5l8702/pcm-s5l8702.c index e053b309b7..86a0edd54a 100644 --- a/firmware/target/arm/s5l8702/pcm-s5l8702.c +++ b/firmware/target/arm/s5l8702/pcm-s5l8702.c | |||
@@ -207,7 +207,6 @@ void pcm_dma_apply_settings(void) | |||
207 | 207 | ||
208 | void pcm_play_dma_init(void) | 208 | void pcm_play_dma_init(void) |
209 | { | 209 | { |
210 | PWRCON(0) &= ~(1 << 4); | ||
211 | PWRCON(1) &= ~(1 << 7); | 210 | PWRCON(1) &= ~(1 << 7); |
212 | 211 | ||
213 | dmac_ch_init(&dma_play_ch, &dma_play_ch_cfg); | 212 | dmac_ch_init(&dma_play_ch, &dma_play_ch_cfg); |
@@ -406,7 +405,6 @@ void pcm_rec_dma_init(void) | |||
406 | if (pcm_rec_initialized) | 405 | if (pcm_rec_initialized) |
407 | return; | 406 | return; |
408 | 407 | ||
409 | PWRCON(0) &= ~(1 << 4); | ||
410 | PWRCON(1) &= ~(1 << 7); | 408 | PWRCON(1) &= ~(1 << 7); |
411 | 409 | ||
412 | dmac_ch_init(&dma_rec_ch, &dma_rec_ch_cfg); | 410 | dmac_ch_init(&dma_rec_ch, &dma_rec_ch_cfg); |
diff --git a/firmware/target/arm/s5l8702/system-s5l8702.c b/firmware/target/arm/s5l8702/system-s5l8702.c index 459f4c36c6..9257aff85a 100644 --- a/firmware/target/arm/s5l8702/system-s5l8702.c +++ b/firmware/target/arm/s5l8702/system-s5l8702.c | |||
@@ -199,6 +199,9 @@ enum { | |||
199 | 199 | ||
200 | void system_init(void) | 200 | void system_init(void) |
201 | { | 201 | { |
202 | /* disable IRAM1 (not used because it is slower than DRAM) */ | ||
203 | clockgate_enable(CLOCKGATE_SM1, false); | ||
204 | |||
202 | clocking_init(clk_modes, 0); | 205 | clocking_init(clk_modes, 0); |
203 | #ifndef BOOTLOADER | 206 | #ifndef BOOTLOADER |
204 | gpio_preinit(); | 207 | gpio_preinit(); |
diff --git a/lib/rbcodec/codecs/libcook/cook.h b/lib/rbcodec/codecs/libcook/cook.h index fcb437a0e1..c2a5357c98 100644 --- a/lib/rbcodec/codecs/libcook/cook.h +++ b/lib/rbcodec/codecs/libcook/cook.h | |||
@@ -29,15 +29,16 @@ | |||
29 | 29 | ||
30 | #include "codeclib.h" | 30 | #include "codeclib.h" |
31 | 31 | ||
32 | #if (CONFIG_CPU == PP5022) || (CONFIG_CPU == PP5024) || (CONFIG_CPU == MCF5250) | 32 | #if (CONFIG_CPU == PP5022) || (CONFIG_CPU == PP5024) || \ |
33 | /* PP5022/24, MCF5250 have large IRAM */ | 33 | (CONFIG_CPU == MCF5250) || (CONFIG_CPU == S5L8702) |
34 | /* PP5022/24, S5L8702, MCF5250 have large IRAM */ | ||
34 | #define IBSS_ATTR_COOK_LARGE_IRAM IBSS_ATTR | 35 | #define IBSS_ATTR_COOK_LARGE_IRAM IBSS_ATTR |
35 | #define ICODE_ATTR_COOK_LARGE_IRAM ICODE_ATTR | 36 | #define ICODE_ATTR_COOK_LARGE_IRAM ICODE_ATTR |
36 | #define ICONST_ATTR_COOK_LARGE_IRAM ICONST_ATTR | 37 | #define ICONST_ATTR_COOK_LARGE_IRAM ICONST_ATTR |
37 | #define IBSS_ATTR_COOK_VLCBUF | 38 | #define IBSS_ATTR_COOK_VLCBUF |
38 | #define ICODE_ATTR_COOK_DECODE | 39 | #define ICODE_ATTR_COOK_DECODE |
39 | 40 | ||
40 | #elif defined(CPU_S5L870X) | 41 | #elif (CONFIG_CPU == S5L8700) || (CONFIG_CPU == S5L8701) |
41 | /* S5L870X have even larger IRAM and it is faster to use ICODE_ATTR. */ | 42 | /* S5L870X have even larger IRAM and it is faster to use ICODE_ATTR. */ |
42 | #define IBSS_ATTR_COOK_LARGE_IRAM IBSS_ATTR | 43 | #define IBSS_ATTR_COOK_LARGE_IRAM IBSS_ATTR |
43 | #define ICODE_ATTR_COOK_LARGE_IRAM ICODE_ATTR | 44 | #define ICODE_ATTR_COOK_LARGE_IRAM ICODE_ATTR |
diff --git a/lib/rbcodec/codecs/libfaad/common.h b/lib/rbcodec/codecs/libfaad/common.h index 720042b4aa..c5eaa0aa51 100644 --- a/lib/rbcodec/codecs/libfaad/common.h +++ b/lib/rbcodec/codecs/libfaad/common.h | |||
@@ -58,14 +58,14 @@ extern struct codec_api* ci; | |||
58 | #define ICONST_ATTR_FAAD_LARGE_IRAM ICONST_ATTR | 58 | #define ICONST_ATTR_FAAD_LARGE_IRAM ICONST_ATTR |
59 | #define IBSS_ATTR_FAAD_XLR | 59 | #define IBSS_ATTR_FAAD_XLR |
60 | 60 | ||
61 | #elif (CONFIG_CPU == PP5022) || (CONFIG_CPU == PP5024) | 61 | #elif (CONFIG_CPU == PP5022) || (CONFIG_CPU == PP5024) || (CONFIG_CPU == S5L8702) |
62 | /* Enough IRAM to move additional data and code to it. */ | 62 | /* Enough IRAM to move additional data and code to it. */ |
63 | #define IBSS_ATTR_FAAD_LARGE_IRAM IBSS_ATTR | 63 | #define IBSS_ATTR_FAAD_LARGE_IRAM IBSS_ATTR |
64 | #define ICODE_ATTR_FAAD_LARGE_IRAM ICODE_ATTR | 64 | #define ICODE_ATTR_FAAD_LARGE_IRAM ICODE_ATTR |
65 | #define ICONST_ATTR_FAAD_LARGE_IRAM ICONST_ATTR | 65 | #define ICONST_ATTR_FAAD_LARGE_IRAM ICONST_ATTR |
66 | #define IBSS_ATTR_FAAD_XLR | 66 | #define IBSS_ATTR_FAAD_XLR |
67 | 67 | ||
68 | #elif defined(CPU_S5L870X) | 68 | #elif (CONFIG_CPU == S5L8700) || (CONFIG_CPU == S5L8701) |
69 | /* Very large IRAM. Move even more data to it. */ | 69 | /* Very large IRAM. Move even more data to it. */ |
70 | #define IBSS_ATTR_FAAD_LARGE_IRAM IBSS_ATTR | 70 | #define IBSS_ATTR_FAAD_LARGE_IRAM IBSS_ATTR |
71 | #define ICODE_ATTR_FAAD_LARGE_IRAM ICODE_ATTR | 71 | #define ICODE_ATTR_FAAD_LARGE_IRAM ICODE_ATTR |
diff --git a/lib/rbcodec/codecs/libffmpegFLAC/bitstream.h b/lib/rbcodec/codecs/libffmpegFLAC/bitstream.h index 2ec54c42fa..cd9589de40 100644 --- a/lib/rbcodec/codecs/libffmpegFLAC/bitstream.h +++ b/lib/rbcodec/codecs/libffmpegFLAC/bitstream.h | |||
@@ -18,14 +18,15 @@ | |||
18 | #define ICODE_ATTR | 18 | #define ICODE_ATTR |
19 | #endif | 19 | #endif |
20 | 20 | ||
21 | #if (CONFIG_CPU == MCF5250) || (CONFIG_CPU == PP5022) || (CONFIG_CPU == PP5024) | 21 | #if (CONFIG_CPU == MCF5250) || (CONFIG_CPU == PP5022) || \ |
22 | (CONFIG_CPU == PP5024) || (CONFIG_CPU == S5L8702) | ||
22 | #define ICODE_ATTR_FLAC ICODE_ATTR | 23 | #define ICODE_ATTR_FLAC ICODE_ATTR |
23 | #define IBSS_ATTR_FLAC IBSS_ATTR | 24 | #define IBSS_ATTR_FLAC IBSS_ATTR |
24 | /* Enough IRAM to move additional data to it. */ | 25 | /* Enough IRAM to move additional data to it. */ |
25 | #define IBSS_ATTR_FLAC_LARGE_IRAM IBSS_ATTR | 26 | #define IBSS_ATTR_FLAC_LARGE_IRAM IBSS_ATTR |
26 | #define IBSS_ATTR_FLAC_XLARGE_IRAM | 27 | #define IBSS_ATTR_FLAC_XLARGE_IRAM |
27 | 28 | ||
28 | #elif defined(CPU_S5L870X) | 29 | #elif (CONFIG_CPU == S5L8700) || (CONFIG_CPU == S5L8701) |
29 | #define ICODE_ATTR_FLAC ICODE_ATTR | 30 | #define ICODE_ATTR_FLAC ICODE_ATTR |
30 | #define IBSS_ATTR_FLAC IBSS_ATTR | 31 | #define IBSS_ATTR_FLAC IBSS_ATTR |
31 | /* Enough IRAM to move even more additional data to it. */ | 32 | /* Enough IRAM to move even more additional data to it. */ |
diff --git a/lib/rbcodec/codecs/libmusepack/mpcdec.h b/lib/rbcodec/codecs/libmusepack/mpcdec.h index 02003cb01b..24c06bc4a0 100644 --- a/lib/rbcodec/codecs/libmusepack/mpcdec.h +++ b/lib/rbcodec/codecs/libmusepack/mpcdec.h | |||
@@ -58,7 +58,7 @@ extern "C" { | |||
58 | /* Keep the data arrays of bitsreadr.c in IRAM. */ | 58 | /* Keep the data arrays of bitsreadr.c in IRAM. */ |
59 | #define ICONST_ATTR_MPC_BITSREADER ICONST_ATTR | 59 | #define ICONST_ATTR_MPC_BITSREADER ICONST_ATTR |
60 | 60 | ||
61 | #elif (CONFIG_CPU == PP5022) || (CONFIG_CPU == PP5024) | 61 | #elif (CONFIG_CPU == PP5022) || (CONFIG_CPU == PP5024) || (CONFIG_CPU == S5L8702) |
62 | /* Enough IRAM to move additional data and code to it. */ | 62 | /* Enough IRAM to move additional data and code to it. */ |
63 | #define IBSS_ATTR_MPC_LARGE_IRAM IBSS_ATTR | 63 | #define IBSS_ATTR_MPC_LARGE_IRAM IBSS_ATTR |
64 | #define ICODE_ATTR_MPC_LARGE_IRAM ICODE_ATTR | 64 | #define ICODE_ATTR_MPC_LARGE_IRAM ICODE_ATTR |
@@ -70,7 +70,7 @@ extern "C" { | |||
70 | * sv7/sv8 bitstream demuxing into IRAM. This config is faster. */ | 70 | * sv7/sv8 bitstream demuxing into IRAM. This config is faster. */ |
71 | #define ICONST_ATTR_MPC_BITSREADER | 71 | #define ICONST_ATTR_MPC_BITSREADER |
72 | 72 | ||
73 | #elif defined(CPU_S5L870X) | 73 | #elif (CONFIG_CPU == S5L8700) || (CONFIG_CPU == S5L8701) |
74 | /* Enough IRAM to move additional data and code to it. */ | 74 | /* Enough IRAM to move additional data and code to it. */ |
75 | #define IBSS_ATTR_MPC_LARGE_IRAM IBSS_ATTR | 75 | #define IBSS_ATTR_MPC_LARGE_IRAM IBSS_ATTR |
76 | #define ICODE_ATTR_MPC_LARGE_IRAM ICODE_ATTR | 76 | #define ICODE_ATTR_MPC_LARGE_IRAM ICODE_ATTR |
diff --git a/lib/rbcodec/codecs/libspc/spc_codec.h b/lib/rbcodec/codecs/libspc/spc_codec.h index 446690f726..75c344474e 100644 --- a/lib/rbcodec/codecs/libspc/spc_codec.h +++ b/lib/rbcodec/codecs/libspc/spc_codec.h | |||
@@ -95,7 +95,7 @@ | |||
95 | /* Not enough IRAM available to move further data to it. */ | 95 | /* Not enough IRAM available to move further data to it. */ |
96 | #define IBSS_ATTR_SPC_LARGE_IRAM | 96 | #define IBSS_ATTR_SPC_LARGE_IRAM |
97 | 97 | ||
98 | #elif (CONFIG_CPU == PP5022) || (CONFIG_CPU == PP5024) | 98 | #elif (CONFIG_CPU == PP5022) || (CONFIG_CPU == PP5024) || (CONFIG_CPU == S5L8702) |
99 | #define IBSS_ATTR_SPC IBSS_ATTR | 99 | #define IBSS_ATTR_SPC IBSS_ATTR |
100 | #define ICODE_ATTR_SPC ICODE_ATTR | 100 | #define ICODE_ATTR_SPC ICODE_ATTR |
101 | #define ICONST_ATTR_SPC ICONST_ATTR | 101 | #define ICONST_ATTR_SPC ICONST_ATTR |
@@ -103,7 +103,7 @@ | |||
103 | /* Not enough IRAM available to move further data to it. */ | 103 | /* Not enough IRAM available to move further data to it. */ |
104 | #define IBSS_ATTR_SPC_LARGE_IRAM | 104 | #define IBSS_ATTR_SPC_LARGE_IRAM |
105 | 105 | ||
106 | #elif defined(CPU_S5L870X) | 106 | #elif (CONFIG_CPU == S5L8700) || (CONFIG_CPU == S5L8701) |
107 | #define IBSS_ATTR_SPC IBSS_ATTR | 107 | #define IBSS_ATTR_SPC IBSS_ATTR |
108 | #define ICODE_ATTR_SPC ICODE_ATTR | 108 | #define ICODE_ATTR_SPC ICODE_ATTR |
109 | #define ICONST_ATTR_SPC ICONST_ATTR | 109 | #define ICONST_ATTR_SPC ICONST_ATTR |
diff --git a/lib/rbcodec/codecs/libwma/wmadec.h b/lib/rbcodec/codecs/libwma/wmadec.h index 76429dede1..b3bca4f452 100644 --- a/lib/rbcodec/codecs/libwma/wmadec.h +++ b/lib/rbcodec/codecs/libwma/wmadec.h | |||
@@ -52,13 +52,14 @@ | |||
52 | #define LSP_POW_BITS 7 | 52 | #define LSP_POW_BITS 7 |
53 | 53 | ||
54 | 54 | ||
55 | #if (CONFIG_CPU == PP5022) || (CONFIG_CPU == PP5024) || (CONFIG_CPU == MCF5250) | 55 | #if (CONFIG_CPU == PP5022) || (CONFIG_CPU == PP5024) || \ |
56 | (CONFIG_CPU == MCF5250) || (CONFIG_CPU == S5L8702) | ||
56 | /* PP5022/24 and MCF5250 have 128KB of IRAM. 80KB are allocated for codecs */ | 57 | /* PP5022/24 and MCF5250 have 128KB of IRAM. 80KB are allocated for codecs */ |
57 | #define IBSS_ATTR_WMA_LARGE_IRAM IBSS_ATTR | 58 | #define IBSS_ATTR_WMA_LARGE_IRAM IBSS_ATTR |
58 | #define IBSS_ATTR_WMA_XL_IRAM | 59 | #define IBSS_ATTR_WMA_XL_IRAM |
59 | #define ICONST_ATTR_WMA_XL_IRAM | 60 | #define ICONST_ATTR_WMA_XL_IRAM |
60 | 61 | ||
61 | #elif defined(CPU_S5L870X) | 62 | #elif (CONFIG_CPU == S5L8700) || (CONFIG_CPU == S5L8701) |
62 | /* S5L870x has even more IRAM. Use it. */ | 63 | /* S5L870x has even more IRAM. Use it. */ |
63 | #define IBSS_ATTR_WMA_LARGE_IRAM IBSS_ATTR | 64 | #define IBSS_ATTR_WMA_LARGE_IRAM IBSS_ATTR |
64 | #define IBSS_ATTR_WMA_XL_IRAM IBSS_ATTR | 65 | #define IBSS_ATTR_WMA_XL_IRAM IBSS_ATTR |
diff --git a/lib/rbcodec/codecs/libwmapro/wmaprodec.h b/lib/rbcodec/codecs/libwmapro/wmaprodec.h index d8398fc9f1..46b4770f46 100644 --- a/lib/rbcodec/codecs/libwmapro/wmaprodec.h +++ b/lib/rbcodec/codecs/libwmapro/wmaprodec.h | |||
@@ -10,7 +10,7 @@ | |||
10 | #define IBSS_ATTR_WMAPRO_VLC_TABLES | 10 | #define IBSS_ATTR_WMAPRO_VLC_TABLES |
11 | #define ICONST_ATTR_WMAPRO_WIN_VS_TMP | 11 | #define ICONST_ATTR_WMAPRO_WIN_VS_TMP |
12 | 12 | ||
13 | #elif (CONFIG_CPU == PP5022) || (CONFIG_CPU == PP5024) | 13 | #elif (CONFIG_CPU == PP5022) || (CONFIG_CPU == PP5024) || (CONFIG_CPU == S5L8702) |
14 | /* Enough IRAM to move additional data and code to it. */ | 14 | /* Enough IRAM to move additional data and code to it. */ |
15 | #define IBSS_ATTR_WMAPRO_LARGE_IRAM IBSS_ATTR | 15 | #define IBSS_ATTR_WMAPRO_LARGE_IRAM IBSS_ATTR |
16 | #define ICODE_ATTR_WMAPRO_LARGE_IRAM ICODE_ATTR | 16 | #define ICODE_ATTR_WMAPRO_LARGE_IRAM ICODE_ATTR |
@@ -18,7 +18,7 @@ | |||
18 | #define IBSS_ATTR_WMAPRO_VLC_TABLES | 18 | #define IBSS_ATTR_WMAPRO_VLC_TABLES |
19 | #define ICONST_ATTR_WMAPRO_WIN_VS_TMP | 19 | #define ICONST_ATTR_WMAPRO_WIN_VS_TMP |
20 | 20 | ||
21 | #elif defined(CPU_S5L870X) | 21 | #elif (CONFIG_CPU == S5L8700) || (CONFIG_CPU == S5L8701) |
22 | /* Enough IRAM to move additional data and code to it. */ | 22 | /* Enough IRAM to move additional data and code to it. */ |
23 | #define IBSS_ATTR_WMAPRO_LARGE_IRAM IBSS_ATTR | 23 | #define IBSS_ATTR_WMAPRO_LARGE_IRAM IBSS_ATTR |
24 | #define ICODE_ATTR_WMAPRO_LARGE_IRAM ICODE_ATTR | 24 | #define ICODE_ATTR_WMAPRO_LARGE_IRAM ICODE_ATTR |