linux/include/linux/soc/qcom/smd-rpm.h

/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __QCOM_SMD_RPM_H__
#define __QCOM_SMD_RPM_H__

#include <linux/types.h>

struct qcom_smd_rpm;

#define QCOM_SMD_RPM_ACTIVE_STATE
#define QCOM_SMD_RPM_SLEEP_STATE
#define QCOM_SMD_RPM_STATE_NUM

/*
 * Constants used for addressing resources in the RPM.
 */
#define QCOM_SMD_RPM_BBYB
#define QCOM_SMD_RPM_BOBB
#define QCOM_SMD_RPM_BOOST
#define QCOM_SMD_RPM_BUS_CLK
#define QCOM_SMD_RPM_BUS_MASTER
#define QCOM_SMD_RPM_BUS_SLAVE
#define QCOM_SMD_RPM_CLK_BUF_A
#define QCOM_SMD_RPM_LDOA
#define QCOM_SMD_RPM_LDOB
#define QCOM_SMD_RPM_LDOE
#define QCOM_SMD_RPM_RWCX
#define QCOM_SMD_RPM_RWMX
#define QCOM_SMD_RPM_RWLC
#define QCOM_SMD_RPM_RWLM
#define QCOM_SMD_RPM_MEM_CLK
#define QCOM_SMD_RPM_MISC_CLK
#define QCOM_SMD_RPM_NCPA
#define QCOM_SMD_RPM_NCPB
#define QCOM_SMD_RPM_OCMEM_PWR
#define QCOM_SMD_RPM_QPIC_CLK
#define QCOM_SMD_RPM_QUP_CLK
#define QCOM_SMD_RPM_SMPA
#define QCOM_SMD_RPM_SMPB
#define QCOM_SMD_RPM_SMPE
#define QCOM_SMD_RPM_SPDM
#define QCOM_SMD_RPM_VSA
#define QCOM_SMD_RPM_MMAXI_CLK
#define QCOM_SMD_RPM_IPA_CLK
#define QCOM_SMD_RPM_CE_CLK
#define QCOM_SMD_RPM_AGGR_CLK
#define QCOM_SMD_RPM_HWKM_CLK
#define QCOM_SMD_RPM_PKA_CLK
#define QCOM_SMD_RPM_MCFG_CLK

#define QCOM_RPM_KEY_SOFTWARE_ENABLE
#define QCOM_RPM_KEY_PIN_CTRL_CLK_BUFFER_ENABLE_KEY
#define QCOM_RPM_SMD_KEY_RATE
#define QCOM_RPM_SMD_KEY_ENABLE
#define QCOM_RPM_SMD_KEY_STATE
#define QCOM_RPM_SCALING_ENABLE_ID

struct clk_smd_rpm_req {};

int qcom_rpm_smd_write(struct qcom_smd_rpm *rpm,
		       int state,
		       u32 resource_type, u32 resource_id,
		       void *buf, size_t count);

#endif