summaryrefslogtreecommitdiff
path: root/baseboard/volteer/baseboard.c
diff options
context:
space:
mode:
authorAbe Levkoy <alevkoy@chromium.org>2020-01-03 16:58:29 -0700
committerCommit Bot <commit-bot@chromium.org>2020-01-08 03:13:56 +0000
commit83f95fa7763155ea76bde754e8e4b02749be04b0 (patch)
tree47c06b2bc7a593641dfb4dbc86cdaa5ebecdb7d1 /baseboard/volteer/baseboard.c
parent6109da0a52fa568742c55fa0f10166590ff7bbf5 (diff)
downloadchrome-ec-83f95fa7763155ea76bde754e8e4b02749be04b0.tar.gz
volteer: Enable daughter-board LED
PWM the motherboard/daughter-board switch at 50% to drive both LEDs equally. BUG=b:139554899 TEST=ledtest 0 enable <various colors>; observe LEDs BRANCH=none Change-Id: I0fefac4d540351f5083b769b09ede83c87c97a86 Signed-off-by: Abe Levkoy <alevkoy@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1987245 Reviewed-by: Keith Short <keithshort@chromium.org>
Diffstat (limited to 'baseboard/volteer/baseboard.c')
-rw-r--r--baseboard/volteer/baseboard.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/baseboard/volteer/baseboard.c b/baseboard/volteer/baseboard.c
index 624b51403d..813dc3e445 100644
--- a/baseboard/volteer/baseboard.c
+++ b/baseboard/volteer/baseboard.c
@@ -178,6 +178,14 @@ const struct pwm_t pwm_channels[] = {
.flags = PWM_CONFIG_ACTIVE_LOW | PWM_CONFIG_DSLEEP,
.freq = 2400,
},
+ [PWM_CH_LED4_SIDESEL] = {
+ .channel = 7,
+ .flags = PWM_CONFIG_ACTIVE_LOW | PWM_CONFIG_DSLEEP,
+ /* Run at a higher frequency than the color PWM signals to avoid
+ * timing-based color shifts.
+ */
+ .freq = 4800,
+ },
[PWM_CH_FAN] = {
.channel = 5,
.flags = PWM_CONFIG_OPEN_DRAIN,
@@ -546,3 +554,13 @@ __override void board_icl_tgl_all_sys_pwrgood(void)
msleep(50);
}
+static void baseboard_init(void)
+{
+ /* Illuminate motherboard and daughter board LEDs equally.
+ * TODO(b/139554899): Illuminate only the LED next to the active
+ * charging port.
+ */
+ pwm_enable(PWM_CH_LED4_SIDESEL, 1);
+ pwm_set_duty(PWM_CH_LED4_SIDESEL, 50);
+}
+DECLARE_HOOK(HOOK_INIT, baseboard_init, HOOK_PRIO_DEFAULT);