summaryrefslogtreecommitdiffstats
path: root/sbe/sample/pk_scom.h
blob: 52fd589326ec82225f1e65ca6d039bf61c7e2084 (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
//-----------------------------------------------------------------------------
// *! (C) Copyright International Business Machines Corp. 2014
// *! All Rights Reserved -- Property of IBM
// *! *** IBM Confidential ***
//-----------------------------------------------------------------------------

/// \file sample_main.c
/// \brief Sample program that creates and starts a thread
///
/// This file demonstrates how to create a thread and run it.  It also provides
/// an example of how to add traces to the code.

#ifndef __PK_SCOM_H__
#define __PK_SCOM_H__

/// SCOM operations return non-zero error codes that may or may not indicate
/// an actual error, depending on which SCOM is begin accessed.  This error
/// code is returned as the value of get/putscom().  The error code value
/// increases with teh severity of the error.
#define CFAM_FSI_STATUS_0x00001007  0x00001007
typedef union cfam_fsi_status_reg {
  uint64_t value;
  struct  {
    uint64_t ignore_fields1   : 17  ;
    uint64_t pib_error_code   : 3   ;
    uint64_t igore_fields2    : 44  ;
  }  fields;
}  cfam_fsi_status_reg_t;

#define PCB_ERROR_NONE              0
#define PCB_ERROR_RESOURCE_OCCUPIED 1
#define PCB_ERROR_CHIPLET_OFFLINE   2
#define PCB_ERROR_PARTIAL_GOOD      3
#define PCB_ERROR_ADDRESS_ERROR     4
#define PCB_ERROR_CLOCK_ERROR       5
#define PCB_ERROR_PACKET_ERROR      6
#define PCB_ERROR_TIMEOUT           7

uint32_t putscom( uint32_t i_chiplet, uint32_t i_address, uint64_t i_data);

uint32_t getscom( uint32_t i_chiplet, uint32_t i_address, uint64_t *o_data);

#endif  // __PK_SCOM_H__
OpenPOWER on IntegriCloud