summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorJack Pham <jackp@codeaurora.org>2016-02-29 11:41:58 -0800
committerJeevan Shriram <jshriram@codeaurora.org>2016-05-06 12:06:23 -0700
commit27f3e78625e59e1b31d8e4f08ff23e142295189e (patch)
treea302483a9b0d0d094f740c78bea3bfba73e4b907 /include/linux
parenta632de294e5e8cada82444097e7708f6a0ece9eb (diff)
power_supply: Add additional USB Type-C properties
Introduce the power_supply_typec_mode enum definitions which will allow a charger to indicate the type of USB Type-C connection that is established. Also add additional properties for indicating CC pin orientation, changing source/sink power role (useful for dynamic power role swap), and a flag to allow the charger to expect VBUS changes during USB Power Delivery power negotiation. CRs-Fixed: 1005389 Change-Id: Iba9b652335fba4ee4f24a17eba8abdd5c85c21bb Signed-off-by: Jack Pham <jackp@codeaurora.org> Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/power_supply.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h
index 376645983d3e..6ccfe7a8de41 100644
--- a/include/linux/power_supply.h
+++ b/include/linux/power_supply.h
@@ -209,6 +209,10 @@ enum power_supply_property {
POWER_SUPPLY_PROP_RESTRICTED_CHARGING,
POWER_SUPPLY_PROP_CURRENT_CAPABILITY,
POWER_SUPPLY_PROP_TYPEC_MODE,
+ POWER_SUPPLY_PROP_TYPEC_CC_ORIENTATION, /* 0: N/C, 1: CC1, 2: CC2 */
+ POWER_SUPPLY_PROP_TYPEC_POWER_ROLE,
+ POWER_SUPPLY_PROP_PD_ALLOWED,
+ POWER_SUPPLY_PROP_PD_ACTIVE,
/* Local extensions of type int64_t */
POWER_SUPPLY_PROP_CHARGE_COUNTER_EXT,
/* Properties of type `const char *' */
@@ -229,6 +233,7 @@ enum power_supply_type {
POWER_SUPPLY_TYPE_USB_ACA, /* Accessory Charger Adapters */
POWER_SUPPLY_TYPE_USB_HVDCP, /* High Voltage DCP */
POWER_SUPPLY_TYPE_USB_HVDCP_3, /* Efficient High Voltage DCP */
+ POWER_SUPPLY_TYPE_USB_PD, /* Power Delivery */
POWER_SUPPLY_TYPE_WIRELESS, /* Accessory Charger Adapters */
POWER_SUPPLY_TYPE_BMS, /* Battery Monitor System */
POWER_SUPPLY_TYPE_USB_PARALLEL, /* USB Parallel Path */
@@ -238,6 +243,31 @@ enum power_supply_type {
POWER_SUPPLY_TYPE_DFP, /* TYpe-C DFP */
};
+/* Indicates USB Type-C CC connection status */
+enum power_supply_typec_mode {
+ POWER_SUPPLY_TYPEC_NONE,
+
+ /* Acting as source */
+ POWER_SUPPLY_TYPEC_SINK, /* Rd only */
+ POWER_SUPPLY_TYPEC_SINK_POWERED_CABLE, /* Rd/Ra */
+ POWER_SUPPLY_TYPEC_SINK_DEBUG_ACCESSORY, /* Rd/Rd */
+ POWER_SUPPLY_TYPEC_SINK_AUDIO_ADAPTER, /* Ra/Ra */
+ POWER_SUPPLY_TYPEC_POWERED_CABLE_ONLY, /* Ra only */
+
+ /* Acting as sink */
+ POWER_SUPPLY_TYPEC_SOURCE_DEFAULT, /* Rp default */
+ POWER_SUPPLY_TYPEC_SOURCE_MEDIUM, /* Rp 1.5A */
+ POWER_SUPPLY_TYPEC_SOURCE_HIGH, /* Rp 3A */
+ POWER_SUPPLY_TYPEC_NON_COMPLIANT,
+};
+
+enum power_supply_typec_power_role {
+ POWER_SUPPLY_TYPEC_PR_NONE, /* CC lines in high-Z */
+ POWER_SUPPLY_TYPEC_PR_DUAL,
+ POWER_SUPPLY_TYPEC_PR_SINK,
+ POWER_SUPPLY_TYPEC_PR_SOURCE,
+};
+
enum power_supply_notifier_events {
PSY_EVENT_PROP_CHANGED,
};