AM62Px MCU+ SDK  09.02.01
sdl_pbist_priv.h
Go to the documentation of this file.
1 /* Copyright (C) 2023 Texas Instruments Incorporated
2  *
3  * Redistribution and use in source and binary forms, with or without
4  * modification, are permitted provided that the following conditions
5  * are met:
6  *
7  * Redistributions of source code must retain the above copyright
8  * notice, this list of conditions and the following disclaimer.
9  *
10  * Redistributions in binary form must reproduce the above copyright
11  * notice, this list of conditions and the following disclaimer in the
12  * documentation and/or other materials provided with the
13  * distribution.
14  *
15  * Neither the name of Texas Instruments Incorporated nor the names of
16  * its contributors may be used to endorse or promote products derived
17  * from this software without specific prior written permission.
18  *
19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30  *
31  */
32 
43 #ifndef SDL_PBIST_PRIV_H_
44 #define SDL_PBIST_PRIV_H_
45 
46 #include <sdl/sdl_esm.h>
47 #include <sdl/sdl_pbist.h>
48 
49 #ifdef __cplusplus
50 extern "C" {
51 #endif
52 
53 #define PBIST_MAX_NUM_RUNS 2
54 
55 #define PBIST_NOT_DONE (0U)
56 #define PBIST_DONE (1U)
57 
58 #define SDL_PBIST_INTERRUPT_INVALID (0xFFFFFFFFU)
59 
60 typedef struct
61 {
64  uint32_t numPBISTRuns;
66  uint32_t interruptNumber;
68  uint32_t esmEventNumber;
69  volatile uint32_t doneFlag;
72 
74 
75 void SDL_PBIST_eventHandler(uint32_t coreIndex);
76 
78 
79 #ifdef __cplusplus
80 }
81 #endif
82 
83 #endif /* SDL_PBIST_PRIV_H_ */
SDL_PBIST_checkDone
void SDL_PBIST_checkDone(SDL_pbistInstInfo *pInfo)
SDL_pbistRegs
Definition: sdlr_pbist.h:53
SDL_pbistInstInfo::doneFlag
volatile uint32_t doneFlag
Definition: sdl_pbist_priv.h:69
SDL_ESM_Inst
SDL_ESM_Inst
Definition: sdl_esm_soc.h:61
sdl_esm.h
This file contains the SDL ESM API's.
SDL_PBIST_inst
SDL_PBIST_inst
PBIST instance.
Definition: sdl_soc_pbist.h:61
SDL_pbistInstInfo::esmInst
SDL_ESM_Inst esmInst
Definition: sdl_pbist_priv.h:67
SDL_pbistInstInfo::PBISTNegConfigRun
SDL_PBIST_configNeg PBISTNegConfigRun
Definition: sdl_pbist_priv.h:70
sdl_pbist.h
This file contains the SDL PBIST API's.
SDL_PBIST_config
This structure contains the different configuration used for PBIST.
Definition: sdl_ip_pbist.h:71
SDL_pbistInstInfo::pPBISTRegs
SDL_pbistRegs * pPBISTRegs
Definition: sdl_pbist_priv.h:63
SDL_PBIST_eventHandler
void SDL_PBIST_eventHandler(uint32_t coreIndex)
SDL_pbistInstInfo
Definition: sdl_pbist_priv.h:61
SDL_pbistInstInfo::esmEventNumber
uint32_t esmEventNumber
Definition: sdl_pbist_priv.h:68
SDL_pbistInstInfo::interruptNumber
uint32_t interruptNumber
Definition: sdl_pbist_priv.h:66
SDL_pbistInstInfo::PBISTRegsHiAddress
uint64_t PBISTRegsHiAddress
Definition: sdl_pbist_priv.h:62
PBIST_MAX_NUM_RUNS
#define PBIST_MAX_NUM_RUNS
Definition: sdl_pbist_priv.h:53
SDL_PBIST_configNeg
This structure contains the different configuration used for PBIST for the failure insertion test to ...
Definition: sdl_ip_pbist.h:102
SDL_PBIST_getInstInfo
SDL_pbistInstInfo * SDL_PBIST_getInstInfo(SDL_PBIST_inst instance)
SDL_pbistInstInfo::numPBISTRuns
uint32_t numPBISTRuns
Definition: sdl_pbist_priv.h:64