summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Lok <ben.lok@mediatek.com>2016-01-11 19:36:41 +0800
committerchrome-bot <chrome-bot@chromium.org>2016-03-01 08:25:59 -0800
commitafc76f1adf97d3a4039663e13afc457139d200fc (patch)
treee8120cae85a3e4526a5e2020619ceb289d14755c
parent0c9e75f01729d3589d408f3345db7deaa9c04783 (diff)
downloadchrome-ec-afc76f1adf97d3a4039663e13afc457139d200fc.tar.gz
oak: updates for rev5
1. Muxer of USB C1 port changes to Parade PS8740. 2. Add control of DP switch TS3USB3000RSER, using for switch DP to port 0/1 (same as rev2). 3. LED control logic is same as rev2. 4. Updates GPIO setting for rev5 pinouts. BUG=chrome-os-partner:49375 BRANCH=none TEST=build -j buildall tests Change-Id: Ifc45ac30be8d46caa1cdb032ccce7569e5a14b99 Signed-off-by: Ben Lok <ben.lok@mediatek.com> Reviewed-on: https://chromium-review.googlesource.com/321024 Commit-Ready: Rong Chang <rongchang@chromium.org> Tested-by: Rong Chang <rongchang@chromium.org> Reviewed-by: Rong Chang <rongchang@chromium.org>
-rw-r--r--board/oak/board.c45
-rw-r--r--board/oak/board.h3
-rw-r--r--board/oak/gpio.inc35
-rw-r--r--board/oak/led.c140
-rw-r--r--board/oak/usb_pd_policy.c8
5 files changed, 151 insertions, 80 deletions
diff --git a/board/oak/board.c b/board/oak/board.c
index 2015da26ef..d2ac75d20b 100644
--- a/board/oak/board.c
+++ b/board/oak/board.c
@@ -174,10 +174,17 @@ struct usb_mux usb_muxes[CONFIG_USB_PD_PORT_COUNT] = {
.port_addr = 0x54 << 1,
.driver = &pi3usb30532_usb_mux_driver,
},
+#if (BOARD_REV <= OAK_REV4)
{
.port_addr = 0x55 << 1,
.driver = &pi3usb30532_usb_mux_driver,
},
+#else
+ {
+ .port_addr = 0x20,
+ .driver = &ps8740_usb_mux_driver,
+ },
+#endif
};
/**
@@ -352,9 +359,20 @@ int board_get_ramp_current_limit(int supplier, int sup_curr)
}
}
+static void board_typec_set_dp_hpd(int port, int level)
+{
+#if BOARD_REV >= OAK_REV5
+ if (1 == dp_hw_port)
+ gpio_set_level(GPIO_C1_DP_HPD, level);
+#endif
+
+ gpio_set_level(GPIO_USB_DP_HPD, level);
+
+}
+
static void hpd_irq_deferred(void)
{
- gpio_set_level(GPIO_USB_DP_HPD, 1);
+ board_typec_set_dp_hpd(dp_hw_port, 1);
}
DECLARE_DEFERRED(hpd_irq_deferred);
@@ -368,13 +386,14 @@ void board_typec_dp_on(int port)
if (dp_hw_port != !port) {
/* Get control of DP hardware */
dp_hw_port = port;
-#if BOARD_REV == OAK_REV2
+#if BOARD_REV == OAK_REV2 || BOARD_REV >= OAK_REV5
+ /* Rev2 or Rev5 later board has DP switch */
gpio_set_level(GPIO_DP_SWITCH_CTL, port);
#endif
if (!gpio_get_level(GPIO_USB_DP_HPD)) {
- gpio_set_level(GPIO_USB_DP_HPD, 1);
+ board_typec_set_dp_hpd(port, 1);
} else {
- gpio_set_level(GPIO_USB_DP_HPD, 0);
+ board_typec_set_dp_hpd(port, 0);
hook_call_deferred(hpd_irq_deferred,
HPD_DSTREAM_DEBOUNCE_IRQ);
}
@@ -396,7 +415,8 @@ void board_typec_dp_off(int port, int *dp_flags)
}
dp_hw_port = PD_PORT_NONE;
- gpio_set_level(GPIO_USB_DP_HPD, 0);
+ board_typec_set_dp_hpd(port, 0);
+
mutex_unlock(&dp_hw_lock);
/* Enable the other port if its dp flag is on */
@@ -413,13 +433,14 @@ void board_typec_dp_set(int port, int level)
if (dp_hw_port == PD_PORT_NONE) {
dp_hw_port = port;
-#if BOARD_REV == OAK_REV2
+#if BOARD_REV == OAK_REV2 || BOARD_REV >= OAK_REV5
+ /* Rev2 or Rev5 later board has DP switch */
gpio_set_level(GPIO_DP_SWITCH_CTL, port);
#endif
}
if (dp_hw_port == port)
- gpio_set_level(GPIO_USB_DP_HPD, level);
+ board_typec_set_dp_hpd(port, level);
mutex_unlock(&dp_hw_lock);
}
@@ -562,6 +583,11 @@ static void board_chipset_pre_init(void)
{
/* Enable level shift of AC_OK when power on */
board_extpower_buffer_to_soc();
+#if BOARD_REV >= OAK_REV5
+ /* Enable DP muxer */
+ gpio_set_level(GPIO_DP_MUX_EN_L , 0);
+ gpio_set_level(GPIO_PARADE_MUX_EN, 1);
+#endif
}
DECLARE_HOOK(HOOK_CHIPSET_PRE_INIT, board_chipset_pre_init, HOOK_PRIO_DEFAULT);
@@ -570,6 +596,11 @@ static void board_chipset_shutdown(void)
{
/* Disable level shift to SoC when shutting down */
gpio_set_level(GPIO_LEVEL_SHIFT_EN_L, 1);
+#if BOARD_REV >= OAK_REV5
+ /* Disable DP muxer */
+ gpio_set_level(GPIO_DP_MUX_EN_L , 1);
+ gpio_set_level(GPIO_PARADE_MUX_EN, 0);
+#endif
}
DECLARE_HOOK(HOOK_CHIPSET_SHUTDOWN, board_chipset_shutdown, HOOK_PRIO_DEFAULT);
diff --git a/board/oak/board.h b/board/oak/board.h
index 5a5fed3501..46072eb001 100644
--- a/board/oak/board.h
+++ b/board/oak/board.h
@@ -132,6 +132,9 @@
/* Drivers */
/* USB Mux */
#define CONFIG_USB_MUX_PI3USB30532
+#if BOARD_REV >= OAK_REV5
+#define CONFIG_USB_MUX_PS8740
+#endif
/* BC 1.2 charger */
#define CONFIG_USB_SWITCH_PI3USB9281
#define CONFIG_USB_SWITCH_PI3USB9281_CHIP_COUNT 2
diff --git a/board/oak/gpio.inc b/board/oak/gpio.inc
index 29de1f276f..d3d776184f 100644
--- a/board/oak/gpio.inc
+++ b/board/oak/gpio.inc
@@ -60,16 +60,27 @@ GPIO(WP_L, PIN(B, 4), GPIO_INPUT) /* Write protect input */
GPIO(BAT_PRESENT_L, PIN(E, 3), GPIO_INPUT|GPIO_PULL_UP)
/* Board version */
-GPIO(BOARD_VERSION1, PIN(E, 10), GPIO_INPUT|GPIO_PULL_DOWN) /* Board ID 0 */
-GPIO(BOARD_VERSION2, PIN(E, 9), GPIO_INPUT|GPIO_PULL_DOWN) /* Board ID 1 */
-GPIO(BOARD_VERSION3, PIN(E, 12), GPIO_INPUT|GPIO_PULL_DOWN) /* Board ID 2 */
-GPIO(BOARD_VERSION4, PIN(E, 11), GPIO_INPUT|GPIO_PULL_DOWN) /* Board ID 3 */
+GPIO(BOARD_VERSION1, PIN(E, 10), GPIO_INPUT) /* Board ID 0 */
+GPIO(BOARD_VERSION2, PIN(E, 9), GPIO_INPUT) /* Board ID 1 */
+GPIO(BOARD_VERSION3, PIN(E, 12), GPIO_INPUT) /* Board ID 2 */
+GPIO(BOARD_VERSION4, PIN(E, 11), GPIO_INPUT) /* Board ID 3 */
/* Outputs */
+#if BOARD_REV < OAK_REV5
GPIO(BAT_LED0, PIN(B, 11), GPIO_OUT_LOW) /* LED_GREEN */
GPIO(BAT_LED1, PIN(A, 11), GPIO_OUT_LOW) /* LED_ORANGE or LED_RED(>rev3)*/
+#else
+GPIO(BAT_LED0, PIN(A, 11), GPIO_OUT_LOW) /* LED_GREEN */
+GPIO(BAT_LED1, PIN(B, 11), GPIO_OUT_LOW) /* LED_ORANGE or LED_RED(>rev3)*/
+#endif
+
+#if (BOARD_REV == OAK_REV3) || (BOARD_REV == OAK_REV4)
GPIO(PWR_LED0, PIN(F, 10), GPIO_OUT_LOW) /* LED_GREEN */
GPIO(PWR_LED1, PIN(F, 9), GPIO_OUT_LOW) /* LED_ORANGE */
+#else
+UNIMPLEMENTED(PWR_LED0)
+UNIMPLEMENTED(PWR_LED1)
+#endif
GPIO(EC_BL_OVERRIDE, PIN(F, 1), GPIO_OUT_LOW)
GPIO(ENTERING_RW, PIN(F, 0), GPIO_OUT_LOW)
@@ -90,6 +101,7 @@ GPIO(KB_OUT09, PIN(B, 1), GPIO_KB_OUTPUT)
GPIO(KB_OUT10, PIN(C, 5), GPIO_KB_OUTPUT)
GPIO(KB_OUT11, PIN(C, 4), GPIO_KB_OUTPUT)
GPIO(KB_OUT12, PIN(A, 13), GPIO_KB_OUTPUT)
+UNIMPLEMENTED(DP_SWITCH_CTL)
#elif BOARD_REV == OAK_REV2
GPIO(AP_RESET_L, PIN(C, 3), GPIO_INPUT|GPIO_PULL_UP) /* AP reset signal from servo board */
@@ -126,6 +138,7 @@ GPIO(KB_OUT09, PIN(B, 1), GPIO_KB_OUTPUT)
GPIO(KB_OUT10, PIN(C, 5), GPIO_KB_OUTPUT)
GPIO(KB_OUT11, PIN(C, 4), GPIO_KB_OUTPUT)
GPIO(KB_OUT12, PIN(C, 2), GPIO_KB_OUTPUT)
+UNIMPLEMENTED(DP_SWITCH_CTL)
#else /* >= OAK_REV5 */
GPIO(AP_RESET_L, PIN(C, 3), GPIO_ODR_HIGH) /* Connect to the PMU_SYSRSTB */
@@ -138,11 +151,18 @@ GPIO(KB_OUT04, PIN(A, 8), GPIO_KB_OUTPUT)
GPIO(KB_OUT05, PIN(D, 14), GPIO_KB_OUTPUT)
GPIO(KB_OUT06, PIN(D, 13), GPIO_KB_OUTPUT)
GPIO(KB_OUT07, PIN(D, 15), GPIO_KB_OUTPUT)
-GPIO(KB_OUT08, PIN(D, 5), GPIO_KB_OUTPUT)
+GPIO(KB_OUT08, PIN(C, 2), GPIO_KB_OUTPUT)
GPIO(KB_OUT09, PIN(B, 1), GPIO_KB_OUTPUT)
GPIO(KB_OUT10, PIN(C, 5), GPIO_KB_OUTPUT)
GPIO(KB_OUT11, PIN(C, 4), GPIO_KB_OUTPUT)
-GPIO(KB_OUT12, PIN(C, 2), GPIO_KB_OUTPUT)
+GPIO(KB_OUT12, PIN(D, 5), GPIO_KB_OUTPUT)
+GPIO(C1_DP_HPD, PIN(E,15), GPIO_OUT_LOW) /* inform PS8740 to exit from idle mode. */
+GPIO(DP_SWITCH_CTL, PIN(E, 5), GPIO_OUT_LOW)
+GPIO(EN_OTG_USB_A_PWR, PIN(E, 4), GPIO_OUT_HIGH)
+GPIO(OTG_USB_A_ILIM_SEL,PIN(E, 2), GPIO_OUT_HIGH)
+GPIO(EC_IDDIG, PIN(E,13), GPIO_OUT_LOW)
+GPIO(DP_MUX_EN_L, PIN(E, 6), GPIO_OUT_LOW)
+GPIO(PARADE_MUX_EN, PIN(E, 7), GPIO_OUT_HIGH)
#endif /* BOARD_REV */
GPIO(SYSTEM_POWER_H, PIN(B, 10), GPIO_OUT_LOW)
@@ -162,8 +182,11 @@ GPIO(USB_PD_VBUS_WAKE, PIN(B, 15), GPIO_OUT_LOW) /* PD MCU wake */
GPIO(USB_DP_HPD, PIN(F, 3), GPIO_OUT_LOW)
GPIO(USB_C0_DEVMODE_L, PIN(E, 4), GPIO_OUT_HIGH) /* set HSD2 (host mode) path as default */
GPIO(USB_C1_DEVMODE, PIN(E, 2), GPIO_OUT_LOW) /* set HSD1 (host mode) path as default */
+
+#if (BOARD_REV < OAK_REV5)
GPIO(TYPEC0_MUX_EN_L, PIN(E, 13), GPIO_OUT_LOW)
GPIO(TYPEC1_MUX_EN_L, PIN(E, 14), GPIO_OUT_LOW)
+#endif
/* Analog pins */
GPIO(VDC_BOOSTIN_SENSE, PIN(C, 1), GPIO_ANALOG) /* ADC_IN11 */
diff --git a/board/oak/led.c b/board/oak/led.c
index 063f454ce8..44d7a657d8 100644
--- a/board/oak/led.c
+++ b/board/oak/led.c
@@ -2,7 +2,7 @@
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*
- * Battery LED and Power LED control for LLAMA Board.
+ * Battery LED and Power LED control for Oak Board.
*/
#include "battery.h"
@@ -32,28 +32,32 @@ enum led_color {
static int bat_led_set(enum led_color color, int on)
{
+ /* Before Rev5, it's active low; After that, it's active high */
+ if (system_get_board_version() < OAK_REV5)
+ on = !on;
+
switch (color) {
case BAT_LED_GREEN:
- gpio_set_level(GPIO_BAT_LED0, on ? 0 : 1); /* BAT_LED_GREEN */
+ gpio_set_level(GPIO_BAT_LED0, on); /* BAT_LED_GREEN */
break;
case BAT_LED_ORANGE:
/* for rev2 or before */
- gpio_set_level(GPIO_BAT_LED1, on ? 0 : 1); /* BAT_LED_ORANGE */
+ gpio_set_level(GPIO_BAT_LED1, on); /* BAT_LED_ORANGE */
break;
case BAT_LED_RED:
/* for rev3 or later */
- gpio_set_level(GPIO_BAT_LED1, on ? 0 : 1); /* BAT_LED_RED */
+ gpio_set_level(GPIO_BAT_LED1, on); /* BAT_LED_RED */
break;
case BAT_LED_AMBER:
/* for rev3 or later */
- gpio_set_level(GPIO_BAT_LED0, on ? 0 : 1); /* BAT_LED_AMBER */
- gpio_set_level(GPIO_BAT_LED1, on ? 0 : 1);
+ gpio_set_level(GPIO_BAT_LED0, on); /* BAT_LED_AMBER */
+ gpio_set_level(GPIO_BAT_LED1, on);
break;
case PWR_LED_GREEN:
- gpio_set_level(GPIO_PWR_LED0, on ? 0 : 1); /* PWR_LED_GREEN */
+ gpio_set_level(GPIO_PWR_LED0, on); /* PWR_LED_GREEN */
break;
case PWR_LED_ORANGE:
- gpio_set_level(GPIO_PWR_LED1, on ? 0 : 1); /* PWR_LED_ORANGE */
+ gpio_set_level(GPIO_PWR_LED1, on); /* PWR_LED_ORANGE */
break;
default:
return EC_ERROR_UNKNOWN;
@@ -109,21 +113,11 @@ static void oak_led_set_power(int board_version)
power_second++;
- if (board_version < 3) {
- /* PWR LED behavior:
- * Power on: Green
- * Suspend: Green in breeze mode ( 1 sec on/ 3 sec off)
- * Power off: OFF
- */
- if (chipset_in_state(CHIPSET_STATE_ANY_OFF))
- bat_led_set(BAT_LED_GREEN, 0);
- else if (chipset_in_state(CHIPSET_STATE_ON))
- bat_led_set(BAT_LED_GREEN, 1);
- else if (chipset_in_state(CHIPSET_STATE_SUSPEND))
- bat_led_set(BAT_LED_GREEN, (power_second & 3) ? 0 : 1);
- } else {
+ switch(board_version) {
+ case OAK_REV3:
+ case OAK_REV4:
/*
- * For Rev3 or later version:
+ * For Rev3 and Rev4 revision.
* PWR LED behavior:
* Power on: Green ON
* Suspend: Orange in breeze mode ( 1 sec on/ 3 sec off)
@@ -137,8 +131,24 @@ static void oak_led_set_power(int board_version)
bat_led_set(PWR_LED_ORANGE, 0);
} else if (chipset_in_state(CHIPSET_STATE_SUSPEND)) {
bat_led_set(PWR_LED_GREEN, 0);
- bat_led_set(PWR_LED_ORANGE, (power_second & 3) ? 0 : 1);
+ bat_led_set(PWR_LED_ORANGE,
+ (power_second & 3) ? 0 : 1);
}
+ break;
+ default:
+ /* PWR LED behavior:
+ * Power on: Green
+ * Suspend: Green in breeze mode ( 1 sec on/ 3 sec off)
+ * Power off: OFF
+ */
+ if (chipset_in_state(CHIPSET_STATE_ANY_OFF))
+ bat_led_set(BAT_LED_GREEN, 0);
+ else if (chipset_in_state(CHIPSET_STATE_ON))
+ bat_led_set(BAT_LED_GREEN, 1);
+ else if (chipset_in_state(CHIPSET_STATE_SUSPEND))
+ bat_led_set(BAT_LED_GREEN,
+ (power_second & 3) ? 0 : 1);
+ break;
}
}
@@ -148,82 +158,86 @@ static void oak_led_set_battery(int board_version)
battery_second++;
- if (board_version < 3) {
- /* BAT LED behavior:
- * Fully charged / idle: Off
- * Under charging: Orange
- * Battery low (10%): Orange in breeze mode(1 sec on, 3 sec off)
- * Battery critical low (less than 3%) or abnormal battery
- * situation: Orange in blinking mode (1 sec on, 1 sec off)
- * Using battery or not connected to AC power: OFF
+ switch(board_version) {
+ case OAK_REV3:
+ case OAK_REV4:
+ /*
+ * For Rev3 and Rev4 revision:
+ * BAT LED behavior:
+ * - Fully charged / idle: Green ON
+ * - Charging: Amber ON (BAT_LED_RED && BAT_LED_GREEN)
+ * - Battery discharging capacity<10%, red blink
+ * - Battery error: Red ON
*/
switch (charge_get_state()) {
case PWR_STATE_CHARGE:
- bat_led_set(BAT_LED_ORANGE, 1);
+ bat_led_set(BAT_LED_AMBER, 1);
break;
case PWR_STATE_CHARGE_NEAR_FULL:
- bat_led_set(BAT_LED_ORANGE, 1);
+ bat_led_set(BAT_LED_GREEN, 1);
+ bat_led_set(BAT_LED_RED, 0);
break;
case PWR_STATE_DISCHARGE:
+ bat_led_set(BAT_LED_GREEN, 0);
if (charge_get_percent() < 3)
- bat_led_set(BAT_LED_ORANGE,
- (battery_second & 1) ? 0 : 1);
+ bat_led_set(BAT_LED_RED,
+ (battery_second & 1) ? 0 : 1);
else if (charge_get_percent() < 10)
- bat_led_set(BAT_LED_ORANGE,
- (battery_second & 3) ? 0 : 1);
+ bat_led_set(BAT_LED_RED,
+ (battery_second & 3) ? 0 : 1);
else
- bat_led_set(BAT_LED_ORANGE, 0);
+ bat_led_set(BAT_LED_RED, 0);
break;
case PWR_STATE_ERROR:
- bat_led_set(BAT_LED_ORANGE,
- (battery_second & 1) ? 0 : 1);
+ bat_led_set(BAT_LED_RED, 1);
break;
- case PWR_STATE_IDLE: /* External power connected in IDLE. */
- bat_led_set(BAT_LED_ORANGE, 0);
+ case PWR_STATE_IDLE: /* Ext. power connected in IDLE. */
+ bat_led_set(BAT_LED_GREEN, 1);
+ bat_led_set(BAT_LED_RED, 0);
break;
default:
/* Other states don't alter LED behavior */
break;
}
- } else {
- /*
- * For Rev3 or later version:
- * BAT LED behavior:
- * - Fully charged / idle: Green ON
- * - Charging: Amber ON (BAT_LED_RED && BAT_LED_GREEN)
- * - Battery discharging capacity<10%, red blink
- * - Battery error: Red ON
+ break; /* End of case OAK_REV3 & OAK_REV4 */
+ default:
+ /* BAT LED behavior:
+ * Fully charged / idle: Off
+ * Under charging: Orange
+ * Bat. low (10%): Orange in breeze mode (1s on, 3s off)
+ * Bat. critical low (less than 3%) or abnormal battery
+ * situation: Orange in blinking mode (1s on, 1s off)
+ * Using battery or not connected to AC power: OFF
*/
switch (charge_get_state()) {
case PWR_STATE_CHARGE:
- bat_led_set(BAT_LED_AMBER, 1);
+ bat_led_set(BAT_LED_ORANGE, 1);
break;
case PWR_STATE_CHARGE_NEAR_FULL:
- bat_led_set(BAT_LED_GREEN, 1);
- bat_led_set(BAT_LED_RED, 0);
+ bat_led_set(BAT_LED_ORANGE, 1);
break;
case PWR_STATE_DISCHARGE:
- bat_led_set(BAT_LED_GREEN, 0);
if (charge_get_percent() < 3)
- bat_led_set(BAT_LED_RED,
- (battery_second & 1) ? 0 : 1);
+ bat_led_set(BAT_LED_ORANGE,
+ (battery_second & 1) ? 0 : 1);
else if (charge_get_percent() < 10)
- bat_led_set(BAT_LED_RED,
- (battery_second & 3) ? 0 : 1);
+ bat_led_set(BAT_LED_ORANGE,
+ (battery_second & 3) ? 0 : 1);
else
- bat_led_set(BAT_LED_RED, 0);
+ bat_led_set(BAT_LED_ORANGE, 0);
break;
case PWR_STATE_ERROR:
- bat_led_set(BAT_LED_RED, 1);
+ bat_led_set(BAT_LED_ORANGE,
+ (battery_second & 1) ? 0 : 1);
break;
- case PWR_STATE_IDLE: /* External power connected in IDLE. */
- bat_led_set(BAT_LED_GREEN, 1);
- bat_led_set(BAT_LED_RED, 0);
+ case PWR_STATE_IDLE: /* Ext. power connected in IDLE. */
+ bat_led_set(BAT_LED_ORANGE, 0);
break;
default:
/* Other states don't alter LED behavior */
break;
}
+ break; /* End of default */
}
}
diff --git a/board/oak/usb_pd_policy.c b/board/oak/usb_pd_policy.c
index 38db163b58..458b6dcb90 100644
--- a/board/oak/usb_pd_policy.c
+++ b/board/oak/usb_pd_policy.c
@@ -140,6 +140,7 @@ int pd_check_vconn_swap(int port)
void pd_execute_data_swap(int port, int data_role)
{
+ /* Do nothing */
}
void pd_check_pr_role(int port, int pr_role, int flags)
@@ -214,7 +215,7 @@ int pd_custom_vdm(int port, int cnt, uint32_t *payload,
CPRINTF("Current: %dmA\n", payload[1]);
break;
case VDO_CMD_FLIP:
- /* board_flip_usb_mux(port); */
+ usb_mux_flip(port);
break;
#ifdef CONFIG_USB_PD_LOGGING
case VDO_CMD_GET_LOG:
@@ -289,14 +290,13 @@ static int svdm_dp_config(int port, uint32_t *payload)
return 0;
usb_mux_set(port, mf_pref ? TYPEC_MUX_DOCK : TYPEC_MUX_DP,
- USB_SWITCH_CONNECT, pd_get_polarity(port));
+ USB_SWITCH_CONNECT, pd_get_polarity(port));
payload[0] = VDO(USB_SID_DISPLAYPORT, 1,
CMD_DP_CONFIG | VDO_OPOS(opos));
-
payload[1] = VDO_DP_CFG(pin_mode, /* pin mode */
1, /* DPv1.3 signaling */
- 2); /* UFP_U connected as UFP_D */
+ 2); /* UFP connected */
return 2;
};