From 61c40db16c0a5c03c9e2c25dfbf1e5e4645364bf Mon Sep 17 00:00:00 2001 From: Randall Spangler Date: Mon, 23 Sep 2013 10:04:02 -0700 Subject: stm32: Fix polarity of charger interrupt The charger interrupt is active-low. Snow and Spring properly triggered on falling (asserting) edge, but Pit (and Daisy/Puppy) didn't. Fix those boards, and rename the signal to end in _L so we don't make that mistake again. BUG=chrome-os-partner:22827 BRANCH=pit TEST=unplug/replug AC adapter on pit; see debug output as follows: [batt] state charging -> idle0 Charger IRQ received. [batt] state idle0 -> charging Charger IRQ received. Change-Id: I1f5c9370d1118461dc033955ba77aab2cebb7ece Signed-off-by: Randall Spangler Reviewed-on: https://chromium-review.googlesource.com/170256 Reviewed-by: Jaehoon Kim Tested-by: Jaehoon Kim Reviewed-by: Doug Anderson --- board/daisy/board.c | 2 +- board/daisy/board.h | 2 +- board/kirby/board.h | 2 +- board/pit/board.c | 2 +- board/pit/board.h | 2 +- board/puppy/board.c | 2 +- board/puppy/board.h | 2 +- board/snow/board.c | 2 +- board/snow/board.h | 2 +- board/spring/board.c | 2 +- board/spring/board.h | 2 +- common/pmu_tps65090_charger.c | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/board/daisy/board.c b/board/daisy/board.c index c0651be2e5..b64214cb50 100644 --- a/board/daisy/board.c +++ b/board/daisy/board.c @@ -40,7 +40,7 @@ const struct gpio_info gpio_list[] = { {"KB_PWR_ON_L", GPIO_B, (1<<5), GPIO_INT_BOTH, gaia_power_event}, {"PP1800_LDO2", GPIO_A, (1<<1), GPIO_INT_BOTH, gaia_power_event}, {"XPSHOLD", GPIO_A, (1<<3), GPIO_INT_RISING, gaia_power_event}, - {"CHARGER_INT", GPIO_C, (1<<4), GPIO_INT_RISING, NULL}, + {"CHARGER_INT_L", GPIO_C, (1<<4), GPIO_INT_FALLING, NULL}, {"LID_OPEN", GPIO_C, (1<<13), GPIO_INT_BOTH, lid_interrupt}, {"SUSPEND_L", GPIO_A, (1<<7), GPIO_INT_BOTH, gaia_suspend_event}, {"KB_IN00", GPIO_C, (1<<8), GPIO_KB_INPUT, diff --git a/board/daisy/board.h b/board/daisy/board.h index 1522feb4e9..9643c82ab9 100644 --- a/board/daisy/board.h +++ b/board/daisy/board.h @@ -65,7 +65,7 @@ enum gpio_signal { GPIO_KB_PWR_ON_L = 0, /* Keyboard power button */ GPIO_PP1800_LDO2, /* LDO2 is ON (end of PMIC sequence) */ GPIO_SOC1V8_XPSHOLD, /* App Processor ON */ - GPIO_CHARGER_INT, + GPIO_CHARGER_INT_L, GPIO_LID_OPEN, /* LID switch detection */ GPIO_SUSPEND_L, /* AP suspend/resume state */ /* Keyboard inputs */ diff --git a/board/kirby/board.h b/board/kirby/board.h index ba0d6a41c8..f5645c577e 100644 --- a/board/kirby/board.h +++ b/board/kirby/board.h @@ -92,7 +92,7 @@ enum gpio_signal { /* Inputs with interrupt handlers are first for efficiency */ GPIO_KB_PWR_ON_L = 0, GPIO_SOC1V8_XPSHOLD, - GPIO_CHARGER_INT, + GPIO_CHARGER_INT_L, GPIO_USB_CHG_INT, GPIO_USBPD_INT_L, GPIO_LID_OPEN, diff --git a/board/pit/board.c b/board/pit/board.c index b0bcf35bd5..8586124bd9 100644 --- a/board/pit/board.c +++ b/board/pit/board.c @@ -31,7 +31,7 @@ const struct gpio_info gpio_list[] = { {"KB_PWR_ON_L", GPIO_B, (1<<5), GPIO_INT_BOTH, gaia_power_event}, {"PP1800_LDO2", GPIO_A, (1<<1), GPIO_INT_BOTH, gaia_power_event}, {"XPSHOLD", GPIO_A, (1<<3), GPIO_INT_RISING, gaia_power_event}, - {"CHARGER_INT", GPIO_C, (1<<6), GPIO_INT_RISING, pmu_irq_handler}, + {"CHARGER_INT_L", GPIO_C, (1<<6), GPIO_INT_FALLING, pmu_irq_handler}, {"LID_OPEN", GPIO_C, (1<<13), GPIO_INT_BOTH, lid_interrupt}, {"SUSPEND_L", GPIO_C, (1<<7), GPIO_INT_BOTH, gaia_suspend_event}, {"SPI1_NSS", GPIO_A, (1<<4), GPIO_INT_BOTH | GPIO_PULL_UP, diff --git a/board/pit/board.h b/board/pit/board.h index cea3e48749..05b6360281 100644 --- a/board/pit/board.h +++ b/board/pit/board.h @@ -75,7 +75,7 @@ enum gpio_signal { GPIO_KB_PWR_ON_L = 0, GPIO_PP1800_LDO2, GPIO_SOC1V8_XPSHOLD, - GPIO_CHARGER_INT, + GPIO_CHARGER_INT_L, GPIO_LID_OPEN, GPIO_SUSPEND_L, GPIO_SPI1_NSS, diff --git a/board/puppy/board.c b/board/puppy/board.c index 3570789c50..ba4184a898 100644 --- a/board/puppy/board.c +++ b/board/puppy/board.c @@ -29,7 +29,7 @@ const struct gpio_info gpio_list[] = { {"KB_PWR_ON_L", GPIO_B, (1<<5), GPIO_INT_BOTH, gaia_power_event}, {"PP1800_LDO2", GPIO_A, (1<<1), GPIO_INT_BOTH, gaia_power_event}, {"XPSHOLD", GPIO_A, (1<<3), GPIO_INT_BOTH, gaia_power_event}, - {"CHARGER_INT", GPIO_C, (1<<6), GPIO_INT_RISING, pmu_irq_handler}, + {"CHARGER_INT_L", GPIO_C, (1<<6), GPIO_INT_FALLING, pmu_irq_handler}, {"LID_OPEN", GPIO_C, (1<<13), GPIO_INT_BOTH, lid_interrupt}, {"SUSPEND_L", GPIO_C, (1<<7), GPIO_KB_INPUT, gaia_suspend_event}, {"SPI1_NSS", GPIO_A, (1<<4), GPIO_INT_BOTH | GPIO_PULL_UP, diff --git a/board/puppy/board.h b/board/puppy/board.h index abf18142e7..e4e4cb73e7 100644 --- a/board/puppy/board.h +++ b/board/puppy/board.h @@ -70,7 +70,7 @@ enum gpio_signal { GPIO_KB_PWR_ON_L = 0, GPIO_PP1800_LDO2, GPIO_SOC1V8_XPSHOLD, - GPIO_CHARGER_INT, + GPIO_CHARGER_INT_L, GPIO_LID_OPEN, GPIO_SUSPEND_L, GPIO_SPI1_NSS, diff --git a/board/snow/board.c b/board/snow/board.c index 8a4e89667e..2a0c3f0a83 100644 --- a/board/snow/board.c +++ b/board/snow/board.c @@ -37,7 +37,7 @@ const struct gpio_info gpio_list[] = { {"KB_PWR_ON_L", GPIO_B, (1<<5), GPIO_INT_BOTH, gaia_power_event}, {"PP1800_LDO2", GPIO_A, (1<<1), GPIO_INT_BOTH, gaia_power_event}, {"XPSHOLD", GPIO_A, (1<<3), GPIO_INT_BOTH, gaia_power_event}, - {"CHARGER_INT", GPIO_C, (1<<4), GPIO_INT_FALLING, pmu_irq_handler}, + {"CHARGER_INT_L", GPIO_C, (1<<4), GPIO_INT_FALLING, pmu_irq_handler}, {"LID_OPEN", GPIO_C, (1<<13), GPIO_INT_BOTH, lid_interrupt}, {"SUSPEND_L", GPIO_A, (1<<7), INT_BOTH_FLOATING, gaia_suspend_event}, {"WP_L", GPIO_B, (1<<4), GPIO_INPUT, NULL}, diff --git a/board/snow/board.h b/board/snow/board.h index 363a0490a6..016393e55b 100644 --- a/board/snow/board.h +++ b/board/snow/board.h @@ -71,7 +71,7 @@ enum gpio_signal { GPIO_KB_PWR_ON_L = 0, /* Keyboard power button */ GPIO_PP1800_LDO2, /* LDO2 is ON (end of PMIC sequence) */ GPIO_SOC1V8_XPSHOLD, /* App Processor ON */ - GPIO_CHARGER_INT, + GPIO_CHARGER_INT_L, GPIO_LID_OPEN, /* LID switch detection */ GPIO_SUSPEND_L, /* AP suspend/resume state */ GPIO_WP_L, /* Write protection pin (low active) */ diff --git a/board/spring/board.c b/board/spring/board.c index 31c5484b7e..ef927fc01b 100644 --- a/board/spring/board.c +++ b/board/spring/board.c @@ -38,7 +38,7 @@ const struct gpio_info gpio_list[] = { {"KB_PWR_ON_L", GPIO_B, (1<<5), GPIO_INT_BOTH, gaia_power_event}, {"PP1800_LDO2", GPIO_A, (1<<1), GPIO_INT_BOTH, gaia_power_event}, {"XPSHOLD", GPIO_A, (1<<3), GPIO_INT_BOTH, gaia_power_event}, - {"CHARGER_INT", GPIO_C, (1<<4), GPIO_INT_FALLING, pmu_irq_handler}, + {"CHARGER_INT_L", GPIO_C, (1<<4), GPIO_INT_FALLING, pmu_irq_handler}, {"LID_OPEN", GPIO_C, (1<<13), GPIO_INT_BOTH, lid_interrupt}, {"SUSPEND_L", GPIO_A, (1<<7), INT_BOTH_FLOATING, gaia_suspend_event}, {"WP_L", GPIO_A, (1<<13), GPIO_INPUT, NULL}, diff --git a/board/spring/board.h b/board/spring/board.h index bd62e4628e..242ba2b1b3 100644 --- a/board/spring/board.h +++ b/board/spring/board.h @@ -88,7 +88,7 @@ enum gpio_signal { GPIO_KB_PWR_ON_L = 0, /* Keyboard power button */ GPIO_PP1800_LDO2, /* LDO2 is ON (end of PMIC sequence) */ GPIO_SOC1V8_XPSHOLD, /* App Processor ON */ - GPIO_CHARGER_INT, + GPIO_CHARGER_INT_L, GPIO_LID_OPEN, /* LID switch detection */ GPIO_SUSPEND_L, /* AP suspend/resume state */ GPIO_WP_L, /* Write protection pin (low active) */ diff --git a/common/pmu_tps65090_charger.c b/common/pmu_tps65090_charger.c index 0e80809afe..bbcf0994b1 100644 --- a/common/pmu_tps65090_charger.c +++ b/common/pmu_tps65090_charger.c @@ -394,7 +394,7 @@ void charger_task(void) pmu_init(); /* Enable charger interrupt */ - gpio_enable_interrupt(GPIO_CHARGER_INT); + gpio_enable_interrupt(GPIO_CHARGER_INT_L); /* * EC STOP mode support -- cgit v1.2.1