blob: 758e143f54e6db683c080e2de9fa3a2a0cee92e2 [file] [log] [blame]
xjb04a4022021-11-25 15:01:52 +08001// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright (C) 2019 MediaTek Inc.
4 * Author: Argus Lin <argus.lin@mediatek.com>
5 */
6#ifndef __SPMI_SW_H__
7#define __SPMI_SW_H__
8
9#include <linux/pmif.h>
10#include <linux/spmi.h>
11
12#define DEFAULT_VALUE_READ_TEST (0x5a)
13#define DEFAULT_VALUE_WRITE_TEST (0xa5)
14
15enum spmi_regs {
16 SPMI_OP_ST_CTRL,
17 SPMI_GRP_ID_EN,
18 SPMI_OP_ST_STA,
19 SPMI_SAMPL_CTRL,
20 SPMI_REQ_EN,
21 SPMI_RCS_CTRL,
22 SPMI_SLV_3_0_EINT,
23 SPMI_SLV_7_4_EINT,
24 SPMI_SLV_B_8_EINT,
25 SPMI_SLV_F_C_EINT,
26 SPMI_REC_CTRL,
27 SPMI_REC0,
28 SPMI_REC1,
29 SPMI_REC2,
30 SPMI_REC3,
31 SPMI_REC4,
32 SPMI_REC_CMD_DEC,
33 SPMI_DEC_DBG,
34 SPMI_MST_DBG,
35 SPMI_NUM_REGS
36};
37
38/* pmif debug API declaration */
39extern void spmi_dump_wdt_reg(void);
40extern void spmi_dump_pmif_acc_vio_reg(void);
41extern void spmi_dump_pmic_acc_vio_reg(void);
42extern void spmi_dump_pmif_busy_reg(void);
43extern void spmi_dump_pmif_swinf_reg(void);
44extern void spmi_dump_pmif_all_reg(void);
45extern void spmi_dump_pmif_record_reg(void);
46/* spmi debug API declaration */
47extern void spmi_dump_spmimst_all_reg(void);
48/* pmic debug API declaration */
49extern int spmi_pmif_create_attr(struct device_driver *driver);
50extern int spmi_pmif_dbg_init(struct spmi_controller *ctrl);
51#endif /*__SPMI_SW_H__*/