Hi igorpadykov
Sorry to reply so late, because of some urgent things.
According to your doc and code, my TA in optee can call CAAM successfully.
But CAAM always returns 0x40000216 (DMA error).
Could you check the code and log and tell me more about this error??
code:
g_job->dsc[0] = 0xB0800008;
g_job->dsc[1] = 0x14400010;
g_job->dsc[2] = kmod_pa; // kmod_pa is from normal ram, not SECURE RAM
g_job->dsc[3] = 0xF0000000 | (0x0000ffff & (size));
g_job->dsc[4] = plain_pa; // kmod_pa is from normal ram, not SECURE RAM
g_job->dsc[5] = 0xF8000000 | (0x0000ffff & (size + CAAM_KB_HEADER_LEN));
g_job->dsc[6] = blob_pa; // kmod_pa is from normal ram, not SECURE RAM
g_job->dsc[7] = 0x870D0000;
g_job->dsc_used = 8;
run_job(g_job);
log:
D/TC:0 run_job:180 CAAM_IRJAR3=1, CAAM_ORSFR3=0, CAAM_ORJRR3=1
D/TC:0 run_job:184 CAAM_IRJAR3=1, CAAM_ORSFR3=0, CAAM_ORJRR3=1
D/TC:0 run_job:189 CAAM_IRJAR3=1, CAAM_ORSFR3=1, CAAM_ORJRR3=1
D/TC:0 run_job:194 .
D/TC:0 run_job:207 CAAM_IRJAR3=1, CAAM_ORSFR3=0, CAAM_ORJRR3=1
E/TC:0 caam_gen_blob_pa:364 job failed (0x40000716)
E/TC:0 blob_test:204 gen blob err
THANK YOU