* failing to load DSP firmware is NOT an error.
         */
        tas_priv->fw_state = TASDEVICE_RCA_FW_OK;
-       scnprintf(tas_priv->coef_binaryname, 64, "%s_coef.bin",
-               tas_priv->dev_name);
+       if (tas_priv->name_prefix)
+               scnprintf(tas_priv->rca_binaryname, 64, "%s-%s_coef.bin",
+                       tas_priv->name_prefix, tas_priv->dev_name);
+       else
+               scnprintf(tas_priv->coef_binaryname, 64, "%s_coef.bin",
+                       tas_priv->dev_name);
        ret = tasdevice_dsp_parser(tas_priv);
        if (ret) {
                dev_err(tas_priv->dev, "dspfw load %s error\n",
         * calibrated data inside algo.
         */
        for (i = 0; i < tas_priv->ndev; i++) {
-               scnprintf(tas_priv->cal_binaryname[i], 64, "%s_cal_0x%02x.bin",
-                       tas_priv->dev_name, tas_priv->tasdevice[i].dev_addr);
+               if (tas_priv->name_prefix)
+                       scnprintf(tas_priv->cal_binaryname[i], 64,
+                               "%s-%s_cal_0x%02x.bin", tas_priv->name_prefix,
+                               tas_priv->dev_name,
+                               tas_priv->tasdevice[i].dev_addr);
+               else
+                       scnprintf(tas_priv->cal_binaryname[i], 64,
+                               "%s_cal_0x%02x.bin", tas_priv->dev_name,
+                               tas_priv->tasdevice[i].dev_addr);
                ret = tas2781_load_calibration(tas_priv,
                        tas_priv->cal_binaryname[i], i);
                if (ret != 0)