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__
|