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