@@ -35,6 +35,7 @@ enum cpu_boot_err {
35
35
CPU_BOOT_ERR_TPM_FAIL = 20 ,
36
36
CPU_BOOT_ERR_TMP_THRESH_INIT_FAIL = 21 ,
37
37
CPU_BOOT_ERR_EEPROM_FAIL = 22 ,
38
+ CPU_BOOT_ERR_ENG_ARC_MEM_SCRUB_FAIL = 23 ,
38
39
CPU_BOOT_ERR_ENABLED = 31 ,
39
40
CPU_BOOT_ERR_SCND_EN = 63 ,
40
41
CPU_BOOT_ERR_LAST = 64 /* we have 2 registers of 32 bits */
@@ -51,6 +52,7 @@ enum cpu_boot_err {
51
52
(1 << CPU_BOOT_ERR_DEVICE_UNUSABLE_FAIL) | \
52
53
(1 << CPU_BOOT_ERR_BINNING_FAIL) | \
53
54
(1 << CPU_BOOT_ERR_DRAM_SKIPPED) | \
55
+ (1 << CPU_BOOT_ERR_ENG_ARC_MEM_SCRUB_FAIL) | \
54
56
(1 << CPU_BOOT_ERR_EEPROM_FAIL))
55
57
56
58
/*
@@ -132,6 +134,9 @@ enum cpu_boot_err {
132
134
* CPU_BOOT_ERR_EEPROM_FAIL Failed reading EEPROM data. Defaults
133
135
* are used.
134
136
*
137
+ * CPU_BOOT_ERR_ENG_ARC_MEM_SCRUB_FAIL Failed scrubbing the Engines/ARCFarm
138
+ * memories. Boot disabled until reset.
139
+ *
135
140
* CPU_BOOT_ERR0_ENABLED Error registers enabled.
136
141
* This is a main indication that the
137
142
* running FW populates the error
@@ -157,6 +162,7 @@ enum cpu_boot_err {
157
162
#define CPU_BOOT_ERR0_TPM_FAIL (1 << CPU_BOOT_ERR_TPM_FAIL)
158
163
#define CPU_BOOT_ERR0_TMP_THRESH_INIT_FAIL (1 << CPU_BOOT_ERR_TMP_THRESH_INIT_FAIL)
159
164
#define CPU_BOOT_ERR0_EEPROM_FAIL (1 << CPU_BOOT_ERR_EEPROM_FAIL)
165
+ #define CPU_BOOT_ERR0_ENG_ARC_MEM_SCRUB_FAIL (1 << CPU_BOOT_ERR_ENG_ARC_MEM_SCRUB_FAIL)
160
166
#define CPU_BOOT_ERR0_ENABLED (1 << CPU_BOOT_ERR_ENABLED)
161
167
#define CPU_BOOT_ERR1_ENABLED (1 << CPU_BOOT_ERR_ENABLED)
162
168
@@ -744,36 +750,6 @@ struct comms_status {
744
750
};
745
751
};
746
752
747
- /**
748
- * HL_MODULES_MAX_NUM is determined by the size of modules_mask in struct
749
- * hl_component_versions
750
- */
751
- enum hl_modules {
752
- HL_MODULES_BOOT_INFO = 0 ,
753
- HL_MODULES_EEPROM ,
754
- HL_MODULES_FDT ,
755
- HL_MODULES_I2C ,
756
- HL_MODULES_LZ4 ,
757
- HL_MODULES_MBEDTLS ,
758
- HL_MODULES_MAX_NUM = 16
759
- };
760
-
761
- /**
762
- * HL_COMPONENTS_MAX_NUM is determined by the size of components_mask in
763
- * struct cpucp_versions
764
- */
765
- enum hl_components {
766
- HL_COMPONENTS_PID = 0 ,
767
- HL_COMPONENTS_MGMT ,
768
- HL_COMPONENTS_PREBOOT ,
769
- HL_COMPONENTS_PPBOOT ,
770
- HL_COMPONENTS_ARMCP ,
771
- HL_COMPONENTS_CPLD ,
772
- HL_COMPONENTS_UBOOT ,
773
- HL_COMPONENTS_FUSE ,
774
- HL_COMPONENTS_MAX_NUM = 16
775
- };
776
-
777
753
#define NAME_MAX_LEN 32 /* bytes */
778
754
struct hl_module_data {
779
755
__u8 name [NAME_MAX_LEN ];
@@ -787,8 +763,6 @@ struct hl_module_data {
787
763
* @component: version of the component itself.
788
764
* @fw_os: Firmware OS Version.
789
765
* @comp_name: Name of the component.
790
- * @modules_mask: i'th bit (from LSB) is a flag - on if module i in enum
791
- * hl_modules is used.
792
766
* @modules_counter: number of set bits in modules_mask.
793
767
* @reserved: reserved for future use.
794
768
* @modules: versions of the component's modules. Elborated explanation in
@@ -800,9 +774,8 @@ struct hl_component_versions {
800
774
__u8 component [VERSION_MAX_LEN ];
801
775
__u8 fw_os [VERSION_MAX_LEN ];
802
776
__u8 comp_name [NAME_MAX_LEN ];
803
- __le16 modules_mask ;
804
777
__u8 modules_counter ;
805
- __u8 reserved [1 ];
778
+ __u8 reserved [3 ];
806
779
struct hl_module_data modules [];
807
780
};
808
781
0 commit comments