diff options
-rw-r--r-- | board/bolt/board.c | 4 | ||||
-rw-r--r-- | board/bolt/board.h | 8 | ||||
-rw-r--r-- | board/falco/board.c | 2 | ||||
-rw-r--r-- | board/falco/board.h | 7 | ||||
-rw-r--r-- | board/link/board.c | 4 | ||||
-rw-r--r-- | board/link/board.h | 8 | ||||
-rw-r--r-- | board/peppy/board.c | 2 | ||||
-rw-r--r-- | board/peppy/board.h | 7 | ||||
-rw-r--r-- | board/rambi/board.c | 5 | ||||
-rw-r--r-- | board/rambi/board.h | 4 | ||||
-rw-r--r-- | board/slippy/board.c | 2 | ||||
-rw-r--r-- | board/slippy/board.h | 7 | ||||
-rw-r--r-- | chip/lm4/fan.c | 17 | ||||
-rw-r--r-- | include/config.h | 3 |
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 |