1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright (c) 2023, Linaro Ltd. All rights reserved.
4 */
5
6#ifndef __QCOM_PMIC_TYPEC_H__
7#define __QCOM_PMIC_TYPEC_H__
8
9struct pmic_typec {
10 struct device *dev;
11 struct tcpm_port *tcpm_port;
12 struct tcpc_dev tcpc;
13 struct pmic_typec_pdphy *pmic_typec_pdphy;
14 struct pmic_typec_port *pmic_typec_port;
15
16 int (*pdphy_start)(struct pmic_typec *tcpm,
17 struct tcpm_port *tcpm_port);
18 void (*pdphy_stop)(struct pmic_typec *tcpm);
19
20 int (*port_start)(struct pmic_typec *tcpm,
21 struct tcpm_port *tcpm_port);
22 void (*port_stop)(struct pmic_typec *tcpm);
23};
24
25#define tcpc_to_tcpm(_tcpc_) container_of(_tcpc_, struct pmic_typec, tcpc)
26
27#endif
28

source code of linux/drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.h