1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * Copyright (c) 2022, Linaro Ltd
4 */
5#ifndef __SOC_QCOM_PMIC_GLINK_H__
6#define __SOC_QCOM_PMIC_GLINK_H__
7
8struct pmic_glink;
9struct pmic_glink_client;
10
11#define PMIC_GLINK_OWNER_BATTMGR 32778
12#define PMIC_GLINK_OWNER_USBC 32779
13#define PMIC_GLINK_OWNER_USBC_PAN 32780
14
15#define PMIC_GLINK_REQ_RESP 1
16#define PMIC_GLINK_NOTIFY 2
17
18struct pmic_glink_hdr {
19 __le32 owner;
20 __le32 type;
21 __le32 opcode;
22};
23
24int pmic_glink_send(struct pmic_glink_client *client, void *data, size_t len);
25
26struct pmic_glink_client *devm_pmic_glink_register_client(struct device *dev,
27 unsigned int id,
28 void (*cb)(const void *, size_t, void *),
29 void (*pdr)(void *, int),
30 void *priv);
31
32#endif
33

source code of linux/include/linux/soc/qcom/pmic_glink.h