1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef __QCOM_SMD_RPM_H__ 3 #define __QCOM_SMD_RPM_H__ 4 5 #include <linux/types.h> 6 7 struct qcom_smd_rpm; 8 9 #define QCOM_SMD_RPM_ACTIVE_STATE 0 10 #define QCOM_SMD_RPM_SLEEP_STATE 1 11 #define QCOM_SMD_RPM_STATE_NUM 2 12 13 /* 14 * Constants used for addressing resources in the RPM. 15 */ 16 #define QCOM_SMD_RPM_BBYB 0x62796262 17 #define QCOM_SMD_RPM_BOBB 0x62626f62 18 #define QCOM_SMD_RPM_BOOST 0x61747362 19 #define QCOM_SMD_RPM_BUS_CLK 0x316b6c63 20 #define QCOM_SMD_RPM_BUS_MASTER 0x73616d62 21 #define QCOM_SMD_RPM_BUS_SLAVE 0x766c7362 22 #define QCOM_SMD_RPM_CLK_BUF_A 0x616B6C63 23 #define QCOM_SMD_RPM_LDOA 0x616f646c 24 #define QCOM_SMD_RPM_LDOB 0x626F646C 25 #define QCOM_SMD_RPM_LDOE 0x656f646c 26 #define QCOM_SMD_RPM_RWCX 0x78637772 27 #define QCOM_SMD_RPM_RWMX 0x786d7772 28 #define QCOM_SMD_RPM_RWLC 0x636c7772 29 #define QCOM_SMD_RPM_RWLM 0x6d6c7772 30 #define QCOM_SMD_RPM_MEM_CLK 0x326b6c63 31 #define QCOM_SMD_RPM_MISC_CLK 0x306b6c63 32 #define QCOM_SMD_RPM_NCPA 0x6170636E 33 #define QCOM_SMD_RPM_NCPB 0x6270636E 34 #define QCOM_SMD_RPM_OCMEM_PWR 0x706d636f 35 #define QCOM_SMD_RPM_QPIC_CLK 0x63697071 36 #define QCOM_SMD_RPM_QUP_CLK 0x707571 37 #define QCOM_SMD_RPM_SMPA 0x61706d73 38 #define QCOM_SMD_RPM_SMPB 0x62706d73 39 #define QCOM_SMD_RPM_SMPE 0x65706d73 40 #define QCOM_SMD_RPM_SPDM 0x63707362 41 #define QCOM_SMD_RPM_VSA 0x00617376 42 #define QCOM_SMD_RPM_MMAXI_CLK 0x69786d6d 43 #define QCOM_SMD_RPM_IPA_CLK 0x617069 44 #define QCOM_SMD_RPM_CE_CLK 0x6563 45 #define QCOM_SMD_RPM_AGGR_CLK 0x72676761 46 #define QCOM_SMD_RPM_HWKM_CLK 0x6d6b7768 47 #define QCOM_SMD_RPM_PKA_CLK 0x616b70 48 #define QCOM_SMD_RPM_MCFG_CLK 0x6766636d 49 50 #define QCOM_RPM_KEY_SOFTWARE_ENABLE 0x6e657773 51 #define QCOM_RPM_KEY_PIN_CTRL_CLK_BUFFER_ENABLE_KEY 0x62636370 52 #define QCOM_RPM_SMD_KEY_RATE 0x007a484b 53 #define QCOM_RPM_SMD_KEY_ENABLE 0x62616e45 54 #define QCOM_RPM_SMD_KEY_STATE 0x54415453 55 #define QCOM_RPM_SCALING_ENABLE_ID 0x2 56 57 struct clk_smd_rpm_req { 58 __le32 key; 59 __le32 nbytes; 60 __le32 value; 61 }; 62 63 int qcom_rpm_smd_write(struct qcom_smd_rpm *rpm, 64 int state, 65 u32 resource_type, u32 resource_id, 66 void *buf, size_t count); 67 68 #endif 69