blob: 47a6cab75e630c4c8c4e8caf3fc46d1e1437de1c [file] [log] [blame]
Caleb Connolly90ff5812024-07-15 12:08:02 +02001/* 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
12enum 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)
23u32 cmd_db_read_addr(const char *resource_id);
24
25const void *cmd_db_read_aux_data(const char *resource_id, size_t *len);
26
27bool cmd_db_match_resource_addr(u32 addr1, u32 addr2);
28
29enum cmd_db_hw_type cmd_db_read_slave_id(const char *resource_id);
30
31int cmd_db_ready(void);
32#else
33static inline u32 cmd_db_read_addr(const char *resource_id)
34{ return 0; }
35
36static inline const void *cmd_db_read_aux_data(const char *resource_id, size_t *len)
37{ return ERR_PTR(-ENODEV); }
38
39static inline bool cmd_db_match_resource_addr(u32 addr1, u32 addr2)
40{ return false; }
41
42static inline enum cmd_db_hw_type cmd_db_read_slave_id(const char *resource_id)
43{ return -ENODEV; }
44
45static inline int cmd_db_ready(void)
46{ return -ENODEV; }
47#endif /* CONFIG_QCOM_COMMAND_DB */
48#endif /* __QCOM_COMMAND_DB_H__ */