Zephyr API Documentation 4.0.0-rc3
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
pd.h File Reference

Go to the source code of this file.

Macros

#define PDO_TYPE_FIXED   0
 
#define PDO_TYPE_BATT   1
 
#define PDO_TYPE_VAR   2
 
#define PDO_TYPE_APDO   3
 
#define PDO_TYPE_SHIFT   30
 
#define PDO_TYPE_MASK   0x3
 
#define PDO_TYPE(t)
 
#define PDO_VOLT_MASK   0x3ff
 
#define PDO_CURR_MASK   0x3ff
 
#define PDO_PWR_MASK   0x3ff
 
#define PDO_FIXED_DUAL_ROLE   (1 << 29) /* Power role swap supported */
 
#define PDO_FIXED_SUSPEND   (1 << 28) /* USB Suspend supported (Source) */
 
#define PDO_FIXED_HIGHER_CAP   (1 << 28) /* Requires more than vSafe5V (Sink) */
 
#define PDO_FIXED_EXTPOWER   (1 << 27) /* Externally powered */
 
#define PDO_FIXED_USB_COMM   (1 << 26) /* USB communications capable */
 
#define PDO_FIXED_DATA_SWAP   (1 << 25) /* Data role swap supported */
 
#define PDO_FIXED_VOLT_SHIFT   10 /* 50mV units */
 
#define PDO_FIXED_CURR_SHIFT   0 /* 10mA units */
 
#define PDO_FIXED_VOLT(mv)
 
#define PDO_FIXED_CURR(ma)
 
#define PDO_FIXED(mv, ma, flags)
 
#define VSAFE5V   5000 /* mv units */
 
#define PDO_BATT_MAX_VOLT_SHIFT   20 /* 50mV units */
 
#define PDO_BATT_MIN_VOLT_SHIFT   10 /* 50mV units */
 
#define PDO_BATT_MAX_PWR_SHIFT   0 /* 250mW units */
 
#define PDO_BATT_MIN_VOLT(mv)
 
#define PDO_BATT_MAX_VOLT(mv)
 
#define PDO_BATT_MAX_POWER(mw)
 
#define PDO_BATT(min_mv, max_mv, max_mw)
 
#define PDO_VAR_MAX_VOLT_SHIFT   20 /* 50mV units */
 
#define PDO_VAR_MIN_VOLT_SHIFT   10 /* 50mV units */
 
#define PDO_VAR_MAX_CURR_SHIFT   0 /* 10mA units */
 
#define PDO_VAR_MIN_VOLT(mv)
 
#define PDO_VAR_MAX_VOLT(mv)
 
#define PDO_VAR_MAX_CURR(ma)
 
#define PDO_VAR(min_mv, max_mv, max_ma)
 
#define APDO_TYPE_PPS   0
 
#define PDO_APDO_TYPE_SHIFT   28 /* Only valid value currently is 0x0 - PPS */
 
#define PDO_APDO_TYPE_MASK   0x3
 
#define PDO_APDO_TYPE(t)
 
#define PDO_PPS_APDO_MAX_VOLT_SHIFT   17 /* 100mV units */
 
#define PDO_PPS_APDO_MIN_VOLT_SHIFT   8 /* 100mV units */
 
#define PDO_PPS_APDO_MAX_CURR_SHIFT   0 /* 50mA units */
 
#define PDO_PPS_APDO_VOLT_MASK   0xff
 
#define PDO_PPS_APDO_CURR_MASK   0x7f
 
#define PDO_PPS_APDO_MIN_VOLT(mv)
 
#define PDO_PPS_APDO_MAX_VOLT(mv)
 
#define PDO_PPS_APDO_MAX_CURR(ma)
 
#define PDO_PPS_APDO(min_mv, max_mv, max_ma)
 

Macro Definition Documentation

◆ APDO_TYPE_PPS

#define APDO_TYPE_PPS   0

◆ PDO_APDO_TYPE

#define PDO_APDO_TYPE ( t)
Value:
#define PDO_APDO_TYPE_SHIFT
Definition pd.h:70

◆ PDO_APDO_TYPE_MASK

#define PDO_APDO_TYPE_MASK   0x3

◆ PDO_APDO_TYPE_SHIFT

#define PDO_APDO_TYPE_SHIFT   28 /* Only valid value currently is 0x0 - PPS */

◆ PDO_BATT

#define PDO_BATT ( min_mv,
max_mv,
max_mw )
Value:
PDO_BATT_MAX_VOLT(max_mv) | PDO_BATT_MAX_POWER(max_mw))
#define PDO_BATT_MAX_POWER(mw)
Definition pd.h:50
#define PDO_TYPE_BATT
Definition pd.h:13
#define PDO_TYPE(t)
Definition pd.h:20
#define PDO_BATT_MIN_VOLT(mv)
Definition pd.h:48

◆ PDO_BATT_MAX_POWER

#define PDO_BATT_MAX_POWER ( mw)
Value:
((((mw) / 250) & PDO_PWR_MASK) << PDO_BATT_MAX_PWR_SHIFT)
#define PDO_BATT_MAX_PWR_SHIFT
Definition pd.h:46
#define PDO_PWR_MASK
Definition pd.h:24

◆ PDO_BATT_MAX_PWR_SHIFT

#define PDO_BATT_MAX_PWR_SHIFT   0 /* 250mW units */

◆ PDO_BATT_MAX_VOLT

#define PDO_BATT_MAX_VOLT ( mv)
Value:
#define PDO_BATT_MAX_VOLT_SHIFT
Definition pd.h:44
#define PDO_VOLT_MASK
Definition pd.h:22

◆ PDO_BATT_MAX_VOLT_SHIFT

#define PDO_BATT_MAX_VOLT_SHIFT   20 /* 50mV units */

◆ PDO_BATT_MIN_VOLT

#define PDO_BATT_MIN_VOLT ( mv)
Value:
#define PDO_BATT_MIN_VOLT_SHIFT
Definition pd.h:45

◆ PDO_BATT_MIN_VOLT_SHIFT

#define PDO_BATT_MIN_VOLT_SHIFT   10 /* 50mV units */

◆ PDO_CURR_MASK

#define PDO_CURR_MASK   0x3ff

◆ PDO_FIXED

#define PDO_FIXED ( mv,
ma,
flags )
Value:
flags
Definition parser.h:96
#define PDO_FIXED_CURR(ma)
Definition pd.h:36
#define PDO_TYPE_FIXED
Definition pd.h:12
#define PDO_FIXED_VOLT(mv)
Definition pd.h:35

◆ PDO_FIXED_CURR

#define PDO_FIXED_CURR ( ma)
Value:
((((ma) / 10) & PDO_CURR_MASK) << PDO_FIXED_CURR_SHIFT)
#define PDO_FIXED_CURR_SHIFT
Definition pd.h:33
#define PDO_CURR_MASK
Definition pd.h:23

◆ PDO_FIXED_CURR_SHIFT

#define PDO_FIXED_CURR_SHIFT   0 /* 10mA units */

◆ PDO_FIXED_DATA_SWAP

#define PDO_FIXED_DATA_SWAP   (1 << 25) /* Data role swap supported */

◆ PDO_FIXED_DUAL_ROLE

#define PDO_FIXED_DUAL_ROLE   (1 << 29) /* Power role swap supported */

◆ PDO_FIXED_EXTPOWER

#define PDO_FIXED_EXTPOWER   (1 << 27) /* Externally powered */

◆ PDO_FIXED_HIGHER_CAP

#define PDO_FIXED_HIGHER_CAP   (1 << 28) /* Requires more than vSafe5V (Sink) */

◆ PDO_FIXED_SUSPEND

#define PDO_FIXED_SUSPEND   (1 << 28) /* USB Suspend supported (Source) */

◆ PDO_FIXED_USB_COMM

#define PDO_FIXED_USB_COMM   (1 << 26) /* USB communications capable */

◆ PDO_FIXED_VOLT

#define PDO_FIXED_VOLT ( mv)
Value:
((((mv) / 50) & PDO_VOLT_MASK) << PDO_FIXED_VOLT_SHIFT)
#define PDO_FIXED_VOLT_SHIFT
Definition pd.h:32

◆ PDO_FIXED_VOLT_SHIFT

#define PDO_FIXED_VOLT_SHIFT   10 /* 50mV units */

◆ PDO_PPS_APDO

#define PDO_PPS_APDO ( min_mv,
max_mv,
max_ma )
Value:
PDO_PPS_APDO_MIN_VOLT(min_mv) | PDO_PPS_APDO_MAX_VOLT(max_mv) | \
PDO_PPS_APDO_MAX_CURR(max_ma))
#define APDO_TYPE_PPS
Definition pd.h:68
#define PDO_PPS_APDO_MAX_VOLT(mv)
Definition pd.h:84
#define PDO_APDO_TYPE(t)
Definition pd.h:73
#define PDO_TYPE_APDO
Definition pd.h:15

◆ PDO_PPS_APDO_CURR_MASK

#define PDO_PPS_APDO_CURR_MASK   0x7f

◆ PDO_PPS_APDO_MAX_CURR

#define PDO_PPS_APDO_MAX_CURR ( ma)
Value:
#define PDO_PPS_APDO_CURR_MASK
Definition pd.h:80
#define PDO_PPS_APDO_MAX_CURR_SHIFT
Definition pd.h:77

◆ PDO_PPS_APDO_MAX_CURR_SHIFT

#define PDO_PPS_APDO_MAX_CURR_SHIFT   0 /* 50mA units */

◆ PDO_PPS_APDO_MAX_VOLT

#define PDO_PPS_APDO_MAX_VOLT ( mv)
Value:
#define PDO_PPS_APDO_VOLT_MASK
Definition pd.h:79
#define PDO_PPS_APDO_MAX_VOLT_SHIFT
Definition pd.h:75

◆ PDO_PPS_APDO_MAX_VOLT_SHIFT

#define PDO_PPS_APDO_MAX_VOLT_SHIFT   17 /* 100mV units */

◆ PDO_PPS_APDO_MIN_VOLT

#define PDO_PPS_APDO_MIN_VOLT ( mv)
Value:
#define PDO_PPS_APDO_MIN_VOLT_SHIFT
Definition pd.h:76

◆ PDO_PPS_APDO_MIN_VOLT_SHIFT

#define PDO_PPS_APDO_MIN_VOLT_SHIFT   8 /* 100mV units */

◆ PDO_PPS_APDO_VOLT_MASK

#define PDO_PPS_APDO_VOLT_MASK   0xff

◆ PDO_PWR_MASK

#define PDO_PWR_MASK   0x3ff

◆ PDO_TYPE

#define PDO_TYPE ( t)
Value:
#define PDO_TYPE_SHIFT
Definition pd.h:17

◆ PDO_TYPE_APDO

#define PDO_TYPE_APDO   3

◆ PDO_TYPE_BATT

#define PDO_TYPE_BATT   1

◆ PDO_TYPE_FIXED

#define PDO_TYPE_FIXED   0

◆ PDO_TYPE_MASK

#define PDO_TYPE_MASK   0x3

◆ PDO_TYPE_SHIFT

#define PDO_TYPE_SHIFT   30

◆ PDO_TYPE_VAR

#define PDO_TYPE_VAR   2

◆ PDO_VAR

#define PDO_VAR ( min_mv,
max_mv,
max_ma )
Value:
PDO_VAR_MAX_VOLT(max_mv) | PDO_VAR_MAX_CURR(max_ma))
#define PDO_TYPE_VAR
Definition pd.h:14
#define PDO_VAR_MIN_VOLT(mv)
Definition pd.h:60
#define PDO_VAR_MAX_CURR(ma)
Definition pd.h:62

◆ PDO_VAR_MAX_CURR

#define PDO_VAR_MAX_CURR ( ma)
Value:
#define PDO_VAR_MAX_CURR_SHIFT
Definition pd.h:58

◆ PDO_VAR_MAX_CURR_SHIFT

#define PDO_VAR_MAX_CURR_SHIFT   0 /* 10mA units */

◆ PDO_VAR_MAX_VOLT

#define PDO_VAR_MAX_VOLT ( mv)
Value:
#define PDO_VAR_MAX_VOLT_SHIFT
Definition pd.h:56

◆ PDO_VAR_MAX_VOLT_SHIFT

#define PDO_VAR_MAX_VOLT_SHIFT   20 /* 50mV units */

◆ PDO_VAR_MIN_VOLT

#define PDO_VAR_MIN_VOLT ( mv)
Value:
#define PDO_VAR_MIN_VOLT_SHIFT
Definition pd.h:57

◆ PDO_VAR_MIN_VOLT_SHIFT

#define PDO_VAR_MIN_VOLT_SHIFT   10 /* 50mV units */

◆ PDO_VOLT_MASK

#define PDO_VOLT_MASK   0x3ff

◆ VSAFE5V

#define VSAFE5V   5000 /* mv units */