summaryrefslogtreecommitdiffstats
path: root/src/target/firmware/calypso/dsp.c
diff options
context:
space:
mode:
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);