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];
 | |
| }
 |