Loading arch/arm64/boot/dts/qcom/dsi-panel-sw43404-amoled-dsc-fhd-plus-cmd.dtsi 0 → 100644 +106 −0 Original line number Diff line number Diff line /* Copyright (c) 2018, 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_sw43404_amoled_fhd_plus_cmd: qcom,mdss_dsi_sw43404_fhd_plus_cmd { qcom,mdss-dsi-panel-name = "sw43404 amoled boe fhd+ panel with DSC"; qcom,mdss-dsi-panel-type = "dsi_cmd_mode"; qcom,mdss-dsi-virtual-channel-id = <0>; qcom,mdss-dsi-stream = <0>; qcom,mdss-dsi-bpp = <24>; qcom,mdss-dsi-color-order = "rgb_swap_rgb"; qcom,mdss-dsi-underflow-color = <0xff>; qcom,mdss-dsi-border-color = <0>; qcom,mdss-dsi-traffic-mode = "non_burst_sync_event"; qcom,mdss-dsi-lane-map = "lane_map_0123"; 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-dma-trigger = "trigger_sw"; qcom,mdss-dsi-mdp-trigger = "none"; qcom,mdss-dsi-reset-sequence = <1 10>, <0 10>, <1 10>; qcom,mdss-dsi-bl-max-level = <1023>; 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,mdss-pan-physical-width-dimension = <68>; qcom,mdss-pan-physical-height-dimension = <138>; qcom,mdss-dsi-display-timings { timing@0{ qcom,mdss-dsi-panel-framerate = <60>; qcom,mdss-dsi-panel-width = <1080>; qcom,mdss-dsi-panel-height = <2160>; qcom,mdss-dsi-h-front-porch = <160>; qcom,mdss-dsi-h-back-porch = <72>; qcom,mdss-dsi-h-pulse-width = <16>; qcom,mdss-dsi-h-sync-skew = <0>; qcom,mdss-dsi-h-sync-pulse = <0>; qcom,mdss-dsi-v-back-porch = <8>; qcom,mdss-dsi-v-front-porch = <8>; qcom,mdss-dsi-v-pulse-width = <1>; qcom,mdss-dsi-h-left-border = <0>; qcom,mdss-dsi-h-right-border = <0>; qcom,mdss-dsi-v-top-border = <0>; qcom,mdss-dsi-v-bottom-border = <0>; qcom,mdss-dsi-panel-jitter = <0x1 0x1>; qcom,mdss-dsi-on-command = [ 39 01 00 00 00 00 03 b0 a5 00 07 01 00 00 00 00 02 01 00 0a 01 00 00 00 00 80 11 00 00 89 30 80 08 70 04 38 02 1c 02 1c 02 1c 02 00 02 0e 00 20 34 29 00 07 00 0C 00 2e 00 31 18 00 10 F0 03 0C 20 00 06 0B 0B 33 0E 1C 2A 38 46 54 62 69 70 77 79 7B 7D 7E 01 02 01 00 09 40 09 BE 19 FC 19 FA 19 F8 1A 38 1A 78 1A B6 2A F6 2B 34 2B 74 3B 74 6B F4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 39 01 00 00 00 00 03 b0 a5 00 15 01 00 00 00 00 02 5e 10 39 01 00 00 00 00 06 b9 bf 11 40 00 30 39 01 00 00 00 00 09 F8 00 08 10 08 2D 00 00 2D 15 01 00 00 00 00 02 55 0c 05 01 00 00 1e 00 02 11 00 15 01 00 00 78 00 02 3d 01 39 01 00 00 00 00 03 b0 a5 00 05 01 00 00 78 00 02 35 00 05 01 00 00 3c 00 02 29 00 ]; qcom,mdss-dsi-off-command = [ 05 01 00 00 14 00 02 28 00 05 01 00 00 78 00 02 10 00]; qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; qcom,mdss-dsi-off-command-state = "dsi_hs_mode"; qcom,compression-mode = "dsc"; qcom,mdss-dsc-slice-height = <540>; qcom,mdss-dsc-slice-width = <540>; 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; }; }; }; }; arch/arm64/boot/dts/qcom/dsi-panel-sw43404-amoled-dsc-wqhd-video.dtsi 0 → 100644 +87 −0 Original line number Diff line number Diff line /* Copyright (c) 2018, 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_sw43404_amoled_video: qcom,mdss_dsi_sw43404_amoled_wqhd_video { qcom,mdss-dsi-panel-name = "sw43404 amoled video mode dsi boe panel with DSC"; qcom,mdss-dsi-panel-type = "dsi_video_mode"; qcom,mdss-dsi-virtual-channel-id = <0>; qcom,mdss-dsi-stream = <0>; qcom,mdss-dsi-bpp = <24>; qcom,mdss-dsi-border-color = <0>; qcom,mdss-dsi-traffic-mode = "non_burst_sync_event"; 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-dma-trigger = "trigger_sw"; qcom,mdss-dsi-mdp-trigger = "none"; qcom,mdss-dsi-reset-sequence = <1 10>, <0 10>, <1 10>; qcom,adjust-timer-wakeup-ms = <1>; qcom,mdss-dsi-display-timings { timing@0{ qcom,mdss-dsi-panel-width = <1440>; qcom,mdss-dsi-panel-height = <2880>; qcom,mdss-dsi-h-front-porch = <10>; qcom,mdss-dsi-h-back-porch = <10>; qcom,mdss-dsi-h-pulse-width = <12>; qcom,mdss-dsi-h-sync-skew = <0>; qcom,mdss-dsi-v-back-porch = <10>; qcom,mdss-dsi-v-front-porch = <10>; qcom,mdss-dsi-v-pulse-width = <1>; qcom,mdss-dsi-h-left-border = <0>; qcom,mdss-dsi-panel-framerate = <60>; qcom,mdss-dsi-on-command = [ 07 01 00 00 00 00 02 01 00 39 01 00 00 00 00 03 b0 a5 00 39 01 00 00 00 00 06 b2 00 5d 04 80 49 15 01 00 00 00 00 02 3d 10 15 01 00 00 00 00 02 36 00 15 01 00 00 00 00 02 55 0c 39 01 00 00 00 00 09 f8 00 08 10 08 2d 00 00 2d 39 01 00 00 3c 00 03 51 00 00 05 01 00 00 50 00 02 11 00 39 01 00 00 00 00 03 b0 34 04 39 01 00 00 00 00 05 c1 00 00 00 46 0a 01 00 00 00 00 80 11 00 00 89 30 80 0B 40 05 A0 02 d0 02 D0 02 D0 02 00 02 68 00 20 4e a8 00 0A 00 0C 00 23 00 1c 18 00 10 F0 03 0C 20 00 06 0B 0B 33 0E 1C 2A 38 46 54 62 69 70 77 79 7B 7D 7E 01 02 01 00 09 40 09 BE 19 FC 19 FA 19 F8 1A 38 1A 78 1A B6 2A F6 2B 34 2B 74 3B 74 6B F4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 01 00 00 78 00 02 29 00 ]; qcom,mdss-dsi-off-command = [05 01 00 00 78 00 02 28 00 05 01 00 00 78 00 02 10 00]; qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; qcom,mdss-dsi-off-command-state = "dsi_hs_mode"; qcom,compression-mode = "dsc"; qcom,mdss-dsc-slice-height = <720>; qcom,mdss-dsc-slice-width = <720>; qcom,mdss-dsc-slice-per-pkt = <2>; qcom,mdss-dsc-bit-per-component = <8>; qcom,mdss-dsc-bit-per-pixel = <8>; qcom,mdss-dsc-block-prediction-enable; }; }; }; }; arch/arm64/boot/dts/qcom/sm8150-qrd.dtsi +26 −1 Original line number Diff line number Diff line Loading @@ -171,7 +171,32 @@ qcom,panel-supply-entries = <&dsi_panel_pwr_supply_vdd_no_labibb>; qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; qcom,mdss-dsi-bl-min-level = <1>; qcom,mdss-dsi-bl-max-level = <1023>; qcom,mdss-dsi-bl-max-level = <4095>; qcom,mdss-brightness-max-level = <1023>; qcom,mdss-dsi-mode-sel-gpio-state = "single_port"; qcom,panel-mode-gpio = <&tlmm 7 0>; qcom,platform-te-gpio = <&tlmm 8 0>; qcom,platform-reset-gpio = <&tlmm 6 0>; }; &dsi_sw43404_amoled_video { qcom,panel-supply-entries = <&dsi_panel_pwr_supply_vdd_no_labibb>; qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; qcom,mdss-dsi-bl-min-level = <1>; qcom,mdss-dsi-bl-max-level = <4095>; qcom,mdss-brightness-max-level = <1023>; qcom,mdss-dsi-mode-sel-gpio-state = "single_port"; qcom,panel-mode-gpio = <&tlmm 7 0>; qcom,platform-te-gpio = <&tlmm 8 0>; qcom,platform-reset-gpio = <&tlmm 6 0>; }; &dsi_sw43404_amoled_fhd_plus_cmd { qcom,panel-supply-entries = <&dsi_panel_pwr_supply_vdd_no_labibb>; qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; qcom,mdss-dsi-bl-min-level = <1>; qcom,mdss-dsi-bl-max-level = <4095>; qcom,mdss-brightness-max-level = <1023>; qcom,mdss-dsi-mode-sel-gpio-state = "single_port"; qcom,panel-mode-gpio = <&tlmm 7 0>; qcom,platform-te-gpio = <&tlmm 8 0>; Loading arch/arm64/boot/dts/qcom/sm8150-sde-display.dtsi +54 −1 Original line number Diff line number Diff line Loading @@ -28,6 +28,8 @@ #include "dsi-panel-sharp-dualmipi-1080p-120hz.dtsi" #include "dsi-panel-s6e3ha3-amoled-dualmipi-wqhd-cmd.dtsi" #include "dsi-panel-sw43404-amoled-dsc-wqhd-cmd.dtsi" #include "dsi-panel-sw43404-amoled-dsc-wqhd-video.dtsi" #include "dsi-panel-sw43404-amoled-dsc-fhd-plus-cmd.dtsi" #include <dt-bindings/clock/mdss-10nm-pll-clk.h> &tlmm { Loading Loading @@ -321,6 +323,28 @@ qcom,dsi-panel = <&dsi_nt35695b_truly_fhd_video>; }; dsi_sw43404_amoled_video_display: qcom,dsi-display@17 { label = "dsi_sw43404_amoled_video_display"; qcom,display-type = "primary"; qcom,dsi-ctrl-num = <0>; qcom,dsi-phy-num = <0>; qcom,dsi-select-clocks = "src_byte_clk0", "src_pixel_clk0"; qcom,dsi-panel = <&dsi_sw43404_amoled_video>; }; dsi_sw43404_amoled_fhd_plus_cmd_display: qcom,dsi-display@18 { label = "dsi_sw43404_amoled_fhd_plus_cmd_display"; qcom,display-type = "primary"; qcom,dsi-ctrl-num = <0>; qcom,dsi-phy-num = <0>; qcom,dsi-select-clocks = "src_byte_clk0", "src_pixel_clk0"; qcom,dsi-panel = <&dsi_sw43404_amoled_fhd_plus_cmd>; }; sde_dsi: qcom,dsi-display { compatible = "qcom,dsi-display"; Loading Loading @@ -362,7 +386,9 @@ &dsi_dual_sim_dsc_375_cmd_display &dsi_sw43404_amoled_cmd_display &dsi_nt35695b_truly_fhd_cmd_display &dsi_nt35695b_truly_fhd_video_display>; &dsi_nt35695b_truly_fhd_video_display &dsi_sw43404_amoled_video_display &dsi_sw43404_amoled_fhd_plus_cmd_display>; }; sde_wb: qcom,wb-display@0 { Loading Loading @@ -400,6 +426,10 @@ /* PHY TIMINGS REVISION P */ &dsi_dual_nt35597_truly_video { qcom,mdss-dsi-min-refresh-rate = <53>; qcom,mdss-dsi-max-refresh-rate = <60>; qcom,mdss-dsi-pan-enable-dynamic-fps; qcom,mdss-dsi-pan-fps-update = "dfps_immediate_porch_mode_vfp"; qcom,mdss-dsi-display-timings { timing@0{ qcom,mdss-dsi-panel-phy-timings = [00 1c 08 07 23 22 07 Loading Loading @@ -658,3 +688,26 @@ }; }; }; &dsi_sw43404_amoled_fhd_plus_cmd { qcom,mdss-dsi-display-timings { timing@0 { qcom,mdss-dsi-panel-phy-timings = [00 12 04 04 1e 1e 04 05 02 03 04 00 11 14]; qcom,display-topology = <2 2 1>; qcom,default-topology-index = <0>; }; }; }; &dsi_sw43404_amoled_video { qcom,mdss-dsi-display-timings { timing@0 { qcom,mdss-dsi-panel-phy-timings = [00 1a 07 06 22 21 07 07 04 03 04 00 16 16]; /*qcom,mdss-dsi-panel-clockrate = <700000000>;*/ qcom,display-topology = <2 2 1>; qcom,default-topology-index = <0>; }; }; }; drivers/gpu/drm/msm/dp/dp_audio.c +18 −11 Original line number Diff line number Diff line Loading @@ -669,6 +669,9 @@ static int dp_audio_notify(struct dp_audio_private *audio, u32 state) int rc = 0; struct msm_ext_disp_init_data *ext = &audio->ext_audio_data; if (!ext->intf_ops.audio_notify) goto end; rc = ext->intf_ops.audio_notify(audio->ext_pdev, &ext->codec, state); if (rc) { Loading Loading @@ -710,6 +713,7 @@ static int dp_audio_on(struct dp_audio *dp_audio) audio->session_on = true; if (ext->intf_ops.audio_config) { rc = ext->intf_ops.audio_config(audio->ext_pdev, &ext->codec, EXT_DISPLAY_CABLE_CONNECT); Loading @@ -717,6 +721,7 @@ static int dp_audio_on(struct dp_audio *dp_audio) pr_err("failed to config audio, err=%d\n", rc); goto end; } } rc = dp_audio_notify(audio, EXT_DISPLAY_CABLE_CONNECT); if (rc) Loading Loading @@ -752,11 +757,13 @@ static int dp_audio_off(struct dp_audio *dp_audio) pr_debug("success\n"); end: if (ext->intf_ops.audio_config) { rc = ext->intf_ops.audio_config(audio->ext_pdev, &ext->codec, EXT_DISPLAY_CABLE_DISCONNECT); if (rc) pr_err("failed to config audio, err=%d\n", rc); } audio->session_on = false; audio->engine_on = false; Loading Loading
arch/arm64/boot/dts/qcom/dsi-panel-sw43404-amoled-dsc-fhd-plus-cmd.dtsi 0 → 100644 +106 −0 Original line number Diff line number Diff line /* Copyright (c) 2018, 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_sw43404_amoled_fhd_plus_cmd: qcom,mdss_dsi_sw43404_fhd_plus_cmd { qcom,mdss-dsi-panel-name = "sw43404 amoled boe fhd+ panel with DSC"; qcom,mdss-dsi-panel-type = "dsi_cmd_mode"; qcom,mdss-dsi-virtual-channel-id = <0>; qcom,mdss-dsi-stream = <0>; qcom,mdss-dsi-bpp = <24>; qcom,mdss-dsi-color-order = "rgb_swap_rgb"; qcom,mdss-dsi-underflow-color = <0xff>; qcom,mdss-dsi-border-color = <0>; qcom,mdss-dsi-traffic-mode = "non_burst_sync_event"; qcom,mdss-dsi-lane-map = "lane_map_0123"; 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-dma-trigger = "trigger_sw"; qcom,mdss-dsi-mdp-trigger = "none"; qcom,mdss-dsi-reset-sequence = <1 10>, <0 10>, <1 10>; qcom,mdss-dsi-bl-max-level = <1023>; 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,mdss-pan-physical-width-dimension = <68>; qcom,mdss-pan-physical-height-dimension = <138>; qcom,mdss-dsi-display-timings { timing@0{ qcom,mdss-dsi-panel-framerate = <60>; qcom,mdss-dsi-panel-width = <1080>; qcom,mdss-dsi-panel-height = <2160>; qcom,mdss-dsi-h-front-porch = <160>; qcom,mdss-dsi-h-back-porch = <72>; qcom,mdss-dsi-h-pulse-width = <16>; qcom,mdss-dsi-h-sync-skew = <0>; qcom,mdss-dsi-h-sync-pulse = <0>; qcom,mdss-dsi-v-back-porch = <8>; qcom,mdss-dsi-v-front-porch = <8>; qcom,mdss-dsi-v-pulse-width = <1>; qcom,mdss-dsi-h-left-border = <0>; qcom,mdss-dsi-h-right-border = <0>; qcom,mdss-dsi-v-top-border = <0>; qcom,mdss-dsi-v-bottom-border = <0>; qcom,mdss-dsi-panel-jitter = <0x1 0x1>; qcom,mdss-dsi-on-command = [ 39 01 00 00 00 00 03 b0 a5 00 07 01 00 00 00 00 02 01 00 0a 01 00 00 00 00 80 11 00 00 89 30 80 08 70 04 38 02 1c 02 1c 02 1c 02 00 02 0e 00 20 34 29 00 07 00 0C 00 2e 00 31 18 00 10 F0 03 0C 20 00 06 0B 0B 33 0E 1C 2A 38 46 54 62 69 70 77 79 7B 7D 7E 01 02 01 00 09 40 09 BE 19 FC 19 FA 19 F8 1A 38 1A 78 1A B6 2A F6 2B 34 2B 74 3B 74 6B F4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 39 01 00 00 00 00 03 b0 a5 00 15 01 00 00 00 00 02 5e 10 39 01 00 00 00 00 06 b9 bf 11 40 00 30 39 01 00 00 00 00 09 F8 00 08 10 08 2D 00 00 2D 15 01 00 00 00 00 02 55 0c 05 01 00 00 1e 00 02 11 00 15 01 00 00 78 00 02 3d 01 39 01 00 00 00 00 03 b0 a5 00 05 01 00 00 78 00 02 35 00 05 01 00 00 3c 00 02 29 00 ]; qcom,mdss-dsi-off-command = [ 05 01 00 00 14 00 02 28 00 05 01 00 00 78 00 02 10 00]; qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; qcom,mdss-dsi-off-command-state = "dsi_hs_mode"; qcom,compression-mode = "dsc"; qcom,mdss-dsc-slice-height = <540>; qcom,mdss-dsc-slice-width = <540>; 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; }; }; }; };
arch/arm64/boot/dts/qcom/dsi-panel-sw43404-amoled-dsc-wqhd-video.dtsi 0 → 100644 +87 −0 Original line number Diff line number Diff line /* Copyright (c) 2018, 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_sw43404_amoled_video: qcom,mdss_dsi_sw43404_amoled_wqhd_video { qcom,mdss-dsi-panel-name = "sw43404 amoled video mode dsi boe panel with DSC"; qcom,mdss-dsi-panel-type = "dsi_video_mode"; qcom,mdss-dsi-virtual-channel-id = <0>; qcom,mdss-dsi-stream = <0>; qcom,mdss-dsi-bpp = <24>; qcom,mdss-dsi-border-color = <0>; qcom,mdss-dsi-traffic-mode = "non_burst_sync_event"; 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-dma-trigger = "trigger_sw"; qcom,mdss-dsi-mdp-trigger = "none"; qcom,mdss-dsi-reset-sequence = <1 10>, <0 10>, <1 10>; qcom,adjust-timer-wakeup-ms = <1>; qcom,mdss-dsi-display-timings { timing@0{ qcom,mdss-dsi-panel-width = <1440>; qcom,mdss-dsi-panel-height = <2880>; qcom,mdss-dsi-h-front-porch = <10>; qcom,mdss-dsi-h-back-porch = <10>; qcom,mdss-dsi-h-pulse-width = <12>; qcom,mdss-dsi-h-sync-skew = <0>; qcom,mdss-dsi-v-back-porch = <10>; qcom,mdss-dsi-v-front-porch = <10>; qcom,mdss-dsi-v-pulse-width = <1>; qcom,mdss-dsi-h-left-border = <0>; qcom,mdss-dsi-panel-framerate = <60>; qcom,mdss-dsi-on-command = [ 07 01 00 00 00 00 02 01 00 39 01 00 00 00 00 03 b0 a5 00 39 01 00 00 00 00 06 b2 00 5d 04 80 49 15 01 00 00 00 00 02 3d 10 15 01 00 00 00 00 02 36 00 15 01 00 00 00 00 02 55 0c 39 01 00 00 00 00 09 f8 00 08 10 08 2d 00 00 2d 39 01 00 00 3c 00 03 51 00 00 05 01 00 00 50 00 02 11 00 39 01 00 00 00 00 03 b0 34 04 39 01 00 00 00 00 05 c1 00 00 00 46 0a 01 00 00 00 00 80 11 00 00 89 30 80 0B 40 05 A0 02 d0 02 D0 02 D0 02 00 02 68 00 20 4e a8 00 0A 00 0C 00 23 00 1c 18 00 10 F0 03 0C 20 00 06 0B 0B 33 0E 1C 2A 38 46 54 62 69 70 77 79 7B 7D 7E 01 02 01 00 09 40 09 BE 19 FC 19 FA 19 F8 1A 38 1A 78 1A B6 2A F6 2B 34 2B 74 3B 74 6B F4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 01 00 00 78 00 02 29 00 ]; qcom,mdss-dsi-off-command = [05 01 00 00 78 00 02 28 00 05 01 00 00 78 00 02 10 00]; qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; qcom,mdss-dsi-off-command-state = "dsi_hs_mode"; qcom,compression-mode = "dsc"; qcom,mdss-dsc-slice-height = <720>; qcom,mdss-dsc-slice-width = <720>; qcom,mdss-dsc-slice-per-pkt = <2>; qcom,mdss-dsc-bit-per-component = <8>; qcom,mdss-dsc-bit-per-pixel = <8>; qcom,mdss-dsc-block-prediction-enable; }; }; }; };
arch/arm64/boot/dts/qcom/sm8150-qrd.dtsi +26 −1 Original line number Diff line number Diff line Loading @@ -171,7 +171,32 @@ qcom,panel-supply-entries = <&dsi_panel_pwr_supply_vdd_no_labibb>; qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; qcom,mdss-dsi-bl-min-level = <1>; qcom,mdss-dsi-bl-max-level = <1023>; qcom,mdss-dsi-bl-max-level = <4095>; qcom,mdss-brightness-max-level = <1023>; qcom,mdss-dsi-mode-sel-gpio-state = "single_port"; qcom,panel-mode-gpio = <&tlmm 7 0>; qcom,platform-te-gpio = <&tlmm 8 0>; qcom,platform-reset-gpio = <&tlmm 6 0>; }; &dsi_sw43404_amoled_video { qcom,panel-supply-entries = <&dsi_panel_pwr_supply_vdd_no_labibb>; qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; qcom,mdss-dsi-bl-min-level = <1>; qcom,mdss-dsi-bl-max-level = <4095>; qcom,mdss-brightness-max-level = <1023>; qcom,mdss-dsi-mode-sel-gpio-state = "single_port"; qcom,panel-mode-gpio = <&tlmm 7 0>; qcom,platform-te-gpio = <&tlmm 8 0>; qcom,platform-reset-gpio = <&tlmm 6 0>; }; &dsi_sw43404_amoled_fhd_plus_cmd { qcom,panel-supply-entries = <&dsi_panel_pwr_supply_vdd_no_labibb>; qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; qcom,mdss-dsi-bl-min-level = <1>; qcom,mdss-dsi-bl-max-level = <4095>; qcom,mdss-brightness-max-level = <1023>; qcom,mdss-dsi-mode-sel-gpio-state = "single_port"; qcom,panel-mode-gpio = <&tlmm 7 0>; qcom,platform-te-gpio = <&tlmm 8 0>; Loading
arch/arm64/boot/dts/qcom/sm8150-sde-display.dtsi +54 −1 Original line number Diff line number Diff line Loading @@ -28,6 +28,8 @@ #include "dsi-panel-sharp-dualmipi-1080p-120hz.dtsi" #include "dsi-panel-s6e3ha3-amoled-dualmipi-wqhd-cmd.dtsi" #include "dsi-panel-sw43404-amoled-dsc-wqhd-cmd.dtsi" #include "dsi-panel-sw43404-amoled-dsc-wqhd-video.dtsi" #include "dsi-panel-sw43404-amoled-dsc-fhd-plus-cmd.dtsi" #include <dt-bindings/clock/mdss-10nm-pll-clk.h> &tlmm { Loading Loading @@ -321,6 +323,28 @@ qcom,dsi-panel = <&dsi_nt35695b_truly_fhd_video>; }; dsi_sw43404_amoled_video_display: qcom,dsi-display@17 { label = "dsi_sw43404_amoled_video_display"; qcom,display-type = "primary"; qcom,dsi-ctrl-num = <0>; qcom,dsi-phy-num = <0>; qcom,dsi-select-clocks = "src_byte_clk0", "src_pixel_clk0"; qcom,dsi-panel = <&dsi_sw43404_amoled_video>; }; dsi_sw43404_amoled_fhd_plus_cmd_display: qcom,dsi-display@18 { label = "dsi_sw43404_amoled_fhd_plus_cmd_display"; qcom,display-type = "primary"; qcom,dsi-ctrl-num = <0>; qcom,dsi-phy-num = <0>; qcom,dsi-select-clocks = "src_byte_clk0", "src_pixel_clk0"; qcom,dsi-panel = <&dsi_sw43404_amoled_fhd_plus_cmd>; }; sde_dsi: qcom,dsi-display { compatible = "qcom,dsi-display"; Loading Loading @@ -362,7 +386,9 @@ &dsi_dual_sim_dsc_375_cmd_display &dsi_sw43404_amoled_cmd_display &dsi_nt35695b_truly_fhd_cmd_display &dsi_nt35695b_truly_fhd_video_display>; &dsi_nt35695b_truly_fhd_video_display &dsi_sw43404_amoled_video_display &dsi_sw43404_amoled_fhd_plus_cmd_display>; }; sde_wb: qcom,wb-display@0 { Loading Loading @@ -400,6 +426,10 @@ /* PHY TIMINGS REVISION P */ &dsi_dual_nt35597_truly_video { qcom,mdss-dsi-min-refresh-rate = <53>; qcom,mdss-dsi-max-refresh-rate = <60>; qcom,mdss-dsi-pan-enable-dynamic-fps; qcom,mdss-dsi-pan-fps-update = "dfps_immediate_porch_mode_vfp"; qcom,mdss-dsi-display-timings { timing@0{ qcom,mdss-dsi-panel-phy-timings = [00 1c 08 07 23 22 07 Loading Loading @@ -658,3 +688,26 @@ }; }; }; &dsi_sw43404_amoled_fhd_plus_cmd { qcom,mdss-dsi-display-timings { timing@0 { qcom,mdss-dsi-panel-phy-timings = [00 12 04 04 1e 1e 04 05 02 03 04 00 11 14]; qcom,display-topology = <2 2 1>; qcom,default-topology-index = <0>; }; }; }; &dsi_sw43404_amoled_video { qcom,mdss-dsi-display-timings { timing@0 { qcom,mdss-dsi-panel-phy-timings = [00 1a 07 06 22 21 07 07 04 03 04 00 16 16]; /*qcom,mdss-dsi-panel-clockrate = <700000000>;*/ qcom,display-topology = <2 2 1>; qcom,default-topology-index = <0>; }; }; };
drivers/gpu/drm/msm/dp/dp_audio.c +18 −11 Original line number Diff line number Diff line Loading @@ -669,6 +669,9 @@ static int dp_audio_notify(struct dp_audio_private *audio, u32 state) int rc = 0; struct msm_ext_disp_init_data *ext = &audio->ext_audio_data; if (!ext->intf_ops.audio_notify) goto end; rc = ext->intf_ops.audio_notify(audio->ext_pdev, &ext->codec, state); if (rc) { Loading Loading @@ -710,6 +713,7 @@ static int dp_audio_on(struct dp_audio *dp_audio) audio->session_on = true; if (ext->intf_ops.audio_config) { rc = ext->intf_ops.audio_config(audio->ext_pdev, &ext->codec, EXT_DISPLAY_CABLE_CONNECT); Loading @@ -717,6 +721,7 @@ static int dp_audio_on(struct dp_audio *dp_audio) pr_err("failed to config audio, err=%d\n", rc); goto end; } } rc = dp_audio_notify(audio, EXT_DISPLAY_CABLE_CONNECT); if (rc) Loading Loading @@ -752,11 +757,13 @@ static int dp_audio_off(struct dp_audio *dp_audio) pr_debug("success\n"); end: if (ext->intf_ops.audio_config) { rc = ext->intf_ops.audio_config(audio->ext_pdev, &ext->codec, EXT_DISPLAY_CABLE_DISCONNECT); if (rc) pr_err("failed to config audio, err=%d\n", rc); } audio->session_on = false; audio->engine_on = false; Loading