1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __QCOM_SMD_RPM_H__
3 #define __QCOM_SMD_RPM_H__
4 
5 struct qcom_smd_rpm;
6 
7 #define QCOM_SMD_RPM_ACTIVE_STATE        0
8 #define QCOM_SMD_RPM_SLEEP_STATE         1
9 
10 /*
11  * Constants used for addressing resources in the RPM.
12  */
13 #define QCOM_SMD_RPM_BOBB	0x62626f62
14 #define QCOM_SMD_RPM_BOOST	0x61747362
15 #define QCOM_SMD_RPM_BUS_CLK	0x316b6c63
16 #define QCOM_SMD_RPM_BUS_MASTER	0x73616d62
17 #define QCOM_SMD_RPM_BUS_SLAVE	0x766c7362
18 #define QCOM_SMD_RPM_CLK_BUF_A	0x616B6C63
19 #define QCOM_SMD_RPM_LDOA	0x616f646c
20 #define QCOM_SMD_RPM_LDOB	0x626F646C
21 #define QCOM_SMD_RPM_MEM_CLK	0x326b6c63
22 #define QCOM_SMD_RPM_MISC_CLK	0x306b6c63
23 #define QCOM_SMD_RPM_NCPA	0x6170636E
24 #define QCOM_SMD_RPM_NCPB	0x6270636E
25 #define QCOM_SMD_RPM_OCMEM_PWR	0x706d636f
26 #define QCOM_SMD_RPM_QPIC_CLK	0x63697071
27 #define QCOM_SMD_RPM_SMPA	0x61706d73
28 #define QCOM_SMD_RPM_SMPB	0x62706d73
29 #define QCOM_SMD_RPM_SPDM	0x63707362
30 #define QCOM_SMD_RPM_VSA	0x00617376
31 #define QCOM_SMD_RPM_MMAXI_CLK	0x69786d6d
32 #define QCOM_SMD_RPM_IPA_CLK	0x617069
33 #define QCOM_SMD_RPM_CE_CLK	0x6563
34 #define QCOM_SMD_RPM_AGGR_CLK	0x72676761
35 
36 int qcom_rpm_smd_write(struct qcom_smd_rpm *rpm,
37 		       int state,
38 		       u32 resource_type, u32 resource_id,
39 		       void *buf, size_t count);
40 
41 #endif
42