diff options
author | Duncan Laurie <dlaurie@chromium.org> | 2013-10-31 11:49:12 -0700 |
---|---|---|
committer | chrome-internal-fetch <chrome-internal-fetch@google.com> | 2013-11-01 16:16:42 +0000 |
commit | fa13ac76b10847e133d654654f0a9418f87d11fb (patch) | |
tree | 24350ab2e8630f1c3742cb651381eddeb80482d0 /board/samus/panel.c | |
parent | 6aa0a79f283b03df20af11d3776a10da67b112d6 (diff) | |
download | chrome-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.c | 25 |
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, ®); - - /* 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); |