summaryrefslogtreecommitdiffstats
path: root/hwp/perv/p9_sbe_chiplet_reset.H
blob: ff6352cbbcd21a440398b47677e6f324d6794824 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
//------------------------------------------------------------------------------
/// @file  p9_sbe_chiplet_reset.H
///
/// @brief Identify all good chiplets excluding EQ/EC
/// Setup multicast groups for all chiplets
/// For all good chiplets excluding EQ/EC
/// For all enabled chiplets
// *!
// *! OWNER NAME  : Abhishek Agarwal  Email: abagarw8@in.ibm.com
// *! BACKUP NAME :                   Email:
//------------------------------------------------------------------------------
// *HWP HWP Owner   : Abhishek Agarwal <abagarw8@in.ibm.com>
// *HWP FW Owner    : Brian Silver <bsilver@us.ibm.com>
// *HWP Team        : Perv
// *HWP Level       : 1
// *HWP Consumed by : SBE
//------------------------------------------------------------------------------


#ifndef _P9_SBE_CHIPLET_RESET_H_
#define _P9_SBE_CHIPLET_RESET_H_


#include <fapi2.H>


typedef fapi2::ReturnCode (*p9_sbe_chiplet_reset_FP_t)(const
        fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> &);

/// @brief Identify all good chiplets excluding EQ/EC
///      -- All chiplets will be reset and PLLs started
///      -- Partial bad - All nest Chiplets must be good, MC, IO can be partial bad
/// Setup multicast groups for all chiplets
///      -- Can't use the multicast for all non-nest chiplets
///      -- This is intended to be the eventual product setting
///      -- This includes the core/cache chiplets
/// For all good chiplets excluding EQ/EC
///      -- Setup Chiplet GP3 regs
///          -- Reset to default state
///          -- Set chiplet enable on all all good chiplets excluding EQ/EC
/// For all enabled chiplets
///      -- Start vital clocks and release endpoint reset
///      -- PCB Slave error register Reset
///
///
/// @param[in]     i_target_chip   Reference to TARGET_TYPE_PROC_CHIP target
/// @return  FAPI2_RC_SUCCESS if success, else error code.
extern "C"
{
    fapi2::ReturnCode p9_sbe_chiplet_reset(const
                                           fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> & i_target_chip);
}

#endif
OpenPOWER on IntegriCloud