From 5c1251ad2b482a6cda559646e1642da6b3392f49 Mon Sep 17 00:00:00 2001 From: Devin Kim <dojip.kim@lge.com> Date: Mon, 21 Jul 2014 14:14:31 -0700 Subject: [PATCH] ARM: lenok: Support for display idle mode Lenok OLED supports for display idle mode to save the power. It's called PSM (Power Save Mode). In always on display, display will be in that state. Change-Id: Ieaf5dd681e4934102957ee9ab6fc89bf0417650a Signed-off-by: Devin Kim <dojip.kim@lge.com> --- .../apq8026-lenok/apq8026-lenok-panel.dtsi | 15 ++++++++++++++ .../mach-msm/lge/board-8026-lenok-gpiomux.c | 20 +++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/arch/arm/boot/dts/apq8026-lenok/apq8026-lenok-panel.dtsi b/arch/arm/boot/dts/apq8026-lenok/apq8026-lenok-panel.dtsi index fc8b1e876502..2c01216bea30 100644 --- a/arch/arm/boot/dts/apq8026-lenok/apq8026-lenok-panel.dtsi +++ b/arch/arm/boot/dts/apq8026-lenok/apq8026-lenok-panel.dtsi @@ -74,6 +74,21 @@ 05 01 00 00 70 00 01 10]; qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; qcom,mdss-dsi-off-command-state = "dsi_hs_mode"; + qcom,mdss-dsi-idle-on-command = [ + 05 01 00 00 00 00 01 39 + 39 01 00 00 00 00 03 51 00 00 + 15 01 00 00 10 00 02 B0 AC + 39 01 00 00 00 00 18 DB + 01 29 F0 93 E7 72 + 1C 34 43 2F 84 85 + 40 65 27 28 12 12 + 12 5A 00 29 10 /*40nit*/ + ]; + qcom,mdss-dsi-idle-on-command-state = "dsi_hs_mode"; + qcom,mdss-dsi-idle-off-command = [ + 05 01 00 00 00 00 01 38 + ]; + qcom,mdss-dsi-idle-off-command-state = "dsi_hs_mode"; qcom,mdss-dsi-h-sync-pulse = <1>; qcom,mdss-dsi-traffic-mode = "burst_mode"; qcom,mdss-dsi-lane-map = "lane_map_0123"; diff --git a/arch/arm/mach-msm/lge/board-8026-lenok-gpiomux.c b/arch/arm/mach-msm/lge/board-8026-lenok-gpiomux.c index 81406fea1596..dbcb5b24e6c6 100644 --- a/arch/arm/mach-msm/lge/board-8026-lenok-gpiomux.c +++ b/arch/arm/mach-msm/lge/board-8026-lenok-gpiomux.c @@ -121,6 +121,19 @@ static struct gpiomux_setting lcd_rst_sus_cfg = { .pull = GPIOMUX_PULL_DOWN, }; +static struct gpiomux_setting lcd_en_act_cfg = { + .func = GPIOMUX_FUNC_GPIO, + .drv = GPIOMUX_DRV_8MA, + .pull = GPIOMUX_PULL_NONE, + .dir = GPIOMUX_OUT_HIGH, +}; + +static struct gpiomux_setting lcd_en_sus_cfg = { + .func = GPIOMUX_FUNC_GPIO, + .drv = GPIOMUX_DRV_2MA, + .pull = GPIOMUX_PULL_DOWN, +}; + static struct msm_gpiomux_config msm_lcd_configs[] __initdata = { { .gpio = 25, @@ -129,6 +142,13 @@ static struct msm_gpiomux_config msm_lcd_configs[] __initdata = { [GPIOMUX_SUSPENDED] = &lcd_rst_sus_cfg, }, }, + { + .gpio = 108, + .settings = { + [GPIOMUX_ACTIVE] = &lcd_en_act_cfg, + [GPIOMUX_SUSPENDED] = &lcd_en_sus_cfg, + }, + }, }; static struct msm_gpiomux_config msm_blsp_configs[] __initdata = { -- GitLab