77 lines
2.1 KiB
C
77 lines
2.1 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef __ROCKCHIP_PSCI_H
|
|
#define __ROCKCHIP_PSCI_H
|
|
|
|
#define SEC_REG_RD (0x0)
|
|
#define SEC_REG_WR (0x1)
|
|
|
|
/*
|
|
* trust firmware verison
|
|
*/
|
|
#define RKTF_VER_MAJOR(ver) (((ver) >> 16) & 0xffff)
|
|
#define RKTF_VER_MINOR(ver) ((ver) & 0xffff)
|
|
|
|
/*
|
|
* pcsi smc funciton id
|
|
*/
|
|
#define PSCI_SIP_RKTF_VER (0x82000001)
|
|
#define PSCI_SIP_ACCESS_REG (0x82000002)
|
|
#define PSCI_SIP_ACCESS_REG64 (0xc2000002)
|
|
#define PSCI_SIP_SUSPEND_WR_CTRBITS (0x82000003)
|
|
#define PSCI_SIP_PENDING_CPUS (0x82000004)
|
|
#define PSCI_SIP_UARTDBG_CFG (0x82000005)
|
|
#define PSCI_SIP_UARTDBG_CFG64 (0xc2000005)
|
|
#define PSCI_SIP_EL3FIQ_CFG (0x82000006)
|
|
#define PSCI_SIP_SMEM_CONFIG (0x82000007)
|
|
|
|
/*
|
|
* pcsi smc funciton err code
|
|
*/
|
|
#define PSCI_SMC_FUNC_UNK 0xffffffff
|
|
|
|
/*
|
|
* define PSCI_SIP_UARTDBG_CFG call type
|
|
*/
|
|
#define UARTDBG_CFG_INIT 0xf0
|
|
#define UARTDBG_CFG_OSHDL_TO_OS 0xf1
|
|
#define UARTDBG_CFG_OSHDL_CPUSW 0xf3
|
|
#define UARTDBG_CFG_OSHDL_DEBUG_ENABLE 0xf4
|
|
#define UARTDBG_CFG_OSHDL_DEBUG_DISABLE 0xf5
|
|
|
|
/*
|
|
* rockchip psci function call interface
|
|
*/
|
|
|
|
u32 rockchip_psci_smc_read(u32 function_id, u32 arg0, u32 arg1, u32 arg2,
|
|
u32 *val);
|
|
u32 rockchip_psci_smc_write(u32 function_id, u32 arg0, u32 arg1, u32 arg2);
|
|
|
|
u32 rockchip_psci_smc_get_tf_ver(void);
|
|
u32 rockchip_secure_reg_read(u32 addr_phy);
|
|
u32 rockchip_secure_reg_write(u32 addr_phy, u32 val);
|
|
|
|
#ifdef CONFIG_ARM64
|
|
u32 rockchip_psci_smc_write64(u64 function_id, u64 arg0, u64 arg1, u64 arg2);
|
|
u32 rockchip_psci_smc_read64(u64 function_id, u64 arg0, u64 arg1, u64 arg2,
|
|
u64 *val);
|
|
u64 rockchip_secure_reg_read64(u64 addr_phy);
|
|
u32 rockchip_secure_reg_write64(u64 addr_phy, u64 val);
|
|
|
|
void psci_fiq_debugger_uart_irq_tf_cb(u64 sp_el1, u64 offset);
|
|
#endif
|
|
|
|
u32 psci_fiq_debugger_switch_cpu(u32 cpu);
|
|
void psci_fiq_debugger_uart_irq_tf_init(u32 irq_id, void *callback);
|
|
void psci_fiq_debugger_enable_debug(bool val);
|
|
|
|
#if defined(CONFIG_ARM_PSCI) || defined(CONFIG_ARM64)
|
|
u32 psci_set_memory_secure(bool val);
|
|
#else
|
|
static inline u32 psci_set_memory_secure(bool val)
|
|
{
|
|
return 0;
|
|
}
|
|
#endif
|
|
|
|
#endif /* __ROCKCHIP_PSCI_H */
|