summaryrefslogtreecommitdiff
path: root/board/samus/panel.c
diff options
context:
space:
mode:
authorDuncan Laurie <dlaurie@chromium.org>2013-10-31 11:49:12 -0700
committerchrome-internal-fetch <chrome-internal-fetch@google.com>2013-11-01 16:16:42 +0000
commitfa13ac76b10847e133d654654f0a9418f87d11fb (patch)
tree24350ab2e8630f1c3742cb651381eddeb80482d0 /board/samus/panel.c
parent6aa0a79f283b03df20af11d3776a10da67b112d6 (diff)
downloadchrome-ec-fa13ac76b10847e133d654654f0a9418f87d11fb.tar.gz
samus: Changes for Proto1b
- disable PP1800_PGOOD internal pullup - add PP3300_DSW_EN control on PF6, turned on in S5 and off in G3 - change PCH_WAKE_L and PCH_PWRBTN_L to open drain signals - add PCH_BL_EN interrupt on PM3 for rising edge to put backlight controller into PWM mode, remove 1 second hook - add samus-specific extpower handler for AC_PRESENT to buffer the AC_PRESENT input to the new PCH_ACOK output on PM6. this is driven high in S5/S3/S0 when AC_PRESENT is high, otherwise driven low. BUG=chrome-os-partner:23752 BRANCH=samus TEST=emerge-samus chromeos-ec Change-Id: Ie8ab538610e41914212ee1f3a6287b63474fb85b Signed-off-by: Duncan Laurie <dlaurie@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/175281 Reviewed-by: Bill Richardson <wfrichar@chromium.org>
Diffstat (limited to 'board/samus/panel.c')
-rw-r--r--board/samus/panel.c25
1 files changed, 7 insertions, 18 deletions
diff --git a/board/samus/panel.c b/board/samus/panel.c
index 5704179d5d..9b62f0e2c9 100644
--- a/board/samus/panel.c
+++ b/board/samus/panel.c
@@ -61,26 +61,14 @@ DECLARE_HOST_COMMAND(EC_CMD_SWITCH_ENABLE_BKLIGHT,
switch_command_enable_backlight,
EC_VER_MASK(0));
-/**
- * Hook to turn backlight PWM mode on if it turns off.
- */
-static void backlight_pwm_mode_hook(void)
+void backlight_interrupt(enum gpio_signal signal)
{
- int reg;
-
- /* Only check if the system is powered. */
- if (!chipset_in_state(CHIPSET_STATE_ON))
- return;
-
- /* Read current command reg to see if it is on. */
- i2c_read8(I2C_PORT_BACKLIGHT, I2C_ADDR_BACKLIGHT,
- LP8555_REG_COMMAND, &reg);
-
- /* Turn it on if needed. */
- if (!(reg & LP8555_REG_COMMAND_ON))
- lp8555_enable_pwm_mode();
+ /*
+ * PCH indicates it is turning on backlight so we should
+ * attempt to put the backlight controller into PWM mode.
+ */
+ lp8555_enable_pwm_mode();
}
-DECLARE_HOOK(HOOK_SECOND, backlight_pwm_mode_hook, HOOK_PRIO_LAST);
/**
* Update backlight state.
@@ -100,6 +88,7 @@ DECLARE_HOOK(HOOK_LID_CHANGE, update_backlight, HOOK_PRIO_DEFAULT);
*/
static void backlight_init(void)
{
+ gpio_enable_interrupt(GPIO_PCH_BL_EN);
update_backlight();
}
DECLARE_HOOK(HOOK_INIT, backlight_init, HOOK_PRIO_DEFAULT);