Browse Source
Add support for custom sip service. Bare minimum implementation for custom_smc_handler is provided by platform. Actual definition for custom_smc_handler will be provided by custom pkg. This feature is going to be used by external libraries. For example for checking it's status. The similar approach is also used by qti/{sc7180,sc7280} platforms by providing a way to select QTISECLIB_PATH. This code is providing a generic way how to wire any code via custom $(CUSTOM_PKG_PATH)/custom_pkg.mk makefile with also an option to wire custom SMC. SMC functionality depends on "package". Change-Id: Icedffd582f76f89fc399b0bb2e05cdaee9b743a0 Signed-off-by: Amit Nagal <amit.nagal@amd.com>pull/1994/head
Amit Nagal
2 years ago
5 changed files with 82 additions and 0 deletions
@ -0,0 +1,17 @@ |
|||
/*
|
|||
* Copyright (c) 2022-2023, Advanced Micro Devices Inc. All rights reserved. |
|||
* |
|||
* SPDX-License-Identifier: BSD-3-Clause |
|||
*/ |
|||
|
|||
#include <common/bl_common.h> |
|||
#include <common/debug.h> |
|||
#include <smccc_helpers.h> |
|||
|
|||
uint64_t custom_smc_handler(uint32_t smc_fid, uint64_t x1, uint64_t x2, |
|||
uint64_t x3, uint64_t x4, void *cookie, |
|||
void *handle, uint64_t flags) |
|||
{ |
|||
WARN("Unimplemented SiP Service Call: 0x%x\n", smc_fid); |
|||
SMC_RET1(handle, SMC_UNK); |
|||
} |
@ -0,0 +1,16 @@ |
|||
/*
|
|||
* Copyright (c) 2022-2023, Advanced Micro Devices Inc. All rights reserved. |
|||
* |
|||
* SPDX-License-Identifier: BSD-3-Clause |
|||
*/ |
|||
#ifndef CUSTOM_SVC_H |
|||
#define CUSTOM_SVC_H |
|||
|
|||
#define ZYNQMP_SIP_SVC_CUSTOM U(0x82002000) |
|||
#define ZYNQMP_SIP_SVC64_CUSTOM U(0xC2002000) |
|||
|
|||
uint64_t custom_smc_handler(uint32_t smc_fid, uint64_t x1, uint64_t x2, |
|||
uint64_t x3, uint64_t x4, void *cookie, |
|||
void *handle, uint64_t flags); |
|||
|
|||
#endif /* CUSTOM_SVC_H */ |
Loading…
Reference in new issue