summaryrefslogtreecommitdiffstats
path: root/src/usr/hwpf/hwp/occ/occ_procedures/p8_occ_sram_init.C
blob: 4cc826c6973929efa379ddb976ef8c21a8bcbf06 (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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
/* IBM_PROLOG_BEGIN_TAG                                                   */
/* This is an automatically generated prolog.                             */
/*                                                                        */
/* $Source: src/usr/hwpf/hwp/occ/occ_procedures/p8_occ_sram_init.C $      */
/*                                                                        */
/* OpenPOWER HostBoot Project                                             */
/*                                                                        */
/* COPYRIGHT International Business Machines Corp. 2013,2014              */
/*                                                                        */
/* Licensed under the Apache License, Version 2.0 (the "License");        */
/* you may not use this file except in compliance with the License.       */
/* You may obtain a copy of the License at                                */
/*                                                                        */
/*     http://www.apache.org/licenses/LICENSE-2.0                         */
/*                                                                        */
/* Unless required by applicable law or agreed to in writing, software    */
/* distributed under the License is distributed on an "AS IS" BASIS,      */
/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or        */
/* implied. See the License for the specific language governing           */
/* permissions and limitations under the License.                         */
/*                                                                        */
/* IBM_PROLOG_END_TAG                                                     */
// $Id: p8_occ_sram_init.C,v 1.4 2013/08/13 18:17:02 jimyac Exp $
// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/p8_occ_sram_init.C,v $
//------------------------------------------------------------------------------
// *! (C) Copyright International Business Machines Corp. 2011
// *! All Rights Reserved -- Property of IBM
// *! *** IBM Confidential ***
//------------------------------------------------------------------------------
// *! OWNER NAME: Jim Yacynych        Email: ajimyac@us.ibm.com
// *!
// *! General Description:
// *!        
// *!   The purpose of this procedure is to initialize the OCC SRAM
// *!   
// *!
// *! Procedure Prereq:
// *!   o System clocks are running
// *!
//------------------------------------------------------------------------------

// ----------------------------------------------------------------------
// Includes
// ----------------------------------------------------------------------

#include "p8_pm.H"
#include "p8_occ_sram_init.H"

extern "C" {

using namespace fapi;

// ----------------------------------------------------------------------
// Constant definitions
// ----------------------------------------------------------------------

// ----------------------------------------------------------------------
// Global variables
// ----------------------------------------------------------------------


// ----------------------------------------------------------------------
// Function prototypes
// ----------------------------------------------------------------------


// ----------------------------------------------------------------------
// Function definitions
// ----------------------------------------------------------------------

// \param[in] i_target Chip target
/// \param[in] mode     Control mode for the procedure 
///                     (PM_CONFIG, PM_INIT, PM_RESET)

/// \retval PM_SUCCESS if something good happens,
/// \retval PM_OCCSRAM_CODE_BAD* otherwise

fapi::ReturnCode
p8_occ_sram_init(const Target& i_target, uint32_t mode)
{
  fapi::ReturnCode rc;
  //ecmdDataBufferBase data;
  //ecmdDataBufferBase mask;
  
  
  FAPI_INF("Executing p8_occ_sram_init in mode %x ...", mode);
  
  /// -------------------------------
  /// Configuration:  perform translation of any Platform Attributes into Feature Attributes
  /// that are applied during Initalization
  if (mode == PM_CONFIG) 
  {
  
    FAPI_INF("OCC SRAM configuration...");  
    FAPI_INF("---> None defined...");
    
  }
  
  /// -------------------------------
  /// Initialization:  perform order or dynamic operations to initialize 
  /// the OCC SRAM using necessary Platform or Feature attributes. 
  else if (mode == PM_INIT) 
  {

    FAPI_INF("OCC SRAM initialization...");
 
  } 
  
  /// -------------------------------
  /// Reset:  perform reset of OCC SRAM so that it can reconfigured and 
  /// reinitialized 
  else if (mode == PM_RESET) 
  {
  
    FAPI_INF("OCC SRAM reset...");
    
  } 
   
  /// -------------------------------
  /// Unsupported Mode
  else 
  {
  
    FAPI_ERR("Unknown mode passed to p8_occ_sram_init. Mode %x ....", mode);
    const uint32_t& MODE = mode;
    FAPI_SET_HWP_ERROR(rc, RC_PROCPM_OCCSRAM_CODE_BAD_MODE);
    
  }
  
  return rc;

}

} //end extern C

OpenPOWER on IntegriCloud