summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--board/bolt/board.c4
-rw-r--r--board/bolt/board.h8
-rw-r--r--board/falco/board.c2
-rw-r--r--board/falco/board.h7
-rw-r--r--board/link/board.c4
-rw-r--r--board/link/board.h8
-rw-r--r--board/peppy/board.c2
-rw-r--r--board/peppy/board.h7
-rw-r--r--board/rambi/board.c5
-rw-r--r--board/rambi/board.h4
-rw-r--r--board/slippy/board.c2
-rw-r--r--board/slippy/board.h7
-rw-r--r--chip/lm4/fan.c17
-rw-r--r--include/config.h3
14 files changed, 32 insertions, 48 deletions
diff --git a/board/bolt/board.c b/board/bolt/board.c
index 4fc4b2fc49..1b302fb363 100644
--- a/board/bolt/board.c
+++ b/board/bolt/board.c
@@ -182,8 +182,8 @@ BUILD_ASSERT(ARRAY_SIZE(adc_channels) == ADC_CH_COUNT);
/* PWM channels */
const struct pwm_t pwm_channels[] = {
- [PWM_CH_FAN] = {FAN_CH_CPU, PWM_CONFIG_HAS_RPM_MODE},
- [PWM_CH_KBLIGHT] = {FAN_CH_KBLIGHT, 0},
+ [PWM_CH_FAN] = {CONFIG_FAN_CH_CPU, PWM_CONFIG_HAS_RPM_MODE},
+ [PWM_CH_KBLIGHT] = {4, 0},
};
BUILD_ASSERT(ARRAY_SIZE(pwm_channels) == PWM_CH_COUNT);
diff --git a/board/bolt/board.h b/board/bolt/board.h
index 3c60f91e0d..b74424d474 100644
--- a/board/bolt/board.h
+++ b/board/bolt/board.h
@@ -38,6 +38,7 @@
/* External Charger maximum current. */
#define CONFIG_CHARGER_INPUT_CURRENT 5000
#define CONFIG_FAN
+#define CONFIG_FAN_CH_CPU 2
#define CONFIG_FAN_RPM_MIN 1000
#define CONFIG_FAN_RPM_MAX 5050
#define CONFIG_FAN_POWER_GOOD GPIO_PP5000_PGOOD
@@ -65,17 +66,12 @@ enum module_id {
MODULE_UART,
};
-/* PWM channels */
-#define FAN_CH_CPU 2 /* CPU fan */
-#define FAN_CH_KBLIGHT 4 /* Keyboard backlight */
-#define FAN_CH_BL_DISPLAY 0 /* Panel backlight (from PCH, cleaned by EC) */
-
/* I2C ports */
#define I2C_PORT_BATTERY 0
#define I2C_PORT_CHARGER 0
#define I2C_PORT_LIGHTBAR 1
#define I2C_PORT_THERMAL 5
-/* There are only two I2C ports used because battery and charger share a port */
+/* There are only 3 I2C ports used because battery and charger share a port */
#define I2C_PORTS_USED 3
/* 13x8 keyboard scanner uses an entire GPIO bank for row inputs */
diff --git a/board/falco/board.c b/board/falco/board.c
index 36ef65ad3e..1a390eaae4 100644
--- a/board/falco/board.c
+++ b/board/falco/board.c
@@ -186,7 +186,7 @@ BUILD_ASSERT(ARRAY_SIZE(adc_channels) == ADC_CH_COUNT);
/* PWM channels */
const struct pwm_t pwm_channels[] = {
- [PWM_CH_FAN] = {FAN_CH_CPU, PWM_CONFIG_HAS_RPM_MODE},
+ [PWM_CH_FAN] = {CONFIG_FAN_CH_CPU, PWM_CONFIG_HAS_RPM_MODE},
};
BUILD_ASSERT(ARRAY_SIZE(pwm_channels) == PWM_CH_COUNT);
diff --git a/board/falco/board.h b/board/falco/board.h
index 363e9b9ec0..1bd0320992 100644
--- a/board/falco/board.h
+++ b/board/falco/board.h
@@ -21,9 +21,10 @@
#define CONFIG_EXTPOWER_FALCO
#define CONFIG_EXTPOWER_GPIO
#define CONFIG_FAN
+#define CONFIG_FAN_CH_CPU 2
#define CONFIG_FAN_RPM_MIN 1000
#define CONFIG_FAN_RPM_MAX 5050
-#define CONFIG_FAN_POWER_GOOD GPIO_PP5000_PGOOD
+#define CONFIG_FAN_POWER_GOOD GPIO_PP5000_PGOOD
#define CONFIG_KEYBOARD_BOARD_CONFIG
#define CONFIG_KEYBOARD_PROTOCOL_8042
#define CONFIG_POWER_BUTTON
@@ -48,10 +49,6 @@ enum module_id {
MODULE_UART,
};
-/* PWM channels */
-#define FAN_CH_CPU 2 /* CPU fan */
-#define FAN_CH_BL_DISPLAY 4 /* LVDS backlight (from PCH, cleaned by EC) */
-
/* I2C ports */
#define I2C_PORT_BATTERY 0
#define I2C_PORT_CHARGER 0
diff --git a/board/link/board.c b/board/link/board.c
index 701f67e24c..1207e63e0a 100644
--- a/board/link/board.c
+++ b/board/link/board.c
@@ -184,8 +184,8 @@ BUILD_ASSERT(ARRAY_SIZE(adc_channels) == ADC_CH_COUNT);
/* PWM channels */
const struct pwm_t pwm_channels[] = {
- [PWM_CH_FAN] = {FAN_CH_CPU, PWM_CONFIG_HAS_RPM_MODE},
- [PWM_CH_KBLIGHT] = {FAN_CH_KBLIGHT, 0},
+ [PWM_CH_FAN] = {CONFIG_FAN_CH_CPU, PWM_CONFIG_HAS_RPM_MODE},
+ [PWM_CH_KBLIGHT] = {1, 0},
};
BUILD_ASSERT(ARRAY_SIZE(pwm_channels) == PWM_CH_COUNT);
diff --git a/board/link/board.h b/board/link/board.h
index 91730efd0f..f011003c22 100644
--- a/board/link/board.h
+++ b/board/link/board.h
@@ -21,9 +21,10 @@
#define CONFIG_CHIPSET_X86
#define CONFIG_EXTPOWER_GPIO
#define CONFIG_FAN
+#define CONFIG_FAN_CH_CPU 0
#define CONFIG_FAN_RPM_MIN 1500
#define CONFIG_FAN_RPM_MAX 9300
-#define CONFIG_FAN_POWER_GOOD GPIO_PGOOD_5VALW
+#define CONFIG_FAN_POWER_GOOD GPIO_PGOOD_5VALW
#define CONFIG_I2C_PASSTHRU_RESTRICTED
#define CONFIG_KEYBOARD_BOARD_CONFIG
#define CONFIG_KEYBOARD_PROTOCOL_8042
@@ -54,11 +55,6 @@ enum module_id {
MODULE_UART,
};
-/* Fan PWM channels */
-#define FAN_CH_CPU 0 /* CPU fan */
-#define FAN_CH_KBLIGHT 1 /* Keyboard backlight */
-#define FAN_CH_POWER_LED 5 /* Power adapter LED */
-
enum adc_channel {
/* EC internal die temperature in degrees K. */
ADC_CH_EC_TEMP = 0,
diff --git a/board/peppy/board.c b/board/peppy/board.c
index f8142076be..dde622bedd 100644
--- a/board/peppy/board.c
+++ b/board/peppy/board.c
@@ -178,7 +178,7 @@ BUILD_ASSERT(ARRAY_SIZE(adc_channels) == ADC_CH_COUNT);
/* PWM channels */
const struct pwm_t pwm_channels[] = {
- [PWM_CH_FAN] = {FAN_CH_CPU, PWM_CONFIG_HAS_RPM_MODE},
+ [PWM_CH_FAN] = {CONFIG_FAN_CH_CPU, PWM_CONFIG_HAS_RPM_MODE},
};
BUILD_ASSERT(ARRAY_SIZE(pwm_channels) == PWM_CH_COUNT);
diff --git a/board/peppy/board.h b/board/peppy/board.h
index 837b872e22..f98eab08ac 100644
--- a/board/peppy/board.h
+++ b/board/peppy/board.h
@@ -22,10 +22,11 @@
#define CONFIG_CMD_GSV
#define CONFIG_EXTPOWER_GPIO
#define CONFIG_FAN
+#define CONFIG_FAN_CH_CPU 2
#define CONFIG_FAN_EN_GPIO GPIO_PP5000_FAN_EN
#define CONFIG_FAN_RPM_MIN 1000
#define CONFIG_FAN_RPM_MAX 5050
-#define CONFIG_FAN_POWER_GOOD GPIO_PP5000_PGOOD
+#define CONFIG_FAN_POWER_GOOD GPIO_PP5000_PGOOD
#define CONFIG_KEYBOARD_BOARD_CONFIG
#define CONFIG_KEYBOARD_PROTOCOL_8042
#define CONFIG_POWER_BUTTON
@@ -50,10 +51,6 @@ enum module_id {
MODULE_UART,
};
-/* PWM channels */
-#define FAN_CH_CPU 2 /* CPU fan */
-#define FAN_CH_BL_DISPLAY 4 /* LVDS backlight (from PCH, cleaned by EC) */
-
/* I2C ports */
#define I2C_PORT_BATTERY 0
#define I2C_PORT_CHARGER 0
diff --git a/board/rambi/board.c b/board/rambi/board.c
index 87ab655483..a5813dba0a 100644
--- a/board/rambi/board.c
+++ b/board/rambi/board.c
@@ -152,9 +152,10 @@ BUILD_ASSERT(ARRAY_SIZE(adc_channels) == ADC_CH_COUNT);
/* PWM channels */
const struct pwm_t pwm_channels[] = {
- [PWM_CH_LED_GREEN] = {FAN_CH_LED_GREEN, 0},
- [PWM_CH_LED_RED] = {FAN_CH_LED_RED, 0},
+ [PWM_CH_LED_GREEN] = {4, 0},
+ [PWM_CH_LED_RED] = {3, 0},
};
+
BUILD_ASSERT(ARRAY_SIZE(pwm_channels) == PWM_CH_COUNT);
/* I2C ports */
diff --git a/board/rambi/board.h b/board/rambi/board.h
index e60d0434b2..8c8ca0e684 100644
--- a/board/rambi/board.h
+++ b/board/rambi/board.h
@@ -51,10 +51,6 @@ enum module_id {
MODULE_UART,
};
-/* PWM channels */
-#define FAN_CH_LED_GREEN 4 /* LED0 = green */
-#define FAN_CH_LED_RED 3 /* LED1 = red */
-
/* I2C ports */
#define I2C_PORT_BATTERY 0
#define I2C_PORT_CHARGER 0
diff --git a/board/slippy/board.c b/board/slippy/board.c
index 2ed4320902..087c03d1e3 100644
--- a/board/slippy/board.c
+++ b/board/slippy/board.c
@@ -176,7 +176,7 @@ BUILD_ASSERT(ARRAY_SIZE(adc_channels) == ADC_CH_COUNT);
/* PWM channels */
const struct pwm_t pwm_channels[] = {
- [PWM_CH_FAN] = {FAN_CH_CPU, PWM_CONFIG_HAS_RPM_MODE},
+ [PWM_CH_FAN] = {CONFIG_FAN_CH_CPU, PWM_CONFIG_HAS_RPM_MODE},
};
BUILD_ASSERT(ARRAY_SIZE(pwm_channels) == PWM_CH_COUNT);
diff --git a/board/slippy/board.h b/board/slippy/board.h
index a90f9310ad..648f09a960 100644
--- a/board/slippy/board.h
+++ b/board/slippy/board.h
@@ -22,9 +22,10 @@
#define CONFIG_CMD_GSV
#define CONFIG_EXTPOWER_GPIO
#define CONFIG_FAN
+#define CONFIG_FAN_CH_CPU 2
#define CONFIG_FAN_RPM_MIN 1000
#define CONFIG_FAN_RPM_MAX 5050
-#define CONFIG_FAN_POWER_GOOD GPIO_PP5000_PGOOD
+#define CONFIG_FAN_POWER_GOOD GPIO_PP5000_PGOOD
#define CONFIG_KEYBOARD_BOARD_CONFIG
#define CONFIG_KEYBOARD_PROTOCOL_8042
#define CONFIG_LED_SLIPPY
@@ -50,10 +51,6 @@ enum module_id {
MODULE_UART,
};
-/* PWM channels */
-#define FAN_CH_CPU 2 /* CPU fan */
-#define FAN_CH_BL_DISPLAY 4 /* LVDS backlight (from PCH, cleaned by EC) */
-
/* I2C ports */
#define I2C_PORT_BATTERY 0
#define I2C_PORT_CHARGER 0
diff --git a/chip/lm4/fan.c b/chip/lm4/fan.c
index 663bcdab1d..98e19e767e 100644
--- a/chip/lm4/fan.c
+++ b/chip/lm4/fan.c
@@ -52,7 +52,7 @@ static void fan_set_enabled(int enable)
static int fan_get_rpm_mode(void)
{
- return (LM4_FAN_FANCH(FAN_CH_CPU) & 0x0001) ? 0 : 1;
+ return (LM4_FAN_FANCH(CONFIG_FAN_CH_CPU) & 0x0001) ? 0 : 1;
}
static void fan_set_rpm_mode(int rpm_mode)
@@ -63,24 +63,24 @@ static void fan_set_rpm_mode(int rpm_mode)
if (!was_rpm && rpm_mode) {
/* Enable RPM control */
fan_set_enabled(0);
- LM4_FAN_FANCH(FAN_CH_CPU) &= ~0x0001;
+ LM4_FAN_FANCH(CONFIG_FAN_CH_CPU) &= ~0x0001;
fan_set_enabled(was_enabled);
} else if (was_rpm && !rpm_mode) {
/* Disable RPM mode */
fan_set_enabled(0);
- LM4_FAN_FANCH(FAN_CH_CPU) |= 0x0001;
+ LM4_FAN_FANCH(CONFIG_FAN_CH_CPU) |= 0x0001;
fan_set_enabled(was_enabled);
}
}
static int fan_get_rpm_actual(void)
{
- return (LM4_FAN_FANCST(FAN_CH_CPU) & MAX_RPM) * CPU_FAN_SCALE;
+ return (LM4_FAN_FANCST(CONFIG_FAN_CH_CPU) & MAX_RPM) * CPU_FAN_SCALE;
}
static int fan_get_rpm_target(void)
{
- return (LM4_FAN_FANCMD(FAN_CH_CPU) & MAX_RPM) * CPU_FAN_SCALE;
+ return (LM4_FAN_FANCMD(CONFIG_FAN_CH_CPU) & MAX_RPM) * CPU_FAN_SCALE;
}
static void fan_set_rpm_target(int rpm)
@@ -93,12 +93,12 @@ static void fan_set_rpm_target(int rpm)
if (rpm < 0 || rpm > MAX_RPM)
rpm = MAX_RPM;
- LM4_FAN_FANCMD(FAN_CH_CPU) = rpm;
+ LM4_FAN_FANCMD(CONFIG_FAN_CH_CPU) = rpm;
}
static int fan_get_status(void)
{
- return (LM4_FAN_FANSTS >> (2 * FAN_CH_CPU)) & 0x03;
+ return (LM4_FAN_FANSTS >> (2 * CONFIG_FAN_CH_CPU)) & 0x03;
}
static const char * const human_status[] = {
"not spinning", "changing", "locked", "frustrated"
@@ -114,7 +114,8 @@ static int fan_is_stalled(void)
return 0;
/* Check for stall condition */
- return (((LM4_FAN_FANSTS >> (2 * FAN_CH_CPU)) & 0x03) == 0) ? 1 : 0;
+ return (((LM4_FAN_FANSTS >> (2 * CONFIG_FAN_CH_CPU)) & 0x03) == 0) ?
+ 1 : 0;
}
/*****************************************************************************/
diff --git a/include/config.h b/include/config.h
index 5234a77e10..a3f67c06c7 100644
--- a/include/config.h
+++ b/include/config.h
@@ -316,6 +316,9 @@
/* Compile support for PWM control of cooling fans */
#undef CONFIG_FAN
+/* Fan channel (not PWM channel) for the CPU fan */
+#undef CONFIG_FAN_CPU_CH
+
/* Name of active high GPIO to control power to the cooling fan */
#undef CONFIG_FAN_EN_GPIO