summaryrefslogtreecommitdiff
path: root/baseboard
diff options
context:
space:
mode:
authorTing Shen <phoenixshen@google.com>2019-07-24 16:26:00 +0800
committerCommit Bot <commit-bot@chromium.org>2019-07-31 18:56:56 +0000
commit74340f2dbe5ededa6cd466d32a727c7df977b956 (patch)
tree92a1a3783b9df587f5a47fad7766c2285e54a087 /baseboard
parent3e1c72ea23fe3c37f5a4e4e8bceea38c0322ba31 (diff)
downloadchrome-ec-74340f2dbe5ededa6cd466d32a727c7df977b956.tar.gz
jacuzzi: bringup ec
Initial version of jacuzzi ec. The files are basically copied from board/kukui/, battery and charger configured to the correct i2c port and component, and pogo / sensor removed. BUG=b:135895590 TEST=verify that this is bootable on a Jacuzzi, charger and battery looks good, and no error message spamming on ec console. BRANCH=master Change-Id: Ia786076c08019dd2aa1711a68ff1c82cc7fa45ed Signed-off-by: Ting Shen <phoenixshen@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1673955 Tested-by: Ting Shen <phoenixshen@chromium.org> Commit-Queue: Alexandru M Stan <amstan@chromium.org> Reviewed-by: Alexandru M Stan <amstan@chromium.org>
Diffstat (limited to 'baseboard')
-rw-r--r--baseboard/kukui/baseboard.h12
-rw-r--r--baseboard/kukui/usb_pd_policy.c8
2 files changed, 20 insertions, 0 deletions
diff --git a/baseboard/kukui/baseboard.h b/baseboard/kukui/baseboard.h
index 3499ced3df..d17012bccb 100644
--- a/baseboard/kukui/baseboard.h
+++ b/baseboard/kukui/baseboard.h
@@ -29,6 +29,7 @@
/*
* Variant charger defines, pick one:
* VARIANT_KUKUI_CHARGER_MT6370
+ * VARIANT_KUKUI_CHARGER_ISL9238
*/
#if defined(VARIANT_KUKUI_CHARGER_MT6370)
#define CONFIG_CHARGER_MT6370
@@ -39,10 +40,21 @@
#define CONFIG_USB_PD_TCPC_LOW_POWER
#define CONFIG_USB_PD_DISCHARGE_TCPC
#define CONFIG_USB_PD_DUAL_ROLE_AUTO_TOGGLE
+#elif defined(VARIANT_KUKUI_CHARGER_ISL9238)
+#define CONFIG_CHARGER_ISL9238
+#define CONFIG_CHARGER_SENSE_RESISTOR_AC 20 /* BOARD_RS1 */
+#define CONFIG_CHARGER_SENSE_RESISTOR 10 /* BOARD_RS2 */
+#define CONFIG_CHARGER_OTG
+#define CONFIG_CHARGE_RAMP_HW
#else
#error Must define a VARIANT_KUKUI_CHARGER
#endif /* VARIANT_KUKUI_CHARGER */
+/*
+ * Board controls dp mux via gpio pins USB_C0_DP_OE_L and USB_C0_DP_POLARITY.
+ */
+#undef VARIANT_KUKUI_DP_MUX_GPIO
+
/* Optional modules */
#define CONFIG_ADC
#undef CONFIG_ADC_WATCHDOG
diff --git a/baseboard/kukui/usb_pd_policy.c b/baseboard/kukui/usb_pd_policy.c
index 238ec4b1bf..54f4db0836 100644
--- a/baseboard/kukui/usb_pd_policy.c
+++ b/baseboard/kukui/usb_pd_policy.c
@@ -317,8 +317,10 @@ static void svdm_dp_post_config(int port)
return;
gpio_set_level(GPIO_USB_C0_HPD_OD, 1);
+#ifdef VARIANT_KUKUI_DP_MUX_GPIO
gpio_set_level(GPIO_USB_C0_DP_OE_L, 0);
gpio_set_level(GPIO_USB_C0_DP_POLARITY, board_get_polarity(port));
+#endif
/* set the minimum time delay (2ms) for the next HPD IRQ */
hpd_deadline[port] = get_time().val + HPD_USTREAM_DEBOUNCE_LVL;
@@ -354,9 +356,11 @@ static int svdm_dp_attention(int port, uint32_t *payload)
usleep(HPD_DSTREAM_DEBOUNCE_IRQ);
gpio_set_level(GPIO_USB_C0_HPD_OD, 1);
+#ifdef VARIANT_KUKUI_DP_MUX_GPIO
gpio_set_level(GPIO_USB_C0_DP_OE_L, 0);
gpio_set_level(GPIO_USB_C0_DP_POLARITY,
board_get_polarity(port));
+#endif
/* set the minimum time delay (2ms) for the next HPD IRQ */
hpd_deadline[port] = get_time().val + HPD_USTREAM_DEBOUNCE_LVL;
@@ -365,9 +369,11 @@ static int svdm_dp_attention(int port, uint32_t *payload)
return 0; /* nak */
} else {
gpio_set_level(GPIO_USB_C0_HPD_OD, lvl);
+#ifdef VARIANT_KUKUI_DP_MUX_GPIO
gpio_set_level(GPIO_USB_C0_DP_OE_L, !lvl);
gpio_set_level(GPIO_USB_C0_DP_POLARITY,
board_get_polarity(port));
+#endif
/* set the minimum time delay (2ms) for the next HPD IRQ */
hpd_deadline[port] = get_time().val + HPD_USTREAM_DEBOUNCE_LVL;
}
@@ -382,7 +388,9 @@ static void svdm_exit_dp_mode(int port)
svdm_safe_dp_mode(port);
gpio_set_level(GPIO_USB_C0_HPD_OD, 0);
+#ifdef VARIANT_KUKUI_DP_MUX_GPIO
gpio_set_level(GPIO_USB_C0_DP_OE_L, 1);
+#endif
mux->hpd_update(port, 0, 0);
}