mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-26 14:55:16 +00:00

This patch modifies several basic mailbox driver features to prepare for FCS enablement: - Job id management for asynchronous response - SDM command buffer full Signed-off-by: Abdul Halim, Muhammad Hadi Asyrafi <muhammad.hadi.asyrafi.abdul.halim@intel.com> Change-Id: I78168dfb6c521d70d9cba187356b7a3c8e9b62d2
73 lines
1.9 KiB
C
73 lines
1.9 KiB
C
/*
|
|
* Copyright (c) 2019-2020, Intel Corporation. All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
|
|
#ifndef SOCFPGA_SIP_SVC_H
|
|
#define SOCFPGA_SIP_SVC_H
|
|
|
|
|
|
/* SiP status response */
|
|
#define INTEL_SIP_SMC_STATUS_OK 0
|
|
#define INTEL_SIP_SMC_STATUS_BUSY 0x1
|
|
#define INTEL_SIP_SMC_STATUS_REJECTED 0x2
|
|
#define INTEL_SIP_SMC_STATUS_ERROR 0x4
|
|
#define INTEL_SIP_SMC_RSU_ERROR 0x7
|
|
|
|
|
|
/* SMC SiP service function identifier */
|
|
|
|
/* FPGA Reconfig */
|
|
#define INTEL_SIP_SMC_FPGA_CONFIG_START 0xC2000001
|
|
#define INTEL_SIP_SMC_FPGA_CONFIG_WRITE 0x42000002
|
|
#define INTEL_SIP_SMC_FPGA_CONFIG_COMPLETED_WRITE 0xC2000003
|
|
#define INTEL_SIP_SMC_FPGA_CONFIG_ISDONE 0xC2000004
|
|
#define INTEL_SIP_SMC_FPGA_CONFIG_GET_MEM 0xC2000005
|
|
|
|
/* Secure Register Access */
|
|
#define INTEL_SIP_SMC_REG_READ 0xC2000007
|
|
#define INTEL_SIP_SMC_REG_WRITE 0xC2000008
|
|
#define INTEL_SIP_SMC_REG_UPDATE 0xC2000009
|
|
|
|
/* Remote System Update */
|
|
#define INTEL_SIP_SMC_RSU_STATUS 0xC200000B
|
|
#define INTEL_SIP_SMC_RSU_UPDATE 0xC200000C
|
|
#define INTEL_SIP_SMC_RSU_NOTIFY 0xC200000E
|
|
#define INTEL_SIP_SMC_RSU_RETRY_COUNTER 0xC200000F
|
|
|
|
/* Send Mailbox Command */
|
|
#define INTEL_SIP_SMC_MBOX_SEND_CMD 0xC200001E
|
|
|
|
|
|
/* SiP Definitions */
|
|
|
|
/* FPGA config helpers */
|
|
#define INTEL_SIP_SMC_FPGA_CONFIG_ADDR 0x400000
|
|
#define INTEL_SIP_SMC_FPGA_CONFIG_SIZE 0x2000000
|
|
|
|
/* SMC function IDs for SiP Service queries */
|
|
#define SIP_SVC_CALL_COUNT 0x8200ff00
|
|
#define SIP_SVC_UID 0x8200ff01
|
|
#define SIP_SVC_VERSION 0x8200ff03
|
|
|
|
/* SiP Service Calls version numbers */
|
|
#define SIP_SVC_VERSION_MAJOR 0
|
|
#define SIP_SVC_VERSION_MINOR 1
|
|
|
|
|
|
/* Structure Definitions */
|
|
struct fpga_config_info {
|
|
uint32_t addr;
|
|
int size;
|
|
int size_written;
|
|
uint32_t write_requested;
|
|
int subblocks_sent;
|
|
int block_number;
|
|
};
|
|
|
|
/* Function Definitions */
|
|
|
|
bool is_address_in_ddr_range(uint64_t addr, uint64_t size);
|
|
|
|
#endif /* SOCFPGA_SIP_SVC_H */
|