diff options
author | Ben Fennema <fennema@google.com> | 2023-02-27 17:39:28 -0800 |
---|---|---|
committer | Ben Fennema <fennema@google.com> | 2023-02-27 17:52:25 -0800 |
commit | a4b34cd0aa56b4f7cfe9e64de7bfd55bc2ba7bc7 (patch) | |
tree | f1fae423b41191ebf46e97092e6dfb5c2fef6d3f | |
parent | 4f62c95a2298ec86ff973af1185c3c06dc374290 (diff) | |
download | eos-a4b34cd0aa56b4f7cfe9e64de7bfd55bc2ba7bc7.tar.gz |
Add SDC display panel(s) support and add to crown and touch panel lists
Bug: 271035608
Change-Id: I512cf70ddcd7b41a6335d1bbf122a9334b04d0b3
Signed-off-by: Ben Fennema <fennema@google.com>
-rw-r--r-- | dts/google/dsi-panel-amb120dd01-amoled-12-cmd.dtsi | 98 | ||||
-rw-r--r-- | dts/google/dsi-panel-amb120dd01-evt1-amoled-12-cmd.dtsi | 98 | ||||
-rw-r--r-- | dts/google/dsi-panel-wf012fb-amoled-12-cmd.dtsi | 4 | ||||
-rw-r--r-- | dts/google/eos-common.dtsi | 19 | ||||
-rw-r--r-- | dts/google/eos-crown.dtsi | 4 | ||||
-rw-r--r-- | dts/google/eos-sde-display.dtsi | 58 |
6 files changed, 277 insertions, 4 deletions
diff --git a/dts/google/dsi-panel-amb120dd01-amoled-12-cmd.dtsi b/dts/google/dsi-panel-amb120dd01-amoled-12-cmd.dtsi new file mode 100644 index 0000000..6aaec5f --- /dev/null +++ b/dts/google/dsi-panel-amb120dd01-amoled-12-cmd.dtsi @@ -0,0 +1,98 @@ +// SPDX-License-Identifier: GPL-2.0 + +&mdss_mdp { + /* + * The panel name (ex: qcom,mdss_dsi_amb120dd01_amoled_12_cmd) must match + * the 3rd argument to PANEL_CREATE_ENTRY() in xbl (boot_images) + * QcomPkg/SocPkg/AthertonPkg/Library/MDPPlatformLib/MDPPlatformLib.c + */ + + dsi_amb120dd01_amoled_12_cmd: qcom,mdss_dsi_amb120dd01_amoled_12_cmd { + qcom,mdss-dsi-panel-name = + "SDC AMB120DD01 amoled cmd mode"; + qcom,mdss-dsi-panel-type = "dsi_cmd_mode"; + qcom,mdss-dsi-panel-physical-type = "oled"; + 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,dsi-ctrl-num = <0>; + qcom,dsi-phy-num = <0>; + + qcom,mdss-dsi-traffic-mode = "burst_mode"; + 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-dma-trigger = "trigger_sw"; + qcom,mdss-dsi-mdp-trigger = "none"; + qcom,mdss-dsi-reset-sequence = <1 10>, <0 3>, <1 10>; + qcom,mdss-dsi-te-pin-select = <1>; + qcom,mdss-dsi-te-dcs-command = <1>; + qcom,mdss-dsi-te-check-enable; + qcom,mdss-dsi-te-using-te-pin; + qcom,mdss-dsi-t-clk-post = <0x09>; + qcom,mdss-dsi-t-clk-pre = <0x2c>; + + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; + qcom,mdss-dsi-bl-min-level = <1>; + qcom,mdss-dsi-bl-max-level = <255>; + + qcom,mdss-dsi-display-timings { + timing@0 { + qcom,mdss-dsi-panel-framerate = <60>; + qcom,mdss-dsi-panel-width = <384>; + qcom,mdss-dsi-panel-height = <384>; + qcom,mdss-dsi-h-front-porch = <40>; + qcom,mdss-dsi-h-back-porch = <8>; + qcom,mdss-dsi-h-pulse-width = <0>; + qcom,mdss-dsi-h-sync-skew = <0>; + qcom,mdss-dsi-v-front-porch = <8>; + qcom,mdss-dsi-v-back-porch = <22>; + qcom,mdss-dsi-v-pulse-width = <0>; + 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-on-command = [ + 15 01 00 00 00 00 02 ff 10 /* Page select */ + 05 01 00 00 70 00 02 11 00 /* Sleep out, wait 70ms */ + 05 01 00 00 00 00 02 29 00 /* Display on */ + ]; + qcom,mdss-dsi-off-command = [ + 15 01 00 00 00 00 02 ff 10 /* Page select */ + 05 01 00 00 00 00 02 28 00 /* Display off */ + 05 01 00 00 70 00 02 10 00 /* Sleep in, wait 70ms */ + ]; + qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; + qcom,mdss-dsi-off-command-state = "dsi_hs_mode"; + qcom,mdss-dsi-lp1-command-state = "dsi_hs_mode"; + qcom,mdss-dsi-lp1-command = [ + 15 01 00 00 00 00 02 ff 10 /* Page select */ + 05 01 00 00 00 00 02 39 00 /* Enter idle */ + ]; + qcom,mdss-dsi-lp2-command-state = "dsi_hs_mode"; + qcom,mdss-dsi-lp2-command = [ + 15 01 00 00 00 00 02 ff 10 /* Page select */ + 05 01 00 00 00 00 02 39 00 /* Enter idle */ + ]; + qcom,mdss-dsi-nolp-command = [ + 15 01 00 00 00 00 02 ff 10 /* Page select */ + 05 01 00 00 1f 00 01 38 00 /* Exit idle */ + ]; + qcom,mdss-dsi-hbm-on-command = [ + 15 01 00 00 00 00 02 ff 10 /* Page select */ + 15 01 00 00 17 00 02 66 02 /* Enter HBM */ + ]; + qcom,mdss-dsi-hbm-off-command = [ + 15 01 00 00 00 00 02 ff 10 /* Page select */ + 15 01 00 00 17 00 02 66 00 /* Exit HBM */ + ]; + }; + }; + }; +}; diff --git a/dts/google/dsi-panel-amb120dd01-evt1-amoled-12-cmd.dtsi b/dts/google/dsi-panel-amb120dd01-evt1-amoled-12-cmd.dtsi new file mode 100644 index 0000000..cad0f86 --- /dev/null +++ b/dts/google/dsi-panel-amb120dd01-evt1-amoled-12-cmd.dtsi @@ -0,0 +1,98 @@ +// SPDX-License-Identifier: GPL-2.0 + +&mdss_mdp { + /* + * The panel name (ex: qcom,mdss_dsi_amb120dd01_evt1_amoled_12_cmd) must match + * the 3rd argument to PANEL_CREATE_ENTRY() in xbl (boot_images) + * QcomPkg/SocPkg/AthertonPkg/Library/MDPPlatformLib/MDPPlatformLib.c + */ + + dsi_amb120dd01_evt1_amoled_12_cmd: qcom,mdss_dsi_amb120dd01_evt1_amoled_12_cmd { + qcom,mdss-dsi-panel-name = + "SDC AMB120DD01 amoled cmd mode"; + qcom,mdss-dsi-panel-type = "dsi_cmd_mode"; + qcom,mdss-dsi-panel-physical-type = "oled"; + 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,dsi-ctrl-num = <0>; + qcom,dsi-phy-num = <0>; + + qcom,mdss-dsi-traffic-mode = "burst_mode"; + 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-dma-trigger = "trigger_sw"; + qcom,mdss-dsi-mdp-trigger = "none"; + qcom,mdss-dsi-reset-sequence = <1 10>, <0 3>, <1 10>; + qcom,mdss-dsi-te-pin-select = <1>; + qcom,mdss-dsi-te-dcs-command = <1>; + qcom,mdss-dsi-te-check-enable; + qcom,mdss-dsi-te-using-te-pin; + qcom,mdss-dsi-t-clk-post = <0x09>; + qcom,mdss-dsi-t-clk-pre = <0x2c>; + + qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs"; + qcom,mdss-dsi-bl-min-level = <1>; + qcom,mdss-dsi-bl-max-level = <255>; + + qcom,mdss-dsi-display-timings { + timing@0 { + qcom,mdss-dsi-panel-framerate = <60>; + qcom,mdss-dsi-panel-width = <384>; + qcom,mdss-dsi-panel-height = <384>; + qcom,mdss-dsi-h-front-porch = <40>; + qcom,mdss-dsi-h-back-porch = <8>; + qcom,mdss-dsi-h-pulse-width = <0>; + qcom,mdss-dsi-h-sync-skew = <0>; + qcom,mdss-dsi-v-front-porch = <8>; + qcom,mdss-dsi-v-back-porch = <22>; + qcom,mdss-dsi-v-pulse-width = <0>; + 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-on-command = [ + 15 01 00 00 00 00 02 ff 10 /* Page select */ + 05 01 00 00 70 00 02 11 00 /* Sleep out, wait 70ms */ + 05 01 00 00 00 00 02 29 00 /* Display on */ + ]; + qcom,mdss-dsi-off-command = [ + 15 01 00 00 00 00 02 ff 10 /* Page select */ + 05 01 00 00 00 00 02 28 00 /* Display off */ + 05 01 00 00 70 00 02 10 00 /* Sleep in, wait 70ms */ + ]; + qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; + qcom,mdss-dsi-off-command-state = "dsi_hs_mode"; + qcom,mdss-dsi-lp1-command-state = "dsi_hs_mode"; + qcom,mdss-dsi-lp1-command = [ + 15 01 00 00 00 00 02 ff 10 /* Page select */ + 05 01 00 00 00 00 02 39 00 /* Enter idle */ + ]; + qcom,mdss-dsi-lp2-command-state = "dsi_hs_mode"; + qcom,mdss-dsi-lp2-command = [ + 15 01 00 00 00 00 02 ff 10 /* Page select */ + 05 01 00 00 00 00 02 39 00 /* Enter idle */ + ]; + qcom,mdss-dsi-nolp-command = [ + 15 01 00 00 00 00 02 ff 10 /* Page select */ + 05 01 00 00 1f 00 01 38 00 /* Exit idle */ + ]; + qcom,mdss-dsi-hbm-on-command = [ + 15 01 00 00 00 00 02 ff 10 /* Page select */ + 15 01 00 00 17 00 02 66 02 /* Enter HBM */ + ]; + qcom,mdss-dsi-hbm-off-command = [ + 15 01 00 00 00 00 02 ff 10 /* Page select */ + 15 01 00 00 17 00 02 66 00 /* Exit HBM */ + ]; + }; + }; + }; +}; diff --git a/dts/google/dsi-panel-wf012fb-amoled-12-cmd.dtsi b/dts/google/dsi-panel-wf012fb-amoled-12-cmd.dtsi index 97fa564..d9d3bbc 100644 --- a/dts/google/dsi-panel-wf012fb-amoled-12-cmd.dtsi +++ b/dts/google/dsi-panel-wf012fb-amoled-12-cmd.dtsi @@ -86,11 +86,11 @@ ]; qcom,mdss-dsi-hbm-on-command = [ 15 01 00 00 00 00 02 ff 10 /* Page select */ - 15 01 00 00 00 00 02 66 02 /* Enter HBM */ + 15 01 00 00 17 00 02 66 02 /* Enter HBM */ ]; qcom,mdss-dsi-hbm-off-command = [ 15 01 00 00 00 00 02 ff 10 /* Page select */ - 15 01 00 00 00 00 02 66 00 /* Exit HBM */ + 15 01 00 00 17 00 02 66 00 /* Exit HBM */ ]; }; }; diff --git a/dts/google/eos-common.dtsi b/dts/google/eos-common.dtsi index c860d92..c55decc 100644 --- a/dts/google/eos-common.dtsi +++ b/dts/google/eos-common.dtsi @@ -26,6 +26,21 @@ qcom,panel-supply-entries = <&dsi_panel_pwr_supply_nolab_amoled>; qcom,platform-reset-gpio = <&pm5100_gpios 2 0>; qcom,platform-reset-gpio-always-on; + touch,firmware = "novatek_ts_fw_boe.bin"; +}; + +&dsi_amb120dd01_amoled_12_cmd { + qcom,panel-supply-entries = <&dsi_panel_pwr_supply_nolab_amoled>; + qcom,platform-reset-gpio = <&pm5100_gpios 2 0>; + qcom,platform-reset-gpio-always-on; + touch,firmware = "novatek_ts_fw_sdc.bin"; +}; + +&dsi_amb120dd01_evt1_amoled_12_cmd { + qcom,panel-supply-entries = <&dsi_panel_pwr_supply_nolab_amoled>; + qcom,platform-reset-gpio = <&pm5100_gpios 2 0>; + qcom,platform-reset-gpio-always-on; + touch,firmware = "novatek_ts_fw_sdc_rot.bin"; }; &sde_dsi { @@ -33,7 +48,9 @@ }; &novatek { - panel = <&dsi_wf012fb_amoled_12_cmd>; + panel = <&dsi_wf012fb_amoled_12_cmd + &dsi_amb120dd01_amoled_12_cmd + &dsi_amb120dd01_evt1_amoled_12_cmd>; }; &qupv3_se1_i2c { diff --git a/dts/google/eos-crown.dtsi b/dts/google/eos-crown.dtsi index 8ee6143..45df2bf 100644 --- a/dts/google/eos-crown.dtsi +++ b/dts/google/eos-crown.dtsi @@ -48,6 +48,8 @@ pinctrl-names = "default", "sleep"; pinctrl-0 = <&pix_int_active>; pinctrl-1 = <&pix_int_suspend>; - display-panels = <&dsi_wf012fb_amoled_12_cmd>; + display-panels = <&dsi_wf012fb_amoled_12_cmd + &dsi_amb120dd01_amoled_12_cmd + &dsi_amb120dd01_evt1_amoled_12_cmd>; }; }; diff --git a/dts/google/eos-sde-display.dtsi b/dts/google/eos-sde-display.dtsi index 47c205f..2f21301 100644 --- a/dts/google/eos-sde-display.dtsi +++ b/dts/google/eos-sde-display.dtsi @@ -2,6 +2,8 @@ #include <dt-bindings/clock/qcom,dispcc-monaco.h> #include "dsi-panel-wf012fb-amoled-12-cmd.dtsi" +#include "dsi-panel-amb120dd01-evt1-amoled-12-cmd.dtsi" +#include "dsi-panel-amb120dd01-amoled-12-cmd.dtsi" &dsi_wf012fb_amoled_12_cmd { qcom,ulps-enabled; @@ -30,3 +32,59 @@ }; }; }; + +&dsi_amb120dd01_evt1_amoled_12_cmd { + qcom,ulps-enabled; + qcom,mdss-dsi-t-clk-post = <0x08>; + qcom,mdss-dsi-t-clk-pre = <0x0B>; + qcom,dsi-select-clocks = "pll_byte_clk0", "pll_dsi_clk0"; + + qcom,mdss-dsi-panel-status-check-mode = "te_signal_check"; + qcom,mdss-dsi-panel-status-command = [06 01 00 01 00 00 01 0a]; + qcom,mdss-dsi-panel-status-command-state = "dsi_lp_mode"; + qcom,mdss-dsi-panel-status-value = <0x9c>; + qcom,mdss-dsi-panel-status-read-length = <1>; + /* + * TODO: b/267644923: ESD te_signal_check is not supported anymore, + * so ESD checking is temporarily disabled. + */ + //qcom,esd-check-enabled; + + qcom,mdss-dsi-display-timings { + timing@0 { + qcom,mdss-dsi-panel-phy-timings = [00 0C 03 03 10 1D 03 + 03 03 02 02 04 0B 08]; + qcom,display-topology = <1 0 1>; + qcom,default-topology-index = <0>; + qcom,mdss-dsi-panel-clockrate = <257541120>; + }; + }; +}; + +&dsi_amb120dd01_amoled_12_cmd { + qcom,ulps-enabled; + qcom,mdss-dsi-t-clk-post = <0x08>; + qcom,mdss-dsi-t-clk-pre = <0x0B>; + qcom,dsi-select-clocks = "pll_byte_clk0", "pll_dsi_clk0"; + + qcom,mdss-dsi-panel-status-check-mode = "te_signal_check"; + qcom,mdss-dsi-panel-status-command = [06 01 00 01 00 00 01 0a]; + qcom,mdss-dsi-panel-status-command-state = "dsi_lp_mode"; + qcom,mdss-dsi-panel-status-value = <0x9c>; + qcom,mdss-dsi-panel-status-read-length = <1>; + /* + * TODO: b/267644923: ESD te_signal_check is not supported anymore, + * so ESD checking is temporarily disabled. + */ + //qcom,esd-check-enabled; + + qcom,mdss-dsi-display-timings { + timing@0 { + qcom,mdss-dsi-panel-phy-timings = [00 0C 03 03 10 1D 03 + 03 03 02 02 04 0B 08]; + qcom,display-topology = <1 0 1>; + qcom,default-topology-index = <0>; + qcom,mdss-dsi-panel-clockrate = <257541120>; + }; + }; +}; |