summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Fennema <fennema@google.com>2023-02-27 17:39:28 -0800
committerBen Fennema <fennema@google.com>2023-02-27 17:52:25 -0800
commita4b34cd0aa56b4f7cfe9e64de7bfd55bc2ba7bc7 (patch)
treef1fae423b41191ebf46e97092e6dfb5c2fef6d3f
parent4f62c95a2298ec86ff973af1185c3c06dc374290 (diff)
downloadeos-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.dtsi98
-rw-r--r--dts/google/dsi-panel-amb120dd01-evt1-amoled-12-cmd.dtsi98
-rw-r--r--dts/google/dsi-panel-wf012fb-amoled-12-cmd.dtsi4
-rw-r--r--dts/google/eos-common.dtsi19
-rw-r--r--dts/google/eos-crown.dtsi4
-rw-r--r--dts/google/eos-sde-display.dtsi58
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>;
+ };
+ };
+};