summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gm20b/acr_gm20b.h
diff options
context:
space:
mode:
authorSupriya <ssharatkumar@nvidia.com>2014-10-27 08:01:04 -0400
committerDan Willemsen <dwillemsen@nvidia.com>2015-03-18 15:11:56 -0400
commiteb690cb391ca0578a2c086eff5085f16c32f651e (patch)
treeeaa7ba386296c52a3ded108ca53418b5a91cf8ae /drivers/gpu/nvgpu/gm20b/acr_gm20b.h
parent8c6a9fd1151299697037d58f33cfa306d8ac5d87 (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.h24
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 */
180struct flcn_bl_dmem_desc { 189struct 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 */
299struct flcn_acr_desc { 309struct 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;