File indexing completed on 2025-05-11 08:23:39
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056 #ifndef LIBBSP_ARM_TMS570_SELFTEST_H
0057 #define LIBBSP_ARM_TMS570_SELFTEST_H
0058
0059 #include <stdint.h>
0060 #include <stdbool.h>
0061
0062 #define CCMSELFCHECK_FAIL1 1U
0063 #define CCMSELFCHECK_FAIL2 2U
0064 #define CCMSELFCHECK_FAIL3 3U
0065 #define CCMSELFCHECK_FAIL4 4U
0066 #define PBISTSELFCHECK_FAIL1 5U
0067 #define EFCCHECK_FAIL1 6U
0068 #define EFCCHECK_FAIL2 7U
0069 #define FMCECCCHECK_FAIL1 8U
0070 #define CHECKB0RAMECC_FAIL1 9U
0071 #define CHECKB1RAMECC_FAIL1 10U
0072 #define CHECKFLASHECC_FAIL1 11U
0073 #define VIMPARITYCHECK_FAIL1 12U
0074 #define DMAPARITYCHECK_FAIL1 13U
0075 #define HET1PARITYCHECK_FAIL1 14U
0076 #define HTU1PARITYCHECK_FAIL1 15U
0077 #define HET2PARITYCHECK_FAIL1 16U
0078 #define HTU2PARITYCHECK_FAIL1 17U
0079 #define ADC1PARITYCHECK_FAIL1 18U
0080 #define ADC2PARITYCHECK_FAIL1 19U
0081 #define CAN1PARITYCHECK_FAIL1 20U
0082 #define CAN2PARITYCHECK_FAIL1 21U
0083 #define CAN3PARITYCHECK_FAIL1 22U
0084 #define MIBSPI1PARITYCHECK_FAIL1 23U
0085 #define MIBSPI3PARITYCHECK_FAIL1 24U
0086 #define MIBSPI5PARITYCHECK_FAIL1 25U
0087 #define CHECKRAMECC_FAIL1 26U
0088 #define CHECKRAMECC_FAIL2 27U
0089 #define CHECKCLOCKMONITOR_FAIL1 28U
0090 #define CHECKFLASHEEPROMECC_FAIL1 29U
0091 #define CHECKFLASHEEPROMECC_FAIL2 31U
0092 #define CHECKFLASHEEPROMECC_FAIL3 32U
0093 #define CHECKFLASHEEPROMECC_FAIL4 33U
0094 #define CHECKPLL1SLIP_FAIL1 34U
0095 #define CHECKRAMADDRPARITY_FAIL1 35U
0096 #define CHECKRAMADDRPARITY_FAIL2 36U
0097 #define CHECKRAMUERRTEST_FAIL1 37U
0098 #define CHECKRAMUERRTEST_FAIL2 38U
0099 #define FMCBUS1PARITYCHECK_FAIL1 39U
0100 #define FMCBUS1PARITYCHECK_FAIL2 40U
0101 #define PBISTSELFCHECK_FAIL2 41U
0102 #define PBISTSELFCHECK_FAIL3 42U
0103
0104
0105 #define PBIST_ROM_PBIST_RAM_GROUP 1U
0106 #define STC_ROM_PBIST_RAM_GROUP 2U
0107
0108 #define VIMRAMLOC (*(volatile uint32_t *)0xFFF82000U)
0109 #define VIMRAMPARLOC (*(volatile uint32_t *)0xFFF82400U)
0110
0111 #define NHET1RAMPARLOC (*(volatile uint32_t *)0xFF462000U)
0112 #define NHET2RAMPARLOC (*(volatile uint32_t *)0xFF442000U)
0113 #define adcPARRAM1 (*(volatile uint32_t *)(0xFF3E0000U + 0x1000U))
0114 #define adcPARRAM2 (*(volatile uint32_t *)(0xFF3A0000U + 0x1000U))
0115 #define canPARRAM1 (*(volatile uint32_t *)(0xFF1E0000U + 0x10U))
0116 #define canPARRAM2 (*(volatile uint32_t *)(0xFF1C0000U + 0x10U))
0117 #define canPARRAM3 (*(volatile uint32_t *)(0xFF1A0000U + 0x10U))
0118 #define HTU1PARLOC (*(volatile uint32_t *)0xFF4E0200U)
0119 #define HTU2PARLOC (*(volatile uint32_t *)0xFF4C0200U)
0120
0121 #define NHET1RAMLOC (*(volatile uint32_t *)0xFF460000U)
0122 #define NHET2RAMLOC (*(volatile uint32_t *)0xFF440000U)
0123 #define HTU1RAMLOC (*(volatile uint32_t *)0xFF4E0000U)
0124 #define HTU2RAMLOC (*(volatile uint32_t *)0xFF4C0000U)
0125
0126 #define adcRAM1 (*(volatile uint32_t *)0xFF3E0000U)
0127 #define adcRAM2 (*(volatile uint32_t *)0xFF3A0000U)
0128 #define canRAM1 (*(volatile uint32_t *)0xFF1E0000U)
0129 #define canRAM2 (*(volatile uint32_t *)0xFF1C0000U)
0130 #define canRAM3 (*(volatile uint32_t *)0xFF1A0000U)
0131
0132 #define DMARAMPARLOC (*(volatile uint32_t *)(0xFFF80A00U))
0133 #define DMARAMLOC (*(volatile uint32_t *)(0xFFF80000U))
0134
0135 #define MIBSPI1RAMLOC (*(volatile uint32_t *)(0xFF0E0000U))
0136 #define MIBSPI3RAMLOC (*(volatile uint32_t *)(0xFF0C0000U))
0137 #define MIBSPI5RAMLOC (*(volatile uint32_t *)(0xFF0A0000U))
0138
0139 #define mibspiPARRAM1 (*(volatile uint32_t *)(0xFF0E0000U + 0x00000400U))
0140 #define mibspiPARRAM3 (*(volatile uint32_t *)(0xFF0C0000U + 0x00000400U))
0141 #define mibspiPARRAM5 (*(volatile uint32_t *)(0xFF0A0000U + 0x00000400U))
0142
0143
0144
0145
0146
0147
0148
0149
0150
0151
0152 enum pbistPort {
0153 PBIST_PORT0 = 0U,
0154 PBIST_PORT1 = 1U
0155 };
0156
0157 enum {
0158 PBIST_TripleReadSlow = 0x00000001U,
0159 PBIST_TripleReadFast = 0x00000002U,
0160 PBIST_March13N_DP = 0x00000004U,
0161 };
0162
0163 uint32_t tms570_efc_check( void );
0164
0165 bool tms570_efc_check_self_test( void );
0166
0167 void bsp_selftest_fail_notification( uint32_t flag );
0168
0169 void tms570_memory_port0_fail_notification(
0170 uint32_t groupSelect,
0171 uint32_t dataSelect,
0172 uint32_t address,
0173 uint32_t data
0174 );
0175
0176 void tms570_esm_channel_sr_clear(
0177 unsigned grp,
0178 unsigned chan
0179 );
0180
0181 int tms570_esm_channel_sr_get(
0182 unsigned grp,
0183 unsigned chan
0184 );
0185
0186 void tms570_pbist_self_check( void );
0187
0188 void tms570_pbist_run(
0189 uint32_t raminfoL,
0190 uint32_t algomask
0191 );
0192
0193 bool tms570_pbist_is_test_completed( void );
0194
0195 bool tms570_pbist_is_test_passed( void );
0196
0197 void tms570_pbist_fail( void );
0198
0199 void tms570_pbist_stop( void );
0200
0201 void tms570_pbist_run_and_check( uint32_t raminfoL, uint32_t algomask );
0202
0203 void tms570_enable_parity( void );
0204
0205 void tms570_disable_parity( void );
0206
0207 bool tms570_efc_stuck_zero( void );
0208
0209 void tms570_efc_self_test( void );
0210
0211 bool tms570_pbist_port_test_status( uint32_t port );
0212
0213 void tms570_check_tcram_ecc( void );
0214
0215 #endif