summaryrefslogtreecommitdiffstats
path: root/src/target/firmware/calypso/dsp.c
diff options
context:
space:
mode:
authorSylvain Munaut <tnt@246tNt.com>2013-01-16 22:59:13 +0100
committerAndreas Eversberg <jolly@eversberg.eu>2013-10-05 19:44:38 +0200
commit6946db454a6e45a841bbfbcdcd36f1650f7e6157 (patch)
treec171409ec65c003e0be9bb14f18970d2b91af9c8 /src/target/firmware/calypso/dsp.c
parent7a870394d01f8edb9e85237865116d943f3ca983 (diff)
fw/calypso/dsp: Import and load DSP extension patch
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Diffstat (limited to 'src/target/firmware/calypso/dsp.c')
-rw-r--r--src/target/firmware/calypso/dsp.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/target/firmware/calypso/dsp.c b/src/target/firmware/calypso/dsp.c
index 1daecb2d..8c9f23cb 100644
--- a/src/target/firmware/calypso/dsp.c
+++ b/src/target/firmware/calypso/dsp.c
@@ -85,6 +85,7 @@ struct dsp_section {
#include "dsp_params.c"
#include "dsp_bootcode.c"
#include "dsp_dumpcode.c"
+#include "dsp_extcode.c"
struct dsp_api dsp_api = {
.ndb = (T_NDB_MCU_DSP *) BASE_API_NDB,
@@ -204,8 +205,11 @@ static void dsp_set_params(int16_t *param_tab, int param_size)
/* Start DSP up to bootloader */
dsp_pre_boot(dsp_bootcode);
- /* FIXME: Implement Patch download, if any */
+ /* Load our DSP extensions */
+ dputs("Installing DSP extensions patch\n");
+ dsp_bl_upload_sections(dsp_extcode);
+ /* Configure API params */
dputs("Setting some dsp_api.ndb values\n");
dsp_api.ndb->d_background_enable = 0;
dsp_api.ndb->d_background_abort = 0;
@@ -225,9 +229,11 @@ static void dsp_set_params(int16_t *param_tab, int param_size)
dputs("Setting API NDB parameters\n");
for (i = 0; i < param_size; i ++)
*param_ptr++ = param_tab[i];
-
- dsp_dump_version();
+ /* Init address for the extensions */
+ dsp_api.param->d_gprs_install_address = DSP_EXT_START;
+
+ /* Perform actual boot */
dputs("Finishing download phase\n");
dsp_bl_start_at(DSP_START);