mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-22 17:36:20 +03:00
gpu: nvgpu: unit: Add ACR DBG/PROD bins.
This patch adds acr_ucode_dbg/prod.bin The two new bin files are copies of the TOT acr_ucode.bin. They will act as placeholders till acr ucode with UCODE encryption gets production signed. This change also adds a check to select ACR ucode based on board type. Note: This support is added only for t19x. P4CL 27814148 Bug 2672836 Change-Id: Ib2f9fc2b23a8c50480a07baa130851c94533f345 Signed-off-by: smadhavan <smadhavan@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2270657 Reviewed-by: Vaibhav Kachore <vkachore@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
################################### tell Emacs this is a -*- makefile-gmake -*-
|
||||
#
|
||||
# Copyright (c) 2018-2019, NVIDIA CORPORATION. All rights reserved.
|
||||
# Copyright (c) 2018-2020, NVIDIA CORPORATION. All rights reserved.
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||
# copy of this software and associated documentation files (the "Software"),
|
||||
@@ -67,7 +67,8 @@ NV_FECS_IMG=fecs.bin
|
||||
NV_FECS_SIG_IMG=fecs_sig.bin
|
||||
NV_GPCCS_IMG=gpccs.bin
|
||||
NV_GPCCS_SIG_IMG=gpccs_sig.bin
|
||||
NV_ACR_UCODE_IMG=acr_ucode.bin
|
||||
NV_ACR_UCODE_PROD_IMG=acr_ucode_prod.bin
|
||||
NV_ACR_UCODE_DBG_IMG=acr_ucode_dbg.bin
|
||||
NV_PMU_BL_IMG=pmu_bl.bin
|
||||
NV_COMPONENT_SYSTEMIMAGE_DIR := $(NV_SYSTEMIMAGE_TEST_EXECUTABLE_DIR)/nvgpu_unit
|
||||
NV_UNIT_REQ_FIRMWARE_DIR := $(NV_COMPONENT_SYSTEMIMAGE_DIR)/firmware
|
||||
@@ -80,7 +81,8 @@ systemimage:: $(NV_COMPONENT_SYSTEMIMAGE_DIR) $(NV_COMPONENT_SYSTEMIMAGE_DIR)/$(
|
||||
$(NV_UNIT_REQ_FIRMWARE_DIR)/$(NV_FECS_SIG_IMG) \
|
||||
$(NV_UNIT_REQ_FIRMWARE_DIR)/$(NV_GPCCS_IMG) \
|
||||
$(NV_UNIT_REQ_FIRMWARE_DIR)/$(NV_GPCCS_SIG_IMG) \
|
||||
$(NV_UNIT_REQ_FIRMWARE_DIR)/$(NV_ACR_UCODE_IMG) \
|
||||
$(NV_UNIT_REQ_FIRMWARE_DIR)/$(NV_ACR_UCODE_PROD_IMG) \
|
||||
$(NV_UNIT_REQ_FIRMWARE_DIR)/$(NV_ACR_UCODE_DBG_IMG) \
|
||||
$(NV_UNIT_REQ_FIRMWARE_DIR)/$(NV_PMU_BL_IMG)
|
||||
|
||||
#make the output directory
|
||||
@@ -109,7 +111,9 @@ $(NV_UNIT_REQ_FIRMWARE_DIR)/$(NV_GPCCS_IMG) : $(NV_COMPONENT_DIR)/firmware/$(NV_
|
||||
$(CP) $< $@
|
||||
$(NV_UNIT_REQ_FIRMWARE_DIR)/$(NV_GPCCS_SIG_IMG) : $(NV_COMPONENT_DIR)/firmware/$(NV_GPCCS_SIG_IMG) $(NV_UNIT_REQ_FIRMWARE_DIR)
|
||||
$(CP) $< $@
|
||||
$(NV_UNIT_REQ_FIRMWARE_DIR)/$(NV_ACR_UCODE_IMG) : $(NV_COMPONENT_DIR)/firmware/$(NV_ACR_UCODE_IMG) $(NV_UNIT_REQ_FIRMWARE_DIR)
|
||||
$(NV_UNIT_REQ_FIRMWARE_DIR)/$(NV_ACR_UCODE_PROD_IMG) : $(NV_COMPONENT_DIR)/firmware/$(NV_ACR_UCODE_PROD_IMG) $(NV_UNIT_REQ_FIRMWARE_DIR)
|
||||
$(CP) $< $@
|
||||
$(NV_UNIT_REQ_FIRMWARE_DIR)/$(NV_ACR_UCODE_DBG_IMG) : $(NV_COMPONENT_DIR)/firmware/$(NV_ACR_UCODE_DBG_IMG) $(NV_UNIT_REQ_FIRMWARE_DIR)
|
||||
$(CP) $< $@
|
||||
$(NV_UNIT_REQ_FIRMWARE_DIR)/$(NV_PMU_BL_IMG) : $(NV_COMPONENT_DIR)/firmware/$(NV_PMU_BL_IMG) $(NV_UNIT_REQ_FIRMWARE_DIR)
|
||||
$(CP) $< $@
|
||||
|
||||
BIN
userspace/firmware/acr_ucode_dbg.bin
Normal file
BIN
userspace/firmware/acr_ucode_dbg.bin
Normal file
Binary file not shown.
BIN
userspace/firmware/acr_ucode_prod.bin
Normal file
BIN
userspace/firmware/acr_ucode_prod.bin
Normal file
Binary file not shown.
@@ -1183,10 +1183,18 @@ int test_falcon_bootstrap(struct unit_module *m, struct gk20a *g, void *__args)
|
||||
}
|
||||
#endif
|
||||
|
||||
acr_fw = nvgpu_request_firmware(g, HSBIN_ACR_UCODE_IMAGE, 0);
|
||||
if (acr_fw == NULL) {
|
||||
unit_return_fail(m, "%s ucode get fail for %s",
|
||||
HSBIN_ACR_UCODE_IMAGE, g->name);
|
||||
if (!g->ops.pmu.is_debug_mode_enabled(g)) {
|
||||
acr_fw = nvgpu_request_firmware(g, HSBIN_ACR_PROD_UCODE, 0);
|
||||
if (acr_fw == NULL) {
|
||||
unit_return_fail(m, "%s ucode get fail for %s",
|
||||
HSBIN_ACR_PROD_UCODE, g->name);
|
||||
}
|
||||
} else {
|
||||
acr_fw = nvgpu_request_firmware(g, HSBIN_ACR_DBG_UCODE, 0);
|
||||
if (acr_fw == NULL) {
|
||||
unit_return_fail(m, "%s ucode get fail for %s",
|
||||
HSBIN_ACR_DBG_UCODE, g->name);
|
||||
}
|
||||
}
|
||||
|
||||
hs_bin_hdr = (struct bin_hdr *)(void *)acr_fw->data;
|
||||
|
||||
Reference in New Issue
Block a user