13d0407baSopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 23d0407baSopenharmony_ci#ifndef __RK_USBBC_H 33d0407baSopenharmony_ci#define __RK_USBBC_H 43d0407baSopenharmony_ci 53d0407baSopenharmony_ci/* USB Charger Types */ 63d0407baSopenharmony_cienum bc_port_type{ 73d0407baSopenharmony_ci USB_BC_TYPE_DISCNT = 0, 83d0407baSopenharmony_ci USB_BC_TYPE_SDP, 93d0407baSopenharmony_ci USB_BC_TYPE_DCP, 103d0407baSopenharmony_ci USB_BC_TYPE_CDP, 113d0407baSopenharmony_ci USB_BC_TYPE_UNKNOW, 123d0407baSopenharmony_ci USB_OTG_POWER_ON, 133d0407baSopenharmony_ci USB_OTG_POWER_OFF, 143d0407baSopenharmony_ci USB_BC_TYPE_MAX, 153d0407baSopenharmony_ci}; 163d0407baSopenharmony_ci 173d0407baSopenharmony_ci/*********************************** 183d0407baSopenharmony_ci * USB Port Type 193d0407baSopenharmony_ci * 0 : Disconnect 203d0407baSopenharmony_ci * 1 : SDP - pc 213d0407baSopenharmony_ci * 2 : DCP - charger 223d0407baSopenharmony_ci * 3 : CDP - pc with big currect charge 233d0407baSopenharmony_ci ************************************/ 243d0407baSopenharmony_ci#ifdef CONFIG_DWC_OTG_310 253d0407baSopenharmony_ciextern int dwc_otg_check_dpdm(bool wait); 263d0407baSopenharmony_ciextern int rk_bc_detect_notifier_register(struct notifier_block *nb, 273d0407baSopenharmony_ci enum bc_port_type *type); 283d0407baSopenharmony_ciextern int rk_bc_detect_notifier_unregister(struct notifier_block *nb); 293d0407baSopenharmony_ci#else 303d0407baSopenharmony_cistatic inline int dwc_otg_check_dpdm(bool wait) { return USB_BC_TYPE_DISCNT; } 313d0407baSopenharmony_ci 323d0407baSopenharmony_cistatic inline int rk_bc_detect_notifier_register(struct notifier_block *nb, 333d0407baSopenharmony_ci enum bc_port_type *type) 343d0407baSopenharmony_ci{ 353d0407baSopenharmony_ci return -EINVAL; 363d0407baSopenharmony_ci} 373d0407baSopenharmony_ci 383d0407baSopenharmony_cistatic inline int rk_bc_detect_notifier_unregister(struct notifier_block *nb) 393d0407baSopenharmony_ci{ 403d0407baSopenharmony_ci return -EINVAL; 413d0407baSopenharmony_ci} 423d0407baSopenharmony_ci#endif 433d0407baSopenharmony_ci 443d0407baSopenharmony_ci#endif 45