summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZick Wei <zick.wei@quanta.corp-partner.google.com>2022-03-21 17:48:28 +0800
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-05-17 07:10:18 +0000
commitb42c65314f800c2206ac7277e96fc2079e589b4d (patch)
tree2617f4b8c10c38b03b31040303911026fff43815
parent3a5ff62b393e510d6f890eef51aa4cd3117bcfa8 (diff)
downloadchrome-ec-b42c65314f800c2206ac7277e96fc2079e589b4d.tar.gz
agah: support fan2
Remove fan_slow(), fan_max() and configure Fan2 setting. BUG=b:231398359, b:218400524 BRANCH=none TEST=make BOARD=agah Signed-off-by: Zick Wei <zick.wei@quanta.corp-partner.google.com> Change-Id: I099da5d6db412116538ff420d805a895b2fd9e25 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3621997 Reviewed-by: Boris Mittelberg <bmbm@google.com>
-rw-r--r--board/agah/board.h3
-rw-r--r--board/agah/fans.c58
-rw-r--r--board/agah/gpio.inc2
-rw-r--r--board/agah/pwm.c9
4 files changed, 36 insertions, 36 deletions
diff --git a/board/agah/board.h b/board/agah/board.h
index c82f2d3b16..2a81230e5f 100644
--- a/board/agah/board.h
+++ b/board/agah/board.h
@@ -178,17 +178,20 @@ enum pwm_channel {
PWM_CH_LED1, /* PWM2 (orange charger) */
PWM_CH_KBLIGHT, /* PWM3 */
PWM_CH_FAN, /* PWM5 */
+ PWM_CH_FAN2, /* PWM4 */
PWM_CH_LED4, /* PWM7 */
PWM_CH_COUNT
};
enum fan_channel {
FAN_CH_0 = 0,
+ FAN_CH_1,
FAN_CH_COUNT
};
enum mft_channel {
MFT_CH_0 = 0,
+ MFT_CH_1,
MFT_CH_COUNT
};
diff --git a/board/agah/fans.c b/board/agah/fans.c
index ca816af8ab..df6102b460 100644
--- a/board/agah/fans.c
+++ b/board/agah/fans.c
@@ -20,6 +20,11 @@ const struct mft_t mft_channels[] = {
.clk_src = TCKC_LFCLK,
.pwm_id = PWM_CH_FAN,
},
+ [MFT_CH_1] = {
+ .module = NPCX_MFT_MODULE_2,
+ .clk_src = TCKC_LFCLK,
+ .pwm_id = PWM_CH_FAN2,
+ },
};
BUILD_ASSERT(ARRAY_SIZE(mft_channels) == MFT_CH_COUNT);
@@ -30,10 +35,23 @@ static const struct fan_conf fan_conf_0 = {
.enable_gpio = GPIO_EN_PP5000_FAN,
};
+static const struct fan_conf fan_conf_1 = {
+ .flags = FAN_USE_RPM_MODE,
+ .ch = MFT_CH_1, /* Use MFT id to control fan */
+ .pgood_gpio = -1,
+ .enable_gpio = GPIO_EN_PP5000_FAN,
+};
+
static const struct fan_rpm fan_rpm_0 = {
- .rpm_min = 2200,
- .rpm_start = 2200,
- .rpm_max = 4200,
+ .rpm_min = 2500,
+ .rpm_start = 2500,
+ .rpm_max = 4300,
+};
+
+static const struct fan_rpm fan_rpm_1 = {
+ .rpm_min = 2500,
+ .rpm_start = 2500,
+ .rpm_max = 4300,
};
const struct fan_t fans[FAN_CH_COUNT] = {
@@ -41,34 +59,8 @@ const struct fan_t fans[FAN_CH_COUNT] = {
.conf = &fan_conf_0,
.rpm = &fan_rpm_0,
},
+ [FAN_CH_1] = {
+ .conf = &fan_conf_1,
+ .rpm = &fan_rpm_1,
+ },
};
-
-#ifndef CONFIG_FANS
-
-static void fan_slow(void)
-{
- const int duty_pct = 33;
-
- ccprints("%s: speed %d%%", __func__, duty_pct);
-
- pwm_enable(PWM_CH_FAN, 1);
- pwm_set_duty(PWM_CH_FAN, duty_pct);
-}
-
-static void fan_max(void)
-{
- const int duty_pct = 100;
-
- ccprints("%s: speed %d%%", __func__, duty_pct);
-
- pwm_enable(PWM_CH_FAN, 1);
- pwm_set_duty(PWM_CH_FAN, duty_pct);
-}
-
-DECLARE_HOOK(HOOK_INIT, fan_slow, HOOK_PRIO_DEFAULT);
-DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, fan_slow, HOOK_PRIO_DEFAULT);
-DECLARE_HOOK(HOOK_CHIPSET_SHUTDOWN, fan_slow, HOOK_PRIO_DEFAULT);
-DECLARE_HOOK(HOOK_CHIPSET_RESET, fan_max, HOOK_PRIO_FIRST);
-DECLARE_HOOK(HOOK_CHIPSET_RESUME, fan_max, HOOK_PRIO_DEFAULT);
-
-#endif /* CONFIG_FANS */
diff --git a/board/agah/gpio.inc b/board/agah/gpio.inc
index 1121121e95..aea77665d6 100644
--- a/board/agah/gpio.inc
+++ b/board/agah/gpio.inc
@@ -92,9 +92,9 @@ ALTERNATE(PIN_MASK(F, 0x0c), 0, MODULE_I2C, 0) /* GPIOF3/I2C4_SCL1
/* PWM alternate functions */
ALTERNATE(PIN_MASK(4, 0x01), 0, MODULE_PWM, 0) /* GPIO40/TA1 */
+ALTERNATE(PIN_MASK(7, 0x08), 0, MODULE_PWM, 0) /* GPIO73/TA2 */
ALTERNATE(PIN_MASK(6, 0x01), 0, MODULE_PWM, 0) /* GPIO60/PWM7 */
ALTERNATE(PIN_MASK(8, 0x01), 0, MODULE_PWM, 0) /* GPIO80/PWM3 */
-ALTERNATE(PIN_MASK(A, 0x80), 0, MODULE_PWM, 0) /* GPIOA7/TB1 */
ALTERNATE(PIN_MASK(B, 0xC0), 0, MODULE_PWM, 0) /* GPIOB7/PWM5, GPIOB6/PWM4 */
ALTERNATE(PIN_MASK(C, 0x1c), 0, MODULE_PWM, 0) /* GPIOC4/PWM2, GPIOC3/PWM0, GPIOC2/PWM1/I2C6_SCL0 */
diff --git a/board/agah/pwm.c b/board/agah/pwm.c
index 2203f14c8d..29fdfdabd7 100644
--- a/board/agah/pwm.c
+++ b/board/agah/pwm.c
@@ -39,8 +39,13 @@ const struct pwm_t pwm_channels[] = {
},
[PWM_CH_FAN] = {
.channel = 5,
- .flags = PWM_CONFIG_OPEN_DRAIN | PWM_CONFIG_DSLEEP,
- .freq = 1000
+ .flags = PWM_CONFIG_OPEN_DRAIN,
+ .freq = 25000
+ },
+ [PWM_CH_FAN2] = {
+ .channel = 4,
+ .flags = PWM_CONFIG_OPEN_DRAIN,
+ .freq = 25000
},
[PWM_CH_LED4] = {
.channel = 7,