57 lines
1.5 KiB
C
57 lines
1.5 KiB
C
// +FHDR------------------------------------------------------------
|
|
// Copyright (c) 2022 SmartLogic.
|
|
// ALL RIGHTS RESERVED
|
|
// -----------------------------------------------------------------
|
|
// Filename : ucp_handshake.h
|
|
// Author : xianfeng.du
|
|
// Created On : 2022-07-22
|
|
// Last Modified :
|
|
// -----------------------------------------------------------------
|
|
// Description:
|
|
//
|
|
//
|
|
// -FHDR------------------------------------------------------------
|
|
|
|
#ifndef __UCP_HANDSHAKE_H__
|
|
#define __UCP_HANDSHAKE_H__
|
|
|
|
#include "typedef.h"
|
|
|
|
#define MAX_NUM_APE 8
|
|
#define MAX_NUM_SPU 12
|
|
#define MAX_NUM_CORE (MAX_NUM_SPU+1)
|
|
#define NPU_CORE_ID MAX_NUM_SPU
|
|
#define PET_RFM_SPU0_CORE_ID 8
|
|
#define PET_RFM_SPU1_CORE_ID 9
|
|
#define ECS_RFM_SPU0_CORE_ID 10
|
|
#define ECS_RFM_SPU1_CORE_ID 11
|
|
|
|
#define HANDSHKAE_REQ_VALUE 0x5A5A5A5A
|
|
#define HANDSHKAE_RESP_VALUE 0xA5A5A5A5
|
|
|
|
#ifndef PCIE_BACKHAUL
|
|
#define HANDSHKAE_MASK 0x00000e00//excluded APE cores
|
|
#elif (defined(PCIE_WITH_JESD))
|
|
#define HANDSHKAE_MASK 0x00000e00//excluded APE cores
|
|
#else
|
|
#define HANDSHKAE_MASK 0x00000f00//excluded APE cores
|
|
#endif
|
|
|
|
typedef struct tUcpHandshake{
|
|
uint32_t request[MAX_NUM_CORE];
|
|
uint32_t response[MAX_NUM_CORE];
|
|
uint32_t heartbeat[MAX_NUM_CORE];
|
|
} UcpHandshake_t;
|
|
|
|
UcpHandshake_t * get_handshake_info(void);
|
|
void handshake_master_with_slave(uint32_t core_mask);
|
|
void handshake_slave_with_master(void);
|
|
uint32_t get_host_core_mask(void);
|
|
void handshake_request_from_host(uint32_t core_mask);
|
|
void handshake_response_to_host(uint32_t core_mask);
|
|
|
|
#endif
|
|
|
|
|
|
|