From 5d687add8531e3849189959e68a812a14fa01c0c Mon Sep 17 00:00:00 2001 From: YH Huang Date: Thu, 14 Jul 2016 11:49:01 +0800 Subject: google/oak & elm: initialize touchscreen reset gpio In order to save power in S3, we remove reset gpio setting in kernel. We still need to initialize touchscreen ic. Do it by pulling low reset gpio for 500us and then pulling high in firmware. BRANCH=none BUG=chrome-os-partner:55170 TEST=build on elm. Change-Id: Idbe0175a1fc1fa0b05e81706194c79d52c6101f6 Signed-off-by: Martin Roth Original-Commit-Id: f40cc9a22c2551c2c9455cb8b60f36353602bca6 Original-Change-Id: If2ac815c4fd5c5ae15443348a49eb31449b724b1 Original-Signed-off-by: YH Huang Original-Reviewed-on: https://chromium-review.googlesource.com/360312 Original-Reviewed-by: Julius Werner Original-Reviewed-by: Yidi Lin Original-Reviewed-by: Johnny Chuang Reviewed-on: https://review.coreboot.org/15719 Reviewed-by: Furquan Shaikh Tested-by: build bot (Jenkins) --- src/mainboard/google/oak/mainboard.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/mainboard/google/oak') diff --git a/src/mainboard/google/oak/mainboard.c b/src/mainboard/google/oak/mainboard.c index a4d257088d..1bf8d49872 100644 --- a/src/mainboard/google/oak/mainboard.c +++ b/src/mainboard/google/oak/mainboard.c @@ -66,6 +66,16 @@ static void configure_ext_buck(void) } } +static void configure_touchscreen(void) +{ + /* Pull low reset gpio for 500us and then pull high */ + if (board_id() + CONFIG_BOARD_ID_ADJUSTMENT >= 7) { + gpio_output(PAD_PCM_SYNC, 0); + udelay(500); + gpio_output(PAD_PCM_SYNC, 1); + } +} + static void configure_audio(void) { mtcmos_audio_power_on(); @@ -252,6 +262,7 @@ static void mainboard_init(device_t dev) configure_usb(); configure_usb_hub(); configure_ext_buck(); + configure_touchscreen(); elog_init(); elog_add_watchdog_reset(); -- cgit v1.2.3