diff options
Diffstat (limited to 'src/target/firmware/calypso/dsp.c')
-rw-r--r-- | src/target/firmware/calypso/dsp.c | 12 |
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); |