/* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (c) 2021 The Linux Foundation. All rights reserved. * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. */ #ifndef __QBG_SDAM_H__ #define __QBG_SDAM_H__ #define QBG_SDAM_PBS_STATUS_OFFSET 0x45 #define QBG_SDAM_FIFO_COUNT_OFFSET 0x46 #define QBG_SDAM_HPM_FIFO_COUNT_OFFSET 0x4e #define QBG_ESSENTIAL_PARAMS_START_OFFSET 0x47 #define QBG_SDAM_MAX_FIFO_COUNT_OFFSET 0x48 #define QBG_SDAM_START_OFFSET 0x4b #define QBG_ESSENTIAL_PARAMS_BATTID_OFFSET 0x45 #define QBG_ESR_PULSE_FCC_REDUCE_OFFSET 0x57 #define QBG_SDAM_BHARGER_OCV_HDRM_OFFSET 0x5b #define QBG_ESSENTIAL_PARAMS_REVID_OFFSET 0xbb #define QBG_SDAM_INT_TEST1 0xe0 #define QBG_SDAM_INT_TEST_VAL 0xe1 #define QBG_SDAM_DATA_PUSH_COUNTER_OFFSET 0x46 #define QBG_SDAM_TEST_VAL_1_SET 0x2 #define QBG_SDAM_ONE_FIFO_REGION_SIZE 117 /* 117 bytes for FIFO starting from 0x4B */ #define QBG_SDAM_ESR_PULSE_FIFO_INDEX 11 #define QBG_SINGLE_SDAM_SIZE 0x100 #define QBG_SDAM_BASE(chip, index) (chip->sdam_base + (index * QBG_SINGLE_SDAM_SIZE)) #define QBG_SDAM_DATA_START_OFFSET(chip, index) \ (QBG_SDAM_BASE(chip, index) + QBG_SDAM_START_OFFSET) int qbg_sdam_read(struct qti_qbg *chip, int offset, u8 *data, int length); int qbg_sdam_write(struct qti_qbg *chip, int offset, u8 *data, int length); int qbg_sdam_get_fifo_data(struct qti_qbg *chip, struct fifo_data *fifo, u32 fifo_count); int qbg_sdam_get_essential_params(struct qti_qbg *chip, u8 *params); int qbg_sdam_set_essential_params(struct qti_qbg *chip, u8 *params); int qbg_sdam_get_essential_param_revid(struct qti_qbg *chip, u8 *revid); int qbg_sdam_set_essential_param_revid(struct qti_qbg *chip, u8 revid); int qbg_sdam_get_battery_id(struct qti_qbg *chip, u32 *battid); int qbg_sdam_set_battery_id(struct qti_qbg *chip, u32 battid); #endif /* __QBG_SDAM_H__ */