diff options
| author | Veera Sundaram Sankaran <veeras@codeaurora.org> | 2016-02-10 10:10:14 -0800 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 21:20:26 -0700 |
| commit | e1b8e9d34e414d5b89f04ebcf0f8f4e21323e82b (patch) | |
| tree | 9621551c64d62771a65cbb3c36b8874d4e688bc6 /arch | |
| parent | f0a313b92541c0f72d061ab10856f95e123e8cb4 (diff) | |
ARM: dts: msm: add sharp dsc 4k cmd panel support for msm8996
Add sharp 4k dsc cmd mode panel configs and enable it for
msm8996 mtp, cdp and fluid. Add partial update for support
with roi alignment width as 1080 and y-slice as 8,
as per the spec. The panel is also capable of supporting
y-slices 8/16/24/32/48/3840, but width/x-slice cannot be
modified.
CRs-fixed: 974677
Change-Id: I6e7e96178db604f71a16f1f656e38d66d37eca66
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/arm/boot/dts/qcom/dsi-panel-sharp-dsc-4k-cmd.dtsi | 98 | ||||
| -rw-r--r-- | arch/arm/boot/dts/qcom/msm8996-cdp.dtsi | 10 | ||||
| -rw-r--r-- | arch/arm/boot/dts/qcom/msm8996-fluid.dtsi | 10 | ||||
| -rw-r--r-- | arch/arm/boot/dts/qcom/msm8996-mdss-panels.dtsi | 9 | ||||
| -rw-r--r-- | arch/arm/boot/dts/qcom/msm8996-mtp.dtsi | 10 |
5 files changed, 137 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/qcom/dsi-panel-sharp-dsc-4k-cmd.dtsi b/arch/arm/boot/dts/qcom/dsi-panel-sharp-dsc-4k-cmd.dtsi new file mode 100644 index 000000000000..51a225b82f47 --- /dev/null +++ b/arch/arm/boot/dts/qcom/dsi-panel-sharp-dsc-4k-cmd.dtsi @@ -0,0 +1,98 @@ +/* Copyright (c) 2016, The Linux Foundation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +&mdss_mdp { + dsi_sharp_4k_dsc_cmd: qcom,mdss_dsi_sharp_4k_dsc_cmd { + qcom,mdss-dsi-panel-name = "Sharp 4k cmd mode dsc dsi panel"; + qcom,mdss-dsi-panel-type = "dsi_cmd_mode"; + qcom,mdss-dsi-panel-framerate = <60>; + qcom,mdss-dsi-virtual-channel-id = <0>; + qcom,mdss-dsi-stream = <0>; + qcom,mdss-dsi-panel-width = <1080>; + qcom,mdss-dsi-panel-height = <3840>; + qcom,mdss-dsi-h-front-porch = <30>; + qcom,mdss-dsi-h-back-porch = <100>; + qcom,mdss-dsi-h-pulse-width = <4>; + qcom,mdss-dsi-h-sync-skew = <0>; + qcom,mdss-dsi-v-back-porch = <7>; + qcom,mdss-dsi-v-front-porch = <8>; + qcom,mdss-dsi-v-pulse-width = <1>; + qcom,mdss-dsi-bpp = <24>; + qcom,mdss-dsi-border-color = <0>; + qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; + qcom,mdss-dsi-off-command-state = "dsi_hs_mode"; + qcom,mdss-dsi-h-sync-pulse = <0>; + qcom,mdss-dsi-traffic-mode = "burst_mode"; + qcom,mdss-dsi-bllp-eof-power-mode; + qcom,mdss-dsi-bllp-power-mode; + qcom,mdss-dsi-lane-0-state; + qcom,mdss-dsi-lane-1-state; + qcom,mdss-dsi-lane-2-state; + qcom,mdss-dsi-lane-3-state; + qcom,mdss-dsi-panel-timings = [d9 6a 48 00 b0 b0 52 6c 57 03 04 + 00]; + qcom,mdss-dsi-t-clk-post = <0xc>; + qcom,mdss-dsi-t-clk-pre = <0x28>; + qcom,mdss-dsi-dma-trigger = "trigger_sw"; + qcom,mdss-dsi-mdp-trigger = "none"; + qcom,mdss-dsi-reset-sequence = <1 20>, <0 20>, <1 20>; + qcom,mdss-dsi-te-pin-select = <1>; + qcom,mdss-dsi-wr-mem-start = <0x2c>; + qcom,mdss-dsi-wr-mem-continue = <0x3c>; + qcom,mdss-dsi-te-dcs-command = <1>; + qcom,mdss-dsi-te-check-enable; + qcom,mdss-dsi-te-using-te-pin; + qcom,ulps-enabled; + qcom,dcs-cmd-by-left; + qcom,mdss-dsi-tx-eot-append; + + qcom,adjust-timer-wakeup-ms = <1>; + qcom,mdss-dsi-on-command = [ + 39 01 00 00 00 00 11 91 09 20 00 20 02 00 03 1c 04 21 00 + 0f 03 19 01 97 + 39 01 00 00 00 00 03 92 10 f0 + 15 01 00 00 00 00 02 90 03 + 15 01 00 00 00 00 02 03 01 + 39 01 00 00 00 00 06 f0 55 aa 52 08 04 + 15 01 00 00 00 00 02 c0 03 + 39 01 00 00 00 00 06 f0 55 aa 52 08 07 + 15 01 00 00 00 00 02 ef 01 + 39 01 00 00 00 00 06 f0 55 aa 52 08 00 + 15 01 00 00 00 00 02 b4 01 + 15 01 00 00 00 00 02 35 00 + 39 01 00 00 00 00 06 f0 55 aa 52 08 01 + 39 01 00 00 00 00 05 ff aa 55 a5 80 + 15 01 00 00 00 00 02 6f 01 + 15 01 00 00 00 00 02 f3 10 + 39 01 00 00 00 00 05 ff aa 55 a5 00 + 05 01 00 00 78 00 01 11 /* sleep out + delay 120ms */ + 05 01 00 00 78 00 01 29 /* display on + delay 120ms */ + ]; + + qcom,mdss-dsi-off-command = [05 01 00 00 78 00 02 28 00 + 05 01 00 00 78 00 02 10 00]; + + qcom,compression-mode = "dsc"; + qcom,config-select = <&dsi_sharp_dsc_cmd_config0>; + + dsi_sharp_dsc_cmd_config0: config0 { + qcom,mdss-dsc-encoders = <1>; + qcom,mdss-dsc-slice-height = <32>; + qcom,mdss-dsc-slice-width = <1080>; + qcom,mdss-dsc-slice-per-pkt = <1>; + + qcom,mdss-dsc-bit-per-component = <8>; + qcom,mdss-dsc-bit-per-pixel = <8>; + qcom,mdss-dsc-block-prediction-enable; + }; + }; +}; diff --git a/arch/arm/boot/dts/qcom/msm8996-cdp.dtsi b/arch/arm/boot/dts/qcom/msm8996-cdp.dtsi index 5b68028546bd..6f757ff32f97 100644 --- a/arch/arm/boot/dts/qcom/msm8996-cdp.dtsi +++ b/arch/arm/boot/dts/qcom/msm8996-cdp.dtsi @@ -426,6 +426,16 @@ qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; }; +&dsi_sharp_4k_dsc_cmd { + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled"; + qcom,mdss-dsi-bl-min-level = <1>; + qcom,mdss-dsi-bl-max-level = <4095>; + qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; + qcom,partial-update-enabled; + /* panel supports slice height of 8/16/32/48/3840 */ + qcom,panel-roi-alignment = <1080 8 1080 8 1080 8>; +}; + &dsi_nt35597_dsc_video { qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled"; qcom,mdss-dsi-bl-min-level = <1>; diff --git a/arch/arm/boot/dts/qcom/msm8996-fluid.dtsi b/arch/arm/boot/dts/qcom/msm8996-fluid.dtsi index 5ef66cbda1a2..824d31afb7d8 100644 --- a/arch/arm/boot/dts/qcom/msm8996-fluid.dtsi +++ b/arch/arm/boot/dts/qcom/msm8996-fluid.dtsi @@ -624,6 +624,16 @@ qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; }; +&dsi_sharp_4k_dsc_cmd { + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled"; + qcom,mdss-dsi-bl-min-level = <1>; + qcom,mdss-dsi-bl-max-level = <4095>; + qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; + qcom,partial-update-enabled; + /* panel supports slice height of 8/16/32/48/3840 */ + qcom,panel-roi-alignment = <1080 8 1080 8 1080 8>; +}; + &labibb { status = "ok"; qpnp,qpnp-labibb-mode = "lcd"; diff --git a/arch/arm/boot/dts/qcom/msm8996-mdss-panels.dtsi b/arch/arm/boot/dts/qcom/msm8996-mdss-panels.dtsi index ba6c6e3112d9..e62c7fbcc1af 100644 --- a/arch/arm/boot/dts/qcom/msm8996-mdss-panels.dtsi +++ b/arch/arm/boot/dts/qcom/msm8996-mdss-panels.dtsi @@ -30,6 +30,7 @@ #include "dsi-panel-sharp-dualmipi-1080p-120hz.dtsi" #include "dsi-panel-sharp-1080p-cmd.dtsi" #include "dsi-panel-sharp-dsc-4k-video.dtsi" +#include "dsi-panel-sharp-dsc-4k-cmd.dtsi" &soc { dsi_panel_pwr_supply: dsi_panel_pwr_supply { @@ -145,6 +146,14 @@ 21 15 06 07 04 03 04 a0]; }; +&dsi_sharp_4k_dsc_cmd { + qcom,mdss-dsi-panel-timings-8996 = [21 1e 06 08 04 03 04 a0 + 21 1e 06 08 04 03 04 a0 + 21 1e 06 08 04 03 04 a0 + 21 1e 06 08 04 03 04 a0 + 21 15 06 07 04 03 04 a0]; +}; + &dsi_dual_sharp_video { qcom,mdss-dsi-panel-timings-8996 = [23 20 06 09 05 03 04 a0 23 20 06 09 05 03 04 a0 diff --git a/arch/arm/boot/dts/qcom/msm8996-mtp.dtsi b/arch/arm/boot/dts/qcom/msm8996-mtp.dtsi index 1466b97bfd1d..40d373f5c5a4 100644 --- a/arch/arm/boot/dts/qcom/msm8996-mtp.dtsi +++ b/arch/arm/boot/dts/qcom/msm8996-mtp.dtsi @@ -415,6 +415,16 @@ qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; }; +&dsi_sharp_4k_dsc_cmd { + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled"; + qcom,mdss-dsi-bl-min-level = <1>; + qcom,mdss-dsi-bl-max-level = <4095>; + qcom,panel-supply-entries = <&dsi_panel_pwr_supply>; + qcom,partial-update-enabled; + /* panel supports slice height of 8/16/32/48/3840 */ + qcom,panel-roi-alignment = <1080 8 1080 8 1080 8>; +}; + &dsi_nt35597_dsc_video { qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled"; qcom,mdss-dsi-bl-min-level = <1>; |
