Lines Matching refs:req
161 static TEE_Result versal_alloc_read_buffer(struct versal_nvm_read_req *req) in versal_alloc_read_buffer() argument
163 assert(req); in versal_alloc_read_buffer()
164 req->ibuf[0].len = 1024; in versal_alloc_read_buffer()
165 req->ibuf[0].buf = alloc_cache_aligned(req->ibuf[0].len); in versal_alloc_read_buffer()
166 if (!req->ibuf[0].buf) in versal_alloc_read_buffer()
172 static void versal_free_read_buffer(struct versal_nvm_read_req *req) in versal_free_read_buffer() argument
174 assert(req); in versal_free_read_buffer()
175 free(req->ibuf[0].buf); in versal_free_read_buffer()
178 static void *versal_get_read_buffer(struct versal_nvm_read_req *req) in versal_get_read_buffer() argument
180 assert(req); in versal_get_read_buffer()
181 return req->ibuf[0].buf; in versal_get_read_buffer()
184 static TEE_Result versal_nvm_read(struct versal_nvm_read_req *req) in versal_nvm_read() argument
189 if (!req) in versal_nvm_read()
192 switch (req->efuse_id) { in versal_nvm_read()
205 val = req->offchip_id; in versal_nvm_read()
209 val = req->revocation_id; in versal_nvm_read()
213 val = req->iv_type; in versal_nvm_read()
217 val = req->ppk_type; in versal_nvm_read()
226 return efuse_req(req->efuse_id, req->ibuf, arg); in versal_nvm_read()
229 static TEE_Result versal_nvm_write(struct versal_nvm_write_req *req) in versal_nvm_write() argument
234 switch (req->efuse_id) { in versal_nvm_write()
236 val = req->bbram.aes_key_len; in versal_nvm_write()
240 val = req->bbram.user_data; in versal_nvm_write()
251 return efuse_req(req->efuse_id, req->ibuf, arg); in versal_nvm_write()
261 struct versal_nvm_read_req req = { in versal_efuse_read_user_data() local
273 req.ibuf[0].buf = &cfg; in versal_efuse_read_user_data()
274 req.ibuf[0].len = sizeof(cfg); in versal_efuse_read_user_data()
275 req.ibuf[1].buf = rsp; in versal_efuse_read_user_data()
276 req.ibuf[1].len = 1024; in versal_efuse_read_user_data()
280 if (versal_nvm_read(&req)) { in versal_efuse_read_user_data()
293 struct versal_nvm_read_req req = { in versal_efuse_read_dna() local
300 if (versal_alloc_read_buffer(&req)) in versal_efuse_read_dna()
303 if (versal_nvm_read(&req)) { in versal_efuse_read_dna()
304 versal_free_read_buffer(&req); in versal_efuse_read_dna()
308 memcpy(buf, versal_get_read_buffer(&req), EFUSE_DNA_LEN); in versal_efuse_read_dna()
309 versal_free_read_buffer(&req); in versal_efuse_read_dna()
317 struct versal_nvm_read_req req = { in versal_efuse_read_iv() local
325 if (versal_alloc_read_buffer(&req)) in versal_efuse_read_iv()
328 if (versal_nvm_read(&req)) { in versal_efuse_read_iv()
329 versal_free_read_buffer(&req); in versal_efuse_read_iv()
333 memcpy(buf, versal_get_read_buffer(&req), EFUSE_IV_LEN); in versal_efuse_read_iv()
334 versal_free_read_buffer(&req); in versal_efuse_read_iv()
342 struct versal_nvm_read_req req = { in versal_efuse_read_ppk() local
343 req.efuse_id = EFUSE_READ_PPK_HASH, in versal_efuse_read_ppk()
350 if (versal_alloc_read_buffer(&req)) in versal_efuse_read_ppk()
353 if (versal_nvm_read(&req)) in versal_efuse_read_ppk()
356 memcpy(buf, versal_get_read_buffer(&req), EFUSE_PPK_LEN); in versal_efuse_read_ppk()
357 versal_free_read_buffer(&req); in versal_efuse_read_ppk()
371 struct versal_nvm_write_req __aligned_efuse req = { in versal_efuse_write_user_data() local
381 req.data.user_fuse_addr = virt_to_phys((void *)req.data.user_fuse_addr); in versal_efuse_write_user_data()
384 req.ibuf[0].buf = &req.data; in versal_efuse_write_user_data()
385 req.ibuf[0].len = sizeof(req.data); in versal_efuse_write_user_data()
386 req.ibuf[1].buf = &cfg; in versal_efuse_write_user_data()
387 req.ibuf[1].len = sizeof(cfg); in versal_efuse_write_user_data()
388 req.ibuf[2].buf = lbuf; in versal_efuse_write_user_data()
389 req.ibuf[2].len = sizeof(lbuf); in versal_efuse_write_user_data()
394 return versal_nvm_write(&req); in versal_efuse_write_user_data()
400 struct versal_nvm_write_req req __aligned_efuse = { in versal_efuse_write_aes_keys()
408 req.ibuf[0].buf = &req.data; in versal_efuse_write_aes_keys()
409 req.ibuf[0].len = sizeof(req.data); in versal_efuse_write_aes_keys()
410 req.ibuf[1].buf = &cfg; in versal_efuse_write_aes_keys()
411 req.ibuf[1].len = sizeof(cfg); in versal_efuse_write_aes_keys()
413 return versal_nvm_write(&req); in versal_efuse_write_aes_keys()
419 struct versal_nvm_write_req req __aligned_efuse = { in versal_efuse_write_ppk_hash()
427 req.ibuf[0].buf = &req.data; in versal_efuse_write_ppk_hash()
428 req.ibuf[0].len = sizeof(req.data); in versal_efuse_write_ppk_hash()
429 req.ibuf[1].buf = &cfg; in versal_efuse_write_ppk_hash()
430 req.ibuf[1].len = sizeof(cfg); in versal_efuse_write_ppk_hash()
432 return versal_nvm_write(&req); in versal_efuse_write_ppk_hash()
438 struct versal_nvm_write_req req __aligned_efuse = { in versal_efuse_write_iv()
446 req.ibuf[0].buf = &req.data; in versal_efuse_write_iv()
447 req.ibuf[0].len = sizeof(req.data); in versal_efuse_write_iv()
448 req.ibuf[1].buf = &cfg; in versal_efuse_write_iv()
449 req.ibuf[1].len = sizeof(cfg); in versal_efuse_write_iv()
451 return versal_nvm_write(&req); in versal_efuse_write_iv()
457 struct versal_nvm_write_req req __aligned_efuse = { in versal_efuse_write_dec_only()
465 req.ibuf[0].buf = &req.data; in versal_efuse_write_dec_only()
466 req.ibuf[0].len = sizeof(req.data); in versal_efuse_write_dec_only()
467 req.ibuf[1].buf = &cfg; in versal_efuse_write_dec_only()
468 req.ibuf[1].len = sizeof(cfg); in versal_efuse_write_dec_only()
470 return versal_nvm_write(&req); in versal_efuse_write_dec_only()
476 struct versal_nvm_write_req req __aligned_efuse = { in versal_efuse_write_sec()
484 req.ibuf[0].buf = &req.data; in versal_efuse_write_sec()
485 req.ibuf[0].len = sizeof(req.data); in versal_efuse_write_sec()
486 req.ibuf[1].buf = &cfg; in versal_efuse_write_sec()
487 req.ibuf[1].len = sizeof(cfg); in versal_efuse_write_sec()
489 return versal_nvm_write(&req); in versal_efuse_write_sec()
495 struct versal_nvm_write_req req __aligned_efuse = { in versal_efuse_write_misc()
503 req.ibuf[0].buf = &req.data; in versal_efuse_write_misc()
504 req.ibuf[0].len = sizeof(req.data); in versal_efuse_write_misc()
505 req.ibuf[1].buf = &cfg; in versal_efuse_write_misc()
506 req.ibuf[1].len = sizeof(cfg); in versal_efuse_write_misc()
508 return versal_nvm_write(&req); in versal_efuse_write_misc()
514 struct versal_nvm_write_req req __aligned_efuse = { in versal_efuse_write_glitch_cfg()
522 req.ibuf[0].buf = &req.data; in versal_efuse_write_glitch_cfg()
523 req.ibuf[0].len = sizeof(req.data); in versal_efuse_write_glitch_cfg()
524 req.ibuf[1].buf = &cfg; in versal_efuse_write_glitch_cfg()
525 req.ibuf[1].len = sizeof(cfg); in versal_efuse_write_glitch_cfg()
527 return versal_nvm_write(&req); in versal_efuse_write_glitch_cfg()
534 struct versal_nvm_write_req req __aligned_efuse = { in versal_efuse_write_boot_env()
542 req.ibuf[0].buf = &req.data; in versal_efuse_write_boot_env()
543 req.ibuf[0].len = sizeof(req.data); in versal_efuse_write_boot_env()
544 req.ibuf[1].buf = &cfg; in versal_efuse_write_boot_env()
545 req.ibuf[1].len = sizeof(cfg); in versal_efuse_write_boot_env()
547 return versal_nvm_write(&req); in versal_efuse_write_boot_env()
553 struct versal_nvm_write_req req __aligned_efuse = { in versal_efuse_write_sec_misc1()
561 req.ibuf[0].buf = &req.data; in versal_efuse_write_sec_misc1()
562 req.ibuf[0].len = sizeof(req.data); in versal_efuse_write_sec_misc1()
563 req.ibuf[1].buf = &cfg; in versal_efuse_write_sec_misc1()
564 req.ibuf[1].len = sizeof(cfg); in versal_efuse_write_sec_misc1()
566 return versal_nvm_write(&req); in versal_efuse_write_sec_misc1()
572 struct versal_nvm_write_req req __aligned_efuse = { in versal_efuse_write_offchip_ids()
580 req.ibuf[0].buf = &req.data; in versal_efuse_write_offchip_ids()
581 req.ibuf[0].len = sizeof(req.data); in versal_efuse_write_offchip_ids()
582 req.ibuf[1].buf = &cfg; in versal_efuse_write_offchip_ids()
583 req.ibuf[1].len = sizeof(cfg); in versal_efuse_write_offchip_ids()
585 return versal_nvm_write(&req); in versal_efuse_write_offchip_ids()
591 struct versal_nvm_write_req req __aligned_efuse = { in versal_efuse_write_revoke_ppk()
597 req.data.misc_ctrl_addr = virt_to_phys((void *)req.data.misc_ctrl_addr); in versal_efuse_write_revoke_ppk()
607 req.ibuf[0].buf = &req.data; in versal_efuse_write_revoke_ppk()
608 req.ibuf[0].len = sizeof(req.data); in versal_efuse_write_revoke_ppk()
609 req.ibuf[1].buf = &cfg; in versal_efuse_write_revoke_ppk()
610 req.ibuf[1].len = sizeof(cfg); in versal_efuse_write_revoke_ppk()
612 return versal_nvm_write(&req); in versal_efuse_write_revoke_ppk()
618 struct versal_nvm_write_req req __aligned_efuse = { in versal_efuse_write_revoke_id()
632 req.ibuf[0].buf = &req.data; in versal_efuse_write_revoke_id()
633 req.ibuf[0].len = sizeof(req.data); in versal_efuse_write_revoke_id()
634 req.ibuf[1].buf = &cfg; in versal_efuse_write_revoke_id()
635 req.ibuf[1].len = sizeof(cfg); in versal_efuse_write_revoke_id()
637 return versal_nvm_write(&req); in versal_efuse_write_revoke_id()
643 struct versal_nvm_read_req req = { in versal_efuse_read_revoke_id() local
651 if (versal_alloc_read_buffer(&req)) in versal_efuse_read_revoke_id()
654 if (versal_nvm_read(&req)) { in versal_efuse_read_revoke_id()
655 versal_free_read_buffer(&req); in versal_efuse_read_revoke_id()
659 memcpy(buf, versal_get_read_buffer(&req), EFUSE_REVOCATION_ID_LEN); in versal_efuse_read_revoke_id()
660 versal_free_read_buffer(&req); in versal_efuse_read_revoke_id()
667 struct versal_nvm_read_req req = { in versal_efuse_read_misc_ctrl() local
671 if (versal_alloc_read_buffer(&req)) in versal_efuse_read_misc_ctrl()
674 if (versal_nvm_read(&req)) { in versal_efuse_read_misc_ctrl()
675 versal_free_read_buffer(&req); in versal_efuse_read_misc_ctrl()
679 memcpy(buf, versal_get_read_buffer(&req), sizeof(*buf)); in versal_efuse_read_misc_ctrl()
680 versal_free_read_buffer(&req); in versal_efuse_read_misc_ctrl()
687 struct versal_nvm_read_req req = { in versal_efuse_read_sec_ctrl() local
691 if (versal_alloc_read_buffer(&req)) in versal_efuse_read_sec_ctrl()
694 if (versal_nvm_read(&req)) { in versal_efuse_read_sec_ctrl()
695 versal_free_read_buffer(&req); in versal_efuse_read_sec_ctrl()
699 memcpy(buf, versal_get_read_buffer(&req), sizeof(*buf)); in versal_efuse_read_sec_ctrl()
700 versal_free_read_buffer(&req); in versal_efuse_read_sec_ctrl()
707 struct versal_nvm_read_req req = { in versal_efuse_read_sec_misc1() local
711 if (versal_alloc_read_buffer(&req)) in versal_efuse_read_sec_misc1()
714 if (versal_nvm_read(&req)) { in versal_efuse_read_sec_misc1()
715 versal_free_read_buffer(&req); in versal_efuse_read_sec_misc1()
719 memcpy(buf, versal_get_read_buffer(&req), sizeof(*buf)); in versal_efuse_read_sec_misc1()
720 versal_free_read_buffer(&req); in versal_efuse_read_sec_misc1()
728 struct versal_nvm_read_req req = { in versal_efuse_read_boot_env_ctrl() local
732 if (versal_alloc_read_buffer(&req)) in versal_efuse_read_boot_env_ctrl()
735 if (versal_nvm_read(&req)) { in versal_efuse_read_boot_env_ctrl()
736 versal_free_read_buffer(&req); in versal_efuse_read_boot_env_ctrl()
740 memcpy(buf, versal_get_read_buffer(&req), sizeof(*buf)); in versal_efuse_read_boot_env_ctrl()
741 versal_free_read_buffer(&req); in versal_efuse_read_boot_env_ctrl()
749 struct versal_nvm_read_req req = { in versal_efuse_read_offchip_revoke_id() local
757 if (versal_alloc_read_buffer(&req)) in versal_efuse_read_offchip_revoke_id()
760 if (versal_nvm_read(&req)) { in versal_efuse_read_offchip_revoke_id()
761 versal_free_read_buffer(&req); in versal_efuse_read_offchip_revoke_id()
765 memcpy(buf, versal_get_read_buffer(&req), EFUSE_REVOCATION_ID_LEN); in versal_efuse_read_offchip_revoke_id()
766 versal_free_read_buffer(&req); in versal_efuse_read_offchip_revoke_id()
773 struct versal_nvm_read_req req = { in versal_efuse_read_dec_only() local
780 if (versal_alloc_read_buffer(&req)) in versal_efuse_read_dec_only()
783 if (versal_nvm_read(&req)) { in versal_efuse_read_dec_only()
784 versal_free_read_buffer(&req); in versal_efuse_read_dec_only()
788 memcpy(buf, versal_get_read_buffer(&req), EFUSE_DEC_ONLY_LEN); in versal_efuse_read_dec_only()
789 versal_free_read_buffer(&req); in versal_efuse_read_dec_only()
797 struct versal_nvm_read_req req = { in versal_efuse_read_puf_sec_ctrl() local
801 if (versal_alloc_read_buffer(&req)) in versal_efuse_read_puf_sec_ctrl()
804 if (versal_nvm_read(&req)) { in versal_efuse_read_puf_sec_ctrl()
805 versal_free_read_buffer(&req); in versal_efuse_read_puf_sec_ctrl()
809 memcpy(buf, versal_get_read_buffer(&req), sizeof(*buf)); in versal_efuse_read_puf_sec_ctrl()
810 versal_free_read_buffer(&req); in versal_efuse_read_puf_sec_ctrl()
817 struct versal_nvm_read_req req = { in versal_efuse_read_puf() local
821 if (versal_alloc_read_buffer(&req)) in versal_efuse_read_puf()
824 memcpy(versal_get_read_buffer(&req), buf, sizeof(*buf)); in versal_efuse_read_puf()
826 if (versal_nvm_read(&req)) { in versal_efuse_read_puf()
827 versal_free_read_buffer(&req); in versal_efuse_read_puf()
831 memcpy(buf, versal_get_read_buffer(&req), sizeof(*buf)); in versal_efuse_read_puf()
832 versal_free_read_buffer(&req); in versal_efuse_read_puf()
853 struct versal_nvm_read_req req = { in versal_efuse_read_puf_as_user_fuse() local
857 req.ibuf[0].buf = &lbuf; in versal_efuse_read_puf_as_user_fuse()
858 req.ibuf[0].len = sizeof(lbuf); in versal_efuse_read_puf_as_user_fuse()
859 req.ibuf[1].buf = fuses; in versal_efuse_read_puf_as_user_fuse()
860 req.ibuf[1].len = sizeof(fuses); in versal_efuse_read_puf_as_user_fuse()
862 if (versal_nvm_read(&req)) in versal_efuse_read_puf_as_user_fuse()
886 struct versal_nvm_write_req req = { in versal_efuse_write_puf_as_user_fuse() local
892 req.ibuf[0].buf = &lbuf; in versal_efuse_write_puf_as_user_fuse()
893 req.ibuf[0].len = sizeof(lbuf); in versal_efuse_write_puf_as_user_fuse()
894 req.ibuf[1].buf = fuses; in versal_efuse_write_puf_as_user_fuse()
895 req.ibuf[1].len = sizeof(fuses); in versal_efuse_write_puf_as_user_fuse()
897 if (versal_nvm_write(&req)) in versal_efuse_write_puf_as_user_fuse()
906 struct versal_nvm_write_req req __aligned_efuse = { in versal_efuse_write_puf()
912 req.ibuf[0].buf = &cfg; in versal_efuse_write_puf()
913 req.ibuf[0].len = sizeof(cfg); in versal_efuse_write_puf()
915 if (versal_nvm_write(&req)) in versal_efuse_write_puf()
923 struct versal_nvm_write_req req __aligned_efuse = { in versal_bbram_write_aes_key()
938 req.ibuf[0].buf = buf; in versal_bbram_write_aes_key()
939 req.ibuf[0].len = 1024; in versal_bbram_write_aes_key()
941 if (versal_nvm_write(&req)) { in versal_bbram_write_aes_key()
952 struct versal_nvm_write_req req __aligned_efuse = { in versal_bbram_zeroize()
956 if (versal_nvm_write(&req)) in versal_bbram_zeroize()
964 struct versal_nvm_write_req req __aligned_efuse = { in versal_bbram_write_user_data()
969 if (versal_nvm_write(&req)) in versal_bbram_write_user_data()
977 struct versal_nvm_read_req req = { in versal_bbram_read_user_data() local
981 if (versal_alloc_read_buffer(&req)) in versal_bbram_read_user_data()
984 if (versal_nvm_read(&req)) { in versal_bbram_read_user_data()
985 versal_free_read_buffer(&req); in versal_bbram_read_user_data()
989 memcpy(data, versal_get_read_buffer(&req), sizeof(*data)); in versal_bbram_read_user_data()
990 versal_free_read_buffer(&req); in versal_bbram_read_user_data()
997 struct versal_nvm_write_req req __aligned_efuse = { in versal_bbram_lock_write_user_data()
1001 if (versal_nvm_write(&req)) in versal_bbram_lock_write_user_data()