83 lines
2.5 KiB
C
Executable File
83 lines
2.5 KiB
C
Executable File
#ifndef __USB_CHRGDET_H_
|
|
#define __USB_CHRGDET_H_
|
|
|
|
#include "kwrap/type.h"
|
|
|
|
/**
|
|
|
|
*/
|
|
typedef enum {
|
|
USB_CHRGDET_PORT_USB30, ///< [get]
|
|
USB_CHRGDET_PORT_USB20, ///< [get]
|
|
|
|
ENUM_DUMMY4WORD(USB_CHRGDET_PORT)
|
|
} USB_CHRGDET_PORT;
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
*/
|
|
typedef enum {
|
|
USB_CHRGDET_STS_NONE, ///< No charger detected
|
|
USB_CHRGDET_STS_STANDARD_PC = USB_CHRGDET_STS_NONE, ///< Standard PC
|
|
|
|
USB_CHRGDET_STS_CHARGING_DOWNSTREAM_PORT, ///< Charging downstream port
|
|
USB_CHRGDET_STS_CHARGING_PC = USB_CHRGDET_STS_CHARGING_DOWNSTREAM_PORT, ///< Charger capable PC
|
|
|
|
USB_CHRGDET_STS_CHARGER, ///< Charger detected
|
|
|
|
USB_CHRGDET_STS_DISCONNECT, ///< USB cable is removed when charger detection is applied
|
|
|
|
ENUM_DUMMY4WORD(USB_CHRGDET_STS)
|
|
} USB_CHRGDET_STS;
|
|
|
|
|
|
|
|
|
|
/**
|
|
usb charger detect parameter select id
|
|
|
|
This is used in usb_chrgdet_get to get the usb device mode charger detect result
|
|
*/
|
|
typedef enum {
|
|
USB_CHRGDET_TYPE_STD, ///< [set] std or non-std. TRUE: Standard Charger. FALSE: Non-Standard Charger.
|
|
///< Default is Non-Standard Charger.
|
|
|
|
USB_CHRGDET_PLUG, ///< [get] Get the usb cable is plug or not @usb-device-mode
|
|
USB_CHRGDET_STATUS, ///< [get] usb charger detect return result would be USB_CHRGDET_STS
|
|
|
|
ENUM_DUMMY4WORD(USB_CHRGDET_PARAM_ID)
|
|
} USB_CHRGDET_PARAM_ID;
|
|
|
|
|
|
|
|
/*!
|
|
* @fn INT32 usb_chrgdet_get(UINT32 handler, USB_CHRGDET_PARAM_ID id, VOID *param)
|
|
* @brief set parameters to hardware engine
|
|
* @param id the handler of hardware
|
|
* @param param_id the id of parameters
|
|
* @param p_param shall the (UINT32 *) or the address the get structure.
|
|
* @return return 0 on success, -1 on error
|
|
*/
|
|
INT32 __usb_chrgdet_set(USB_CHRGDET_PORT usb_port, USB_CHRGDET_PARAM_ID param_id, VOID *p_param);
|
|
|
|
|
|
/*!
|
|
* @fn INT32 usb_chrgdet_get(UINT32 handler, USB_CHRGDET_PARAM_ID id, VOID *param)
|
|
* @brief set parameters to hardware engine
|
|
* @param id the handler of hardware
|
|
* @param param_id the id of parameters
|
|
* @param p_param shall the (UINT32 *) or the address the get structure.
|
|
* @return return 0 on success, -1 on error
|
|
*/
|
|
INT32 __usb_chrgdet_get(USB_CHRGDET_PORT usb_port, USB_CHRGDET_PARAM_ID param_id, VOID *p_param);
|
|
#define usb_chrgdet_get(id, param_id, p_param) __usb_chrgdet_get((UINT32)(id), (USB_CHRGDET_PARAM_ID)(param_id), (VOID *)(p_param))
|
|
|
|
INT32 __usb_chrgdet_set(USB_CHRGDET_PORT usb_port, USB_CHRGDET_PARAM_ID param_id, VOID *p_param);
|
|
#define usb_chrgdet_set(id, param_id, p_param) __usb_chrgdet_set((UINT32)(id), (USB_CHRGDET_PARAM_ID)(param_id), (VOID *)(p_param))
|
|
|
|
|
|
#endif
|