Files
thead-kernel/include/linux/power/rk_usbbc.h
lin_jiayong 698e02e86a sync: huiwei: e94a4cf98b93de7f711637033a43f0e2f5f3ac7a
merge into c2a6429c9b9d3fe12738317f410fb1b5cb96cb3b
2024-06-01 23:16:07 +08:00

45 lines
1.0 KiB
C
Executable File

/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __RK_USBBC_H
#define __RK_USBBC_H
/* USB Charger Types */
enum bc_port_type{
USB_BC_TYPE_DISCNT = 0,
USB_BC_TYPE_SDP,
USB_BC_TYPE_DCP,
USB_BC_TYPE_CDP,
USB_BC_TYPE_UNKNOW,
USB_OTG_POWER_ON,
USB_OTG_POWER_OFF,
USB_BC_TYPE_MAX,
};
/***********************************
* USB Port Type
* 0 : Disconnect
* 1 : SDP - pc
* 2 : DCP - charger
* 3 : CDP - pc with big currect charge
************************************/
#ifdef CONFIG_DWC_OTG_310
extern int dwc_otg_check_dpdm(bool wait);
extern int rk_bc_detect_notifier_register(struct notifier_block *nb,
enum bc_port_type *type);
extern int rk_bc_detect_notifier_unregister(struct notifier_block *nb);
#else
static inline int dwc_otg_check_dpdm(bool wait) { return USB_BC_TYPE_DISCNT; }
static inline int rk_bc_detect_notifier_register(struct notifier_block *nb,
enum bc_port_type *type)
{
return -EINVAL;
}
static inline int rk_bc_detect_notifier_unregister(struct notifier_block *nb)
{
return -EINVAL;
}
#endif
#endif