// SPDX-License-Identifier: GPL-2.0 | |
/* | |
* Copyright (C) 2018 Marvell International Ltd. | |
* | |
* https://spdx.org/licenses | |
*/ | |
#include <asm/global_data.h> | |
#include <asm/io.h> | |
#include <asm/psci.h> | |
#include <asm/ptrace.h> | |
#include <asm/system.h> | |
#include <asm/arch/smc.h> | |
DECLARE_GLOBAL_DATA_PTR; | |
ssize_t smc_dram_size(unsigned int node) | |
{ | |
struct pt_regs regs; | |
regs.regs[0] = OCTEONTX2_DRAM_SIZE; | |
regs.regs[1] = node; | |
smc_call(®s); | |
return regs.regs[0]; | |
} | |
ssize_t smc_disable_rvu_lfs(unsigned int node) | |
{ | |
struct pt_regs regs; | |
regs.regs[0] = OCTEONTX2_DISABLE_RVU_LFS; | |
regs.regs[1] = node; | |
smc_call(®s); | |
return regs.regs[0]; | |
} | |
ssize_t smc_configure_ooo(unsigned int val) | |
{ | |
struct pt_regs regs; | |
regs.regs[0] = OCTEONTX2_CONFIG_OOO; | |
regs.regs[1] = val; | |
smc_call(®s); | |
return regs.regs[0]; | |
} | |
ssize_t smc_flsf_fw_booted(void) | |
{ | |
struct pt_regs regs; | |
regs.regs[0] = OCTEONTX2_FSAFE_PR_BOOT_SUCCESS; | |
smc_call(®s); | |
return regs.regs[0]; | |
} |