^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) #ifndef __QCOM_COMMAND_DB_H__
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) #define __QCOM_COMMAND_DB_H__
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) #include <linux/err.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) enum cmd_db_hw_type {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) CMD_DB_HW_INVALID = 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) CMD_DB_HW_MIN = 3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) CMD_DB_HW_ARC = CMD_DB_HW_MIN,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) CMD_DB_HW_VRM = 4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) CMD_DB_HW_BCM = 5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) CMD_DB_HW_MAX = CMD_DB_HW_BCM,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) CMD_DB_HW_ALL = 0xff,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) #if IS_ENABLED(CONFIG_QCOM_COMMAND_DB)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) u32 cmd_db_read_addr(const char *resource_id);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) const void *cmd_db_read_aux_data(const char *resource_id, size_t *len);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) enum cmd_db_hw_type cmd_db_read_slave_id(const char *resource_id);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) int cmd_db_ready(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) #else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) static inline u32 cmd_db_read_addr(const char *resource_id)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) { return 0; }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) static inline const void *cmd_db_read_aux_data(const char *resource_id, size_t *len)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) { return ERR_PTR(-ENODEV); }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) static inline enum cmd_db_hw_type cmd_db_read_slave_id(const char *resource_id)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) { return -ENODEV; }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) static inline int cmd_db_ready(void)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) { return -ENODEV; }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) #endif /* CONFIG_QCOM_COMMAND_DB */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) #endif /* __QCOM_COMMAND_DB_H__ */