summaryrefslogtreecommitdiff
path: root/baseboard/volteer/usb_pd_policy.c
diff options
context:
space:
mode:
Diffstat (limited to 'baseboard/volteer/usb_pd_policy.c')
-rw-r--r--baseboard/volteer/usb_pd_policy.c88
1 files changed, 39 insertions, 49 deletions
diff --git a/baseboard/volteer/usb_pd_policy.c b/baseboard/volteer/usb_pd_policy.c
index 5b9000b3f7..81e02b769f 100644
--- a/baseboard/volteer/usb_pd_policy.c
+++ b/baseboard/volteer/usb_pd_policy.c
@@ -1,4 +1,4 @@
-/* Copyright 2019 The Chromium OS Authors. All rights reserved.
+/* Copyright 2019 The ChromiumOS Authors
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
@@ -14,8 +14,8 @@
#include "usb_pd.h"
#include "system.h"
-#define CPRINTF(format, args...) cprintf(CC_USBPD, format, ## args)
-#define CPRINTS(format, args...) cprints(CC_USBPD, format, ## args)
+#define CPRINTF(format, args...) cprintf(CC_USBPD, format, ##args)
+#define CPRINTS(format, args...) cprints(CC_USBPD, format, ##args)
int pd_check_vconn_swap(int port)
{
@@ -74,54 +74,44 @@ int board_vbus_source_enabled(int port)
return ppc_is_sourcing_vbus(port);
}
+#ifdef CONFIG_USB_PD_TBT_COMPAT_MODE
/* ----------------- Vendor Defined Messages ------------------ */
/* Responses specifically for the enablement of TBT mode in the role of UFP */
#define OPOS_TBT 1
-static const union tbt_mode_resp_device vdo_tbt_modes[1] = {
- {
- .tbt_alt_mode = 0x0001,
- .tbt_adapter = TBT_ADAPTER_TBT3,
- .intel_spec_b0 = 0,
- .vendor_spec_b0 = 0,
- .vendor_spec_b1 = 0,
- }
-};
-
-static const uint32_t vdo_idh = VDO_IDH(
- 1, /* Data caps as USB host */
- 0, /* Not a USB device */
- IDH_PTYPE_PERIPH,
- 1, /* Supports alt modes */
- USB_VID_GOOGLE);
-
-static const uint32_t vdo_idh_rev30 = VDO_IDH_REV30(
- 1, /* Data caps as USB host */
- 0, /* Not a USB device */
- IDH_PTYPE_PERIPH,
- 1, /* Supports alt modes */
- IDH_PTYPE_DFP_HOST,
- USB_TYPEC_RECEPTACLE,
- USB_VID_GOOGLE);
-
-static const uint32_t vdo_product = VDO_PRODUCT(
- CONFIG_USB_PID, CONFIG_USB_BCD_DEV);
+static const union tbt_mode_resp_device vdo_tbt_modes[1] = { {
+ .tbt_alt_mode = 0x0001,
+ .tbt_adapter = TBT_ADAPTER_TBT3,
+ .intel_spec_b0 = 0,
+ .vendor_spec_b0 = 0,
+ .vendor_spec_b1 = 0,
+} };
+
+static const uint32_t vdo_idh = VDO_IDH(1, /* Data caps as USB host */
+ 0, /* Not a USB device */
+ IDH_PTYPE_PERIPH, 1, /* Supports alt
+ modes */
+ USB_VID_GOOGLE);
+
+static const uint32_t vdo_idh_rev30 =
+ VDO_IDH_REV30(1, /* Data caps as USB host */
+ 0, /* Not a USB device */
+ IDH_PTYPE_PERIPH, 1, /* Supports alt modes */
+ IDH_PTYPE_DFP_HOST, USB_TYPEC_RECEPTACLE, USB_VID_GOOGLE);
+
+static const uint32_t vdo_product =
+ VDO_PRODUCT(CONFIG_USB_PID, CONFIG_USB_BCD_DEV);
/* TODO(b/168890624): add USB4 to capability once USB4 response implemented */
static const uint32_t vdo_ufp1 = VDO_UFP1(
- (VDO_UFP1_CAPABILITY_USB20
- | VDO_UFP1_CAPABILITY_USB32),
- USB_TYPEC_RECEPTACLE,
- VDO_UFP1_ALT_MODE_TBT3,
- USB_R30_SS_U40_GEN3);
-
-static const uint32_t vdo_dfp = VDO_DFP(
- (VDO_DFP_HOST_CAPABILITY_USB20
- | VDO_DFP_HOST_CAPABILITY_USB32
- | VDO_DFP_HOST_CAPABILITY_USB4),
- USB_TYPEC_RECEPTACLE,
- 1 /* Port 1 */);
+ (VDO_UFP1_CAPABILITY_USB20 | VDO_UFP1_CAPABILITY_USB32),
+ USB_TYPEC_RECEPTACLE, VDO_UFP1_ALT_MODE_TBT3, USB_R30_SS_U40_GEN3);
+
+static const uint32_t vdo_dfp =
+ VDO_DFP((VDO_DFP_HOST_CAPABILITY_USB20 | VDO_DFP_HOST_CAPABILITY_USB32 |
+ VDO_DFP_HOST_CAPABILITY_USB4),
+ USB_TYPEC_RECEPTACLE, 1 /* Port 1 */);
static int svdm_tbt_compat_response_identity(int port, uint32_t *payload)
{
@@ -163,8 +153,8 @@ static int svdm_tbt_compat_response_modes(int port, uint32_t *payload)
/* Track whether we've been enabled to ACK TBT EnterModes requests */
static bool tbt_ufp_ack_allowed[CONFIG_USB_PD_PORT_MAX_COUNT];
-__override enum ec_status board_set_tbt_ufp_reply(int port,
- enum typec_tbt_ufp_reply reply)
+__override enum ec_status
+board_set_tbt_ufp_reply(int port, enum typec_tbt_ufp_reply reply)
{
/* Note: Host command has already bounds-checked port */
if (reply == TYPEC_TBT_UFP_REPLY_ACK)
@@ -177,8 +167,7 @@ __override enum ec_status board_set_tbt_ufp_reply(int port,
return EC_RES_SUCCESS;
}
-static int svdm_tbt_compat_response_enter_mode(
- int port, uint32_t *payload)
+static int svdm_tbt_compat_response_enter_mode(int port, uint32_t *payload)
{
mux_state_t mux_state = 0;
@@ -191,7 +180,7 @@ static int svdm_tbt_compat_response_enter_mode(
return 0; /* NAK */
if ((PD_VDO_VID(payload[0]) != USB_VID_INTEL) ||
- (PD_VDO_OPOS(payload[0]) != OPOS_TBT))
+ (PD_VDO_OPOS(payload[0]) != OPOS_TBT))
return 0; /* NAK */
mux_state = usb_mux_get(port);
@@ -201,7 +190,7 @@ static int svdm_tbt_compat_response_enter_mode(
* Mode that requires the reconfiguring of any pins.
*/
if ((mux_state & USB_PD_MUX_USB_ENABLED) ||
- (mux_state & USB_PD_MUX_SAFE_MODE)) {
+ (mux_state & USB_PD_MUX_SAFE_MODE)) {
pd_ufp_set_enter_mode(port, payload);
set_tbt_compat_mode_ready(port);
@@ -230,3 +219,4 @@ const struct svdm_response svdm_rsp = {
.amode = NULL,
.exit_mode = NULL,
};
+#endif /* CONFIG_USB_PD_TBT_COMPAT_MODE */