// SPDX-License-Identifier: GPL-2.0 /* * Copyright (C) 2018 Marvell International Ltd. * * https://spdx.org/licenses */ #include #include #include #include #include #include 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]; }