ARM: dts: msm: add initial dsi display nodes for Kera

Add initial dsi display nodes for Kera.

Change-Id: I09194c34f8ac1ec6d606879267b1732a72c0cd4e
Signed-off-by: Abhinav Saurabh <quic_abhisaur@quicinc.com>
Signed-off-by: lnxdisplay <lnxdisplay@localhost>
This commit is contained in:
Abhinav Saurabh
2024-10-25 13:35:06 +05:30
committed by lnxdisplay
parent 4a86f982ac
commit 984fda4d7d
4 changed files with 368 additions and 0 deletions

View File

@@ -0,0 +1,149 @@
// SPDX-License-Identifier: BSD-3-Clause
/*
* Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
*/
#include <dt-bindings/interrupt-controller/arm-gic.h>
&soc {
mdss_mdp: qcom,mdss_mdp@ae00000 {
};
mdss_dsi0: qcom,mdss_dsi_ctrl0@ae94000 {
compatible = "qcom,dsi-ctrl-hw-v2.9";
label = "dsi-ctrl-0";
cell-index = <0>;
frame-threshold-time-us = <800>;
reg = <0xae94000 0x1000>,
<0xaf0f000 0x4>,
<0x0ae36000 0x300>;
reg-names = "dsi_ctrl", "disp_cc_base", "mdp_intf_base";
interrupt-parent = <&mdss_mdp>;
interrupts = <4 0>;
qcom,ctrl-supply-entries {
#address-cells = <1>;
#size-cells = <0>;
qcom,ctrl-supply-entry@0 {
reg = <0>;
qcom,supply-name = "vdda-1p2";
qcom,supply-min-voltage = <1200000>;
qcom,supply-max-voltage = <1320000>;
qcom,supply-enable-load = <16600>;
qcom,supply-disable-load = <0>;
};
};
};
mdss_dsi1: qcom,mdss_dsi_ctrl1@ae96000 {
compatible = "qcom,dsi-ctrl-hw-v2.9";
label = "dsi-ctrl-1";
cell-index = <1>;
frame-threshold-time-us = <800>;
reg = <0xae96000 0x1000>,
<0xaf0f000 0x4>,
<0x0ae37000 0x300>;
reg-names = "dsi_ctrl", "disp_cc_base", "mdp_intf_base";
interrupt-parent = <&mdss_mdp>;
interrupts = <5 0>;
qcom,ctrl-supply-entries {
#address-cells = <1>;
#size-cells = <0>;
qcom,ctrl-supply-entry@0 {
reg = <0>;
qcom,supply-name = "vdda-1p2";
qcom,supply-min-voltage = <1200000>;
qcom,supply-max-voltage = <1320000>;
qcom,supply-enable-load = <16600>;
qcom,supply-disable-load = <0>;
};
};
};
mdss_dsi_phy0: qcom,mdss_dsi_phy0@ae95500 {
compatible = "qcom,dsi-phy-v5.2";
label = "dsi-phy-0";
cell-index = <0>;
#clock-cells = <1>;
reg = <0xae95000 0xa00>,
<0xae95500 0x400>,
<0xae94200 0xa0>;
reg-names = "dsi_phy", "pll_base", "dyn_refresh_base";
pll-label = "dsi_pll_4nm";
qcom,platform-strength-ctrl = [55 03
55 03
55 03
55 03
55 00];
qcom,platform-lane-config = [00 00 0a 0a
00 00 0a 0a
00 00 0a 0a
00 00 0a 0a
00 00 8a 8a];
qcom,platform-regulator-settings = [1d 1d 1d 1d 1d];
qcom,phy-supply-entries {
#address-cells = <1>;
#size-cells = <0>;
qcom,phy-supply-entry@0 {
reg = <0>;
qcom,supply-name = "vdda-0p9";
qcom,supply-min-voltage = <880000>;
qcom,supply-max-voltage = <950000>;
qcom,supply-enable-load = <98000>;
qcom,supply-disable-load = <96>;
};
};
};
mdss_dsi_phy1: qcom,mdss_dsi_phy1@ae97500 {
compatible = "qcom,dsi-phy-v5.2";
label = "dsi-phy-1";
cell-index = <1>;
#clock-cells = <1>;
reg = <0xae97000 0xa00>,
<0xae97500 0x400>,
<0xae96200 0xa0>;
reg-names = "dsi_phy", "pll_base", "dyn_refresh_base";
pll-label = "dsi_pll_4nm";
qcom,platform-strength-ctrl = [55 03
55 03
55 03
55 03
55 00];
qcom,platform-regulator-settings = [1d 1d 1d 1d 1d];
qcom,platform-lane-config = [00 00 0a 0a
00 00 0a 0a
00 00 0a 0a
00 00 0a 0a
00 00 8a 8a];
qcom,phy-supply-entries {
#address-cells = <1>;
#size-cells = <0>;
qcom,phy-supply-entry@0 {
reg = <0>;
qcom,supply-name = "vdda-0p9";
qcom,supply-min-voltage = <880000>;
qcom,supply-max-voltage = <950000>;
qcom,supply-enable-load = <98000>;
qcom,supply-disable-load = <96>;
};
};
};
dsi_pll_codes_data:dsi_pll_codes {
reg = <0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0>;
label = "dsi_pll_codes";
};
};

View File

@@ -0,0 +1,147 @@
// SPDX-License-Identifier: BSD-3-Clause
/*
* Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
*/
#include <dt-bindings/clock/qcom,dispcc-tuna.h>
#include "kera-sde-display-common.dtsi"
&soc {
};
&sde_dsi {
clocks = <&mdss_dsi_phy0 0>,
<&mdss_dsi_phy0 1>,
<&mdss_dsi_phy1 2>,
<&mdss_dsi_phy1 3>,
/*
* Currently the dsi clock handles are under the dsi
* controller DT node. As soon as the controller probe
* finishes, the dispcc sync state can get called before
* the dsi_display probe potentially disturbing the clock
* votes for cont_splash use case. Hence we are no longer
* protected by the component model in this case against the
* disp cc sync state getting triggered after the dsi_ctrl
* probe. To protect against this incorrect sync state trigger
* add this dummy MDP clk vote handle to the dsi_display
* DT node. Since the dsi_display driver does not parse
* MDP clock nodes, no actual vote shall be added and this
* change is done just to satisfy sync state requirements.
*/
<&dispcc DISP_CC_MDSS_MDP_CLK>;
clock-names = "pll_byte_clk0", "pll_dsi_clk0",
"pll_byte_clk1", "pll_dsi_clk1",
"mdp_core_clk";
vddio-supply = <&L8B>;
vci-supply = <&L19B>;
vdd-supply = <&L1G>;
};
&sde_dsi1 {
clocks = <&mdss_dsi_phy0 0>,
<&mdss_dsi_phy0 1>,
<&mdss_dsi_phy1 2>,
<&mdss_dsi_phy1 3>,
/*
* Currently the dsi clock handles are under the dsi
* controller DT node. As soon as the controller probe
* finishes, the dispcc sync state can get called before
* the dsi_display probe potentially disturbing the clock
* votes for cont_splash use case. Hence we are no longer
* protected by the component model in this case against the
* disp cc sync state getting triggered after the dsi_ctrl
* probe. To protect against this incorrect sync state trigger
* add this dummy MDP clk vote handle to the dsi_display
* DT node. Since the dsi_display driver does not parse
* MDP clock nodes, no actual vote shall be added and this
* change is done just to satisfy sync state requirements.
*/
<&dispcc DISP_CC_MDSS_MDP_CLK>;
clock-names = "pll_byte_clk0", "pll_dsi_clk0",
"pll_byte_clk1", "pll_dsi_clk1",
"mdp_core_clk";
vddio-supply = <&L8B>;
vci-supply = <&L19B>;
vdd-supply = <&L1G>;
};
&mdss_mdp {
connectors = <&sde_dsi &sde_dsi1>;
};
&dsi_vtdr6130_amoled_cmd {
qcom,ulps-enabled;
qcom,mdss-dsi-display-timings {
timing@0 {
qcom,partial-update-enabled = "single_roi";
qcom,panel-roi-alignment = <540 40 40 40 1080 40>;
};
timing@1 {
qcom,partial-update-enabled = "single_roi";
qcom,panel-roi-alignment = <540 40 40 40 1080 40>;
};
timing@2 {
qcom,partial-update-enabled = "single_roi";
qcom,panel-roi-alignment = <540 40 40 40 1080 40>;
};
timing@3 {
qcom,partial-update-enabled = "single_roi";
qcom,panel-roi-alignment = <540 40 40 40 1080 40>;
};
};
};
&dsi_vtdr6130_amoled_qsync_144hz_cmd {
qcom,ulps-enabled;
};
&dsi_sim_cmd {
qcom,ulps-enabled;
qcom,mdss-dsi-display-timings {
timing@0 { /* WQHD 60FPS cmd vid mode*/
qcom,panel-roi-alignment = <720 40 720 40 720 40>;
qcom,partial-update-enabled = "single_roi";
};
timing@2 { /* FHD 60FPS cmd mode*/
qcom,panel-roi-alignment = <540 20 540 20 540 20>;
qcom,partial-update-enabled = "single_roi";
};
timing@3 { /* HD 60FPS cmd mode*/
qcom,panel-roi-alignment = <360 40 360 40 360 40>;
qcom,partial-update-enabled = "single_roi";
};
};
};
&dsi_sim_dsc_375_cmd {
qcom,ulps-enabled;
};
&dsi_sim_dsc_10b_cmd {
qcom,ulps-enabled;
};
&dsi_dual_sim_cmd {
qcom,ulps-enabled;
};
&dsi_dual_sim_dsc_375_cmd {
qcom,ulps-enabled;
};
&dsi_sim_sec_hd_cmd {
qcom,ulps-enabled;
qcom,mdss-dsi-display-timings {
timing@0 {
qcom,panel-roi-alignment = <720 40 720 40 720 40>;
qcom,partial-update-enabled = "single_roi";
};
};
};

14
display/kera-sde.dts Normal file
View File

@@ -0,0 +1,14 @@
// SPDX-License-Identifier: BSD-3-Clause
/*
* Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
*/
/dts-v1/;
/plugin/;
#include "kera-sde.dtsi"
/ {
qcom,msm-id = <686 0x10000>, <659 0x10000>;
qcom,board-id = <0 0>;
};

58
display/kera-sde.dtsi Normal file
View File

@@ -0,0 +1,58 @@
// SPDX-License-Identifier: BSD-3-Clause
/*
* Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
*/
#include <dt-bindings/clock/qcom,dispcc-tuna.h>
#include <dt-bindings/clock/qcom,rpmh.h>
#include "kera-sde-common.dtsi"
&soc {
};
&mdss_mdp {
};
&mdss_dsi0 {
vdda-1p2-supply = <&L4B>;
qcom,split-link-supported;
clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>,
<&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>,
<&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>,
<&dispcc DISP_CC_MDSS_PCLK0_CLK>,
<&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>,
<&dispcc DISP_CC_MDSS_ESC0_CLK>,
<&rpmhcc RPMH_CXO_CLK>;
clock-names = "byte_clk", "byte_clk_rcg", "byte_intf_clk",
"pixel_clk", "pixel_clk_rcg", "esc_clk", "xo";
};
&mdss_dsi1 {
vdda-1p2-supply = <&L4B>;
qcom,split-link-supported;
clocks = <&dispcc DISP_CC_MDSS_BYTE1_CLK>,
<&dispcc DISP_CC_MDSS_BYTE1_CLK_SRC>,
<&dispcc DISP_CC_MDSS_BYTE1_INTF_CLK>,
<&dispcc DISP_CC_MDSS_PCLK1_CLK>,
<&dispcc DISP_CC_MDSS_PCLK1_CLK_SRC>,
<&dispcc DISP_CC_MDSS_ESC1_CLK>,
<&rpmhcc RPMH_CXO_CLK>;
clock-names = "byte_clk", "byte_clk_rcg", "byte_intf_clk",
"pixel_clk", "pixel_clk_rcg", "esc_clk", "xo";
};
&mdss_dsi_phy0 {
vdda-0p9-supply = <&L2B>;
qcom,panel-allow-phy-poweroff;
qcom,dsi-pll-ssc-en;
qcom,dsi-pll-ssc-mode = "down-spread";
pll_codes_region = <&dsi_pll_codes_data>;
};
&mdss_dsi_phy1 {
vdda-0p9-supply = <&L2B>;
qcom,panel-allow-phy-poweroff;
qcom,dsi-pll-ssc-en;
qcom,dsi-pll-ssc-mode = "down-spread";
pll_codes_region = <&dsi_pll_codes_data>;
};