summaryrefslogtreecommitdiff
path: root/board/primus
diff options
context:
space:
mode:
authorScott Chao <scott_chao@wistron.corp-partner.google.com>2021-06-04 08:34:23 +0800
committerCommit Bot <commit-bot@chromium.org>2021-06-11 21:26:51 +0000
commit12d9e14ed6c45c86ddbb12599602708ae32b5cbc (patch)
treedaa4236aab113dde1ea93132738928b145ca58b4 /board/primus
parent6c92e8efa30f7cfb78b39f60a7bc30804b409ed9 (diff)
downloadchrome-ec-12d9e14ed6c45c86ddbb12599602708ae32b5cbc.tar.gz
primus: Configure PWM channel
BUG=b:190518315 BRANCH=None TEST=make -j BOARD=primus Signed-off-by: Scott Chao <scott_chao@wistron.corp-partner.google.com> Change-Id: Iaee111a963f3e9a6a353d14e9fdefdfb755828ee Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2938782 Reviewed-by: Boris Mittelberg <bmbm@google.com>
Diffstat (limited to 'board/primus')
-rw-r--r--board/primus/board.c16
-rw-r--r--board/primus/board.h4
-rw-r--r--board/primus/led.c5
-rw-r--r--board/primus/pwm.c10
4 files changed, 18 insertions, 17 deletions
diff --git a/board/primus/board.c b/board/primus/board.c
index a6c74b643d..c63bbb2c80 100644
--- a/board/primus/board.c
+++ b/board/primus/board.c
@@ -15,6 +15,7 @@
#include "lid_switch.h"
#include "power_button.h"
#include "power.h"
+#include "pwm.h"
#include "switch.h"
#include "throttle_ap.h"
@@ -24,6 +25,9 @@
#define CPRINTF(format, args...) cprintf(CC_CHARGER, format, ## args)
#define CPRINTS(format, args...) cprints(CC_CHARGER, format, ## args)
+#define KBLIGHT_LED_ON_LVL 100
+#define KBLIGHT_LED_OFF_LVL 0
+
/******************************************************************************/
/* USB-A charging control */
@@ -43,11 +47,7 @@ __override void board_cbi_init(void)
static void board_chipset_resume(void)
{
/* Allow keyboard backlight to be enabled */
-
- if (get_board_id() == 1)
- gpio_set_level(GPIO_ID_1_EC_KB_BL_EN, 1);
- else
- gpio_set_level(GPIO_EC_KB_BL_EN_L, 0);
+ pwm_set_duty(PWM_CH_KBLIGHT, KBLIGHT_LED_ON_LVL);
}
DECLARE_HOOK(HOOK_CHIPSET_RESUME, board_chipset_resume, HOOK_PRIO_DEFAULT);
@@ -55,11 +55,7 @@ DECLARE_HOOK(HOOK_CHIPSET_RESUME, board_chipset_resume, HOOK_PRIO_DEFAULT);
static void board_chipset_suspend(void)
{
/* Turn off the keyboard backlight if it's on. */
-
- if (get_board_id() == 1)
- gpio_set_level(GPIO_ID_1_EC_KB_BL_EN, 0);
- else
- gpio_set_level(GPIO_EC_KB_BL_EN_L, 1);
+ pwm_set_duty(PWM_CH_KBLIGHT, KBLIGHT_LED_OFF_LVL);
}
DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, board_chipset_suspend, HOOK_PRIO_DEFAULT);
diff --git a/board/primus/board.h b/board/primus/board.h
index b13cdf5f26..3e59d9ee9f 100644
--- a/board/primus/board.h
+++ b/board/primus/board.h
@@ -211,11 +211,11 @@ enum battery_type {
enum pwm_channel {
PWM_CH_LED2 = 0, /* PWM0 (white charger) */
- PWM_CH_LED3, /* PWM1 (orange on DB) */
+ PWM_CH_TKP_A_LED_N, /* PWM1 (LOGO led on A cover) */
PWM_CH_LED1, /* PWM2 (orange charger) */
PWM_CH_KBLIGHT, /* PWM3 */
PWM_CH_FAN, /* PWM5 */
- PWM_CH_LED4, /* PWM7 (white on DB) */
+ PWM_CH_LED4, /* PWM7 (power) */
PWM_CH_COUNT
};
diff --git a/board/primus/led.c b/board/primus/led.c
index f9c31ee9a1..f148af6949 100644
--- a/board/primus/led.c
+++ b/board/primus/led.c
@@ -11,6 +11,9 @@
#include "pwm.h"
#include "util.h"
+/* TODO(b/190637023)
+ * Need to implement specific LED feature for Primus.
+ */
const enum ec_led_id supported_led_ids[] = {
EC_LED_ID_LEFT_LED,
EC_LED_ID_RIGHT_LED,
@@ -42,7 +45,7 @@ struct pwm_led pwm_leds[CONFIG_LED_PWM_COUNT] = {
.set_duty = &pwm_set_duty,
},
{
- .ch0 = PWM_CH_LED3,
+ .ch0 = PWM_CH_TKP_A_LED_N,
.ch1 = PWM_CH_LED4,
.ch2 = PWM_LED_NO_CHANNEL,
.enable = &pwm_enable,
diff --git a/board/primus/pwm.c b/board/primus/pwm.c
index a6b65b038c..456a1d5ad4 100644
--- a/board/primus/pwm.c
+++ b/board/primus/pwm.c
@@ -15,7 +15,7 @@ const struct pwm_t pwm_channels[] = {
.flags = PWM_CONFIG_ACTIVE_LOW | PWM_CONFIG_DSLEEP,
.freq = 4800,
},
- [PWM_CH_LED3] = {
+ [PWM_CH_TKP_A_LED_N] = {
.channel = 1,
.flags = PWM_CONFIG_ACTIVE_LOW | PWM_CONFIG_DSLEEP,
.freq = 4800,
@@ -53,18 +53,20 @@ static void board_pwm_init(void)
{
/*
* Turn on all the LED at 50%.
- * Turn on the fan at 100%.
*/
pwm_enable(PWM_CH_LED1, 1);
pwm_set_duty(PWM_CH_LED1, 50);
pwm_enable(PWM_CH_LED2, 1);
pwm_set_duty(PWM_CH_LED2, 50);
- pwm_enable(PWM_CH_LED3, 1);
- pwm_set_duty(PWM_CH_LED3, 50);
+ pwm_enable(PWM_CH_TKP_A_LED_N, 1);
+ pwm_set_duty(PWM_CH_TKP_A_LED_N, 50);
pwm_enable(PWM_CH_LED4, 1);
pwm_set_duty(PWM_CH_LED4, 50);
pwm_enable(PWM_CH_KBLIGHT, 1);
+ /* TODO(b/190518315)
+ * Check if need to turn to 100% after with chassis.
+ */
pwm_set_duty(PWM_CH_KBLIGHT, 50);
}
DECLARE_HOOK(HOOK_INIT, board_pwm_init, HOOK_PRIO_DEFAULT);