From f40cc9a22c2551c2c9455cb8b60f36353602bca6 Mon Sep 17 00:00:00 2001 From: YH Huang Date: Thu, 14 Jul 2016 11:49:01 +0800 Subject: [PATCH] mt8173: 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: If2ac815c4fd5c5ae15443348a49eb31449b724b1 Signed-off-by: YH Huang Reviewed-on: https://chromium-review.googlesource.com/360312 Reviewed-by: Julius Werner Reviewed-by: Yidi Lin Reviewed-by: Johnny Chuang --- src/mainboard/google/oak/mainboard.c | 11 +++++++++++ 1 file changed, 11 insertions(+) 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();