xref: /linux/include/soc/qcom/cmd-db.h (revision 5a4332062e9e71de8e78dc1b389d21e0dd44848b)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
4  * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved.
5  */
6 
7 #ifndef __QCOM_COMMAND_DB_H__
8 #define __QCOM_COMMAND_DB_H__
9 
10 #include <linux/err.h>
11 
12 enum cmd_db_hw_type {
13 	CMD_DB_HW_INVALID = 0,
14 	CMD_DB_HW_MIN     = 3,
15 	CMD_DB_HW_ARC     = CMD_DB_HW_MIN,
16 	CMD_DB_HW_VRM     = 4,
17 	CMD_DB_HW_BCM     = 5,
18 	CMD_DB_HW_MAX     = CMD_DB_HW_BCM,
19 	CMD_DB_HW_ALL     = 0xff,
20 };
21 
22 #if IS_ENABLED(CONFIG_QCOM_COMMAND_DB)
23 u32 cmd_db_read_addr(const char *resource_id);
24 
25 const void *cmd_db_read_aux_data(const char *resource_id, size_t *len);
26 
27 bool cmd_db_match_resource_addr(u32 addr1, u32 addr2);
28 
29 enum cmd_db_hw_type cmd_db_read_slave_id(const char *resource_id);
30 
31 int cmd_db_ready(void);
32 #else
33 static inline u32 cmd_db_read_addr(const char *resource_id)
34 { return 0; }
35 
36 static inline const void *cmd_db_read_aux_data(const char *resource_id, size_t *len)
37 { return ERR_PTR(-ENODEV); }
38 
39 static inline bool cmd_db_match_resource_addr(u32 addr1, u32 addr2)
40 { return false; }
41 
42 static inline enum cmd_db_hw_type cmd_db_read_slave_id(const char *resource_id)
43 { return -ENODEV; }
44 
45 static inline int cmd_db_ready(void)
46 { return -ENODEV; }
47 #endif /* CONFIG_QCOM_COMMAND_DB */
48 #endif /* __QCOM_COMMAND_DB_H__ */
49