diff options
Diffstat (limited to 'include/linux/qcom_scm.h')
-rw-r--r-- | include/linux/qcom_scm.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/include/linux/qcom_scm.h b/include/linux/qcom_scm.h index 6e7d5ec65838..a3fcad228907 100644 --- a/include/linux/qcom_scm.h +++ b/include/linux/qcom_scm.h @@ -13,6 +13,8 @@ #ifndef __QCOM_SCM_H #define __QCOM_SCM_H +#include <linux/platform_device.h> + extern int qcom_scm_set_cold_boot_addr(void *entry, const cpumask_t *cpus); extern int qcom_scm_set_warm_boot_addr(void *entry, const cpumask_t *cpus); @@ -27,6 +29,12 @@ extern bool qcom_scm_hdcp_available(void); extern int qcom_scm_hdcp_req(struct qcom_scm_hdcp_req *req, u32 req_cnt, u32 *resp); +extern bool qcom_scm_pas_supported(u32 peripheral); +extern int qcom_scm_pas_init_image(struct device *dev, u32 peripheral, const void *metadata, size_t size); +extern int qcom_scm_pas_mem_setup(u32 peripheral, phys_addr_t addr, phys_addr_t size); +extern int qcom_scm_pas_auth_and_reset(u32 peripheral); +extern int qcom_scm_pas_shutdown(u32 peripheral); + #define QCOM_SCM_CPU_PWR_DOWN_L2_ON 0x0 #define QCOM_SCM_CPU_PWR_DOWN_L2_OFF 0x1 @@ -36,4 +44,28 @@ extern void qcom_scm_cpu_power_down(u32 flags); extern u32 qcom_scm_get_version(void); +extern int qcom_scm_pil_init_image_cmd(u32 proc, u64 image_addr); +extern int qcom_scm_pil_mem_setup_cmd(u32 proc, u64 start_addr, u32 len); +extern int qcom_scm_pil_auth_and_reset_cmd(u32 proc); +extern int qcom_scm_pil_shutdown_cmd(u32 proc); + +extern int qcom_scm_iommu_dump_fault_regs(u32 id, u32 context, u64 addr, + u32 len); +extern int qcom_scm_iommu_set_cp_pool_size(u32 size, u32 spare); +extern int qcom_scm_iommu_secure_ptbl_size(u32 spare, int psize[2]); +extern int qcom_scm_iommu_secure_ptbl_init(u64 addr, u32 size, u32 spare); +extern int qcom_scm_iommu_secure_map(u64 list, u32 list_size, u32 size, + u32 id, u32 ctx_id, u64 va, + u32 info_size, u32 flags); +extern int qcom_scm_iommu_secure_unmap(u32 id, u32 ctx_id, u64 va, + u32 size, u32 flags); + +extern int qcom_scm_is_call_available(u32 svc_id, u32 cmd_id); +extern int qcom_scm_get_feat_version(u32 feat); +extern int qcom_scm_restore_sec_cfg(u32 device_id, u32 spare); + +extern int qcom_scm_set_video_state(u32 state, u32 spare); +extern int qcom_scm_mem_protect_video_var(u32 start, u32 size, + u32 nonpixel_start, + u32 nonpixel_size); #endif |