diff options
author | Supriya <ssharatkumar@nvidia.com> | 2014-10-27 08:01:04 -0400 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2015-03-18 15:11:56 -0400 |
commit | eb690cb391ca0578a2c086eff5085f16c32f651e (patch) | |
tree | eaa7ba386296c52a3ded108ca53418b5a91cf8ae /drivers/gpu/nvgpu/gm20b/acr_gm20b.h | |
parent | 8c6a9fd1151299697037d58f33cfa306d8ac5d87 (diff) |
gpu: nvgpu: Changes to support LS sig
Support added to send PMU and FECS signatures
to ACR ucode
Bug 200046413
Change-Id: Ie1babb640be20a697ad4d6dd18bd11161edb263c
Signed-off-by: Vijayakumar <vsubbu@nvidia.com>
Signed-off-by: Supriya <ssharatkumar@nvidia.com>
Signed-off-by: Vijayakumar <vsubbu@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gm20b/acr_gm20b.h')
-rw-r--r-- | drivers/gpu/nvgpu/gm20b/acr_gm20b.h | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/drivers/gpu/nvgpu/gm20b/acr_gm20b.h b/drivers/gpu/nvgpu/gm20b/acr_gm20b.h index 5dddc0b2..5fd5c39b 100644 --- a/drivers/gpu/nvgpu/gm20b/acr_gm20b.h +++ b/drivers/gpu/nvgpu/gm20b/acr_gm20b.h | |||
@@ -28,6 +28,8 @@ | |||
28 | #define GM20B_PMU_UCODE_DESC "gpmu_ucode_desc.bin" | 28 | #define GM20B_PMU_UCODE_DESC "gpmu_ucode_desc.bin" |
29 | #define GM20B_HSBIN_PMU_UCODE_IMAGE "acr_ucode.bin" | 29 | #define GM20B_HSBIN_PMU_UCODE_IMAGE "acr_ucode.bin" |
30 | #define GM20B_HSBIN_PMU_BL_UCODE_IMAGE "pmu_bl.bin" | 30 | #define GM20B_HSBIN_PMU_BL_UCODE_IMAGE "pmu_bl.bin" |
31 | #define GM20B_PMU_UCODE_SIG "pmu_sig.bin" | ||
32 | #define GM20B_FECS_UCODE_SIG "fecs_sig.bin" | ||
31 | 33 | ||
32 | #define LSFM_DISABLE_MASK_NONE (0x00000000) /*Disable all LS falcons*/ | 34 | #define LSFM_DISABLE_MASK_NONE (0x00000000) /*Disable all LS falcons*/ |
33 | #define LSFM_DISABLE_MASK_ALL (0xFFFFFFFF) /*Enable all LS falcons*/ | 35 | #define LSFM_DISABLE_MASK_ALL (0xFFFFFFFF) /*Enable all LS falcons*/ |
@@ -60,10 +62,13 @@ | |||
60 | /*! | 62 | /*! |
61 | * Image Status Defines | 63 | * Image Status Defines |
62 | */ | 64 | */ |
63 | #define LSF_IMAGE_STATUS_NONE (0) | 65 | #define LSF_IMAGE_STATUS_NONE (0) |
64 | #define LSF_IMAGE_STATUS_COPY (1) | 66 | #define LSF_IMAGE_STATUS_COPY (1) |
65 | #define LSF_IMAGE_STATUS_VALIDATION (2) | 67 | #define LSF_IMAGE_STATUS_VALIDATION_CODE_FAILED (2) |
66 | #define LSF_IMAGE_STATUS_BOOTSTRAP_READY (3) | 68 | #define LSF_IMAGE_STATUS_VALIDATION_DATA_FAILED (3) |
69 | #define LSF_IMAGE_STATUS_VALIDATION_DONE (4) | ||
70 | #define LSF_IMAGE_STATUS_VALIDATION_SKIPPED (5) | ||
71 | #define LSF_IMAGE_STATUS_BOOTSTRAP_READY (6) | ||
67 | 72 | ||
68 | /*LSB header related defines*/ | 73 | /*LSB header related defines*/ |
69 | #define NV_FLCN_ACR_LSF_FLAG_LOAD_CODE_AT_0_FALSE 0 | 74 | #define NV_FLCN_ACR_LSF_FLAG_LOAD_CODE_AT_0_FALSE 0 |
@@ -156,6 +161,10 @@ struct lsf_lsb_header { | |||
156 | u32 bl_imem_off; | 161 | u32 bl_imem_off; |
157 | u32 bl_data_off; | 162 | u32 bl_data_off; |
158 | u32 bl_data_size; | 163 | u32 bl_data_size; |
164 | u32 app_code_off; | ||
165 | u32 app_code_size; | ||
166 | u32 app_data_off; | ||
167 | u32 app_data_size; | ||
159 | u32 flags; | 168 | u32 flags; |
160 | }; | 169 | }; |
161 | 170 | ||
@@ -178,6 +187,7 @@ struct lsf_lsb_header { | |||
178 | * data_size - Size of data block. Should be multiple of 256B | 187 | * data_size - Size of data block. Should be multiple of 256B |
179 | */ | 188 | */ |
180 | struct flcn_bl_dmem_desc { | 189 | struct flcn_bl_dmem_desc { |
190 | u32 reserved[4]; /*Should be the first element..*/ | ||
181 | u32 signature[4]; /*Should be the first element..*/ | 191 | u32 signature[4]; /*Should be the first element..*/ |
182 | u32 ctx_dma; | 192 | u32 ctx_dma; |
183 | u32 code_dma_base; | 193 | u32 code_dma_base; |
@@ -297,10 +307,14 @@ struct flcn_acr_regions { | |||
297 | * nonwpr_ucode_blob_end -stores non-WPR end where kernel stores ucode blob | 307 | * nonwpr_ucode_blob_end -stores non-WPR end where kernel stores ucode blob |
298 | */ | 308 | */ |
299 | struct flcn_acr_desc { | 309 | struct flcn_acr_desc { |
300 | u32 reserved_dmem[(LSF_BOOTSTRAP_OWNER_RESERVED_DMEM_SIZE/4)]; | 310 | union { |
311 | u32 reserved_dmem[(LSF_BOOTSTRAP_OWNER_RESERVED_DMEM_SIZE/4)]; | ||
312 | u32 signatures[4]; | ||
313 | } ucode_reserved_space; | ||
301 | /*Always 1st*/ | 314 | /*Always 1st*/ |
302 | u32 wpr_region_id; | 315 | u32 wpr_region_id; |
303 | u32 wpr_offset; | 316 | u32 wpr_offset; |
317 | u32 mmu_mem_range; | ||
304 | struct flcn_acr_regions regions; | 318 | struct flcn_acr_regions regions; |
305 | u32 nonwpr_ucode_blob_size; | 319 | u32 nonwpr_ucode_blob_size; |
306 | u64 nonwpr_ucode_blob_start; | 320 | u64 nonwpr_ucode_blob_start; |