dmaengine: imx-sdma: Add support for version 3 firmware
Currently when version 3.1 of the mx6q SDMA firmware is used we get: [ 0.392169] imx-sdma 20ec000.sdma: unknown firmware version [ 0.399281] imx-sdma 20ec000.sdma: initialized Add support for it. Based on a patch from Shengjiu Wang from the internal FSL kernel. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
This commit is contained in:
Родитель
937abe88ae
Коммит
a572460be9
|
@ -1256,6 +1256,7 @@ static void sdma_issue_pending(struct dma_chan *chan)
|
|||
|
||||
#define SDMA_SCRIPT_ADDRS_ARRAY_SIZE_V1 34
|
||||
#define SDMA_SCRIPT_ADDRS_ARRAY_SIZE_V2 38
|
||||
#define SDMA_SCRIPT_ADDRS_ARRAY_SIZE_V3 41
|
||||
|
||||
static void sdma_add_scripts(struct sdma_engine *sdma,
|
||||
const struct sdma_script_start_addrs *addr)
|
||||
|
@ -1302,6 +1303,9 @@ static void sdma_load_firmware(const struct firmware *fw, void *context)
|
|||
case 2:
|
||||
sdma->script_number = SDMA_SCRIPT_ADDRS_ARRAY_SIZE_V2;
|
||||
break;
|
||||
case 3:
|
||||
sdma->script_number = SDMA_SCRIPT_ADDRS_ARRAY_SIZE_V3;
|
||||
break;
|
||||
default:
|
||||
dev_err(sdma->dev, "unknown firmware version\n");
|
||||
goto err_firmware;
|
||||
|
|
|
@ -48,6 +48,9 @@ struct sdma_script_start_addrs {
|
|||
s32 ssish_2_mcu_addr;
|
||||
s32 hdmi_dma_addr;
|
||||
/* End of v2 array */
|
||||
s32 zcanfd_2_mcu_addr;
|
||||
s32 zqspi_2_mcu_addr;
|
||||
/* End of v3 array */
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
Загрузка…
Ссылка в новой задаче