45 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C
		
	
	
	
| /* 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
 |