mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-24 12:03:39 +00:00
59 lines
972 B
C
59 lines
972 B
C
|
// 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];
|
||
|
}
|