Loading Documentation/devicetree/bindings/drm/msm/sde-dsi.txt +4 −0 Original line number Diff line number Diff line Loading @@ -96,3 +96,7 @@ Optional properties: If ping pong split enabled, this time should not be higher than two times the dsi link rate time. If the property is not specified, then the default value is 14000 us. - qcom,dsi-phy-isolation-enabled: A boolean property enables the phy isolation from dsi controller. This must be enabled for debugging purpose only with simulator panel. It should not be enabled for normal DSI panels. arch/arm64/boot/dts/qcom/dsi-panel-sim-dualmipi-cmd.dtsi +50 −25 Original line number Diff line number Diff line Loading @@ -46,6 +46,31 @@ qcom,mdss-dsi-display-timings { timing@0{ qcom,mdss-dsi-panel-width = <540>; qcom,mdss-dsi-panel-height = <1920>; qcom,mdss-dsi-h-front-porch = <28>; qcom,mdss-dsi-h-back-porch = <4>; qcom,mdss-dsi-h-pulse-width = <4>; qcom,mdss-dsi-h-sync-skew = <0>; qcom,mdss-dsi-v-back-porch = <12>; qcom,mdss-dsi-v-front-porch = <12>; qcom,mdss-dsi-v-pulse-width = <2>; 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-framerate = <120>; qcom,mdss-dsi-on-command = [/* exit sleep mode, wait 0ms */ 05 01 00 00 00 00 01 29]; /* Set display on, wait 16ms */ qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; qcom,mdss-dsi-off-command = [05 01 00 00 00 00 02 28 00 05 01 00 00 00 00 02 10 00]; qcom,mdss-dsi-off-command-state = "dsi_hs_mode"; }; timing@1{ qcom,mdss-dsi-panel-width = <1280>; qcom,mdss-dsi-panel-height = <1440>; qcom,mdss-dsi-h-front-porch = <120>; Loading @@ -62,33 +87,33 @@ qcom,mdss-dsi-h-sync-pulse = <0>; qcom,mdss-dsi-panel-framerate = <60>; qcom,mdss-dsi-on-command = [29 01 00 00 00 00 02 b0 03 05 01 00 00 0a 00 01 00 /* Soft reset, wait 10ms */ 15 01 00 00 0a 00 02 3a 77 /* Set Pixel format (24 bpp) */ 39 01 00 00 0a 00 05 2a 00 00 04 ff /* Set Column address */ 39 01 00 00 0a 00 05 2b 00 00 05 9f /* Set page address */ 15 01 00 00 0a 00 02 35 00 /* Set tear on */ 39 01 00 00 0a 00 03 44 00 00 /* Set tear scan line */ 15 01 00 00 0a 00 02 51 ff /* write display brightness */ 15 01 00 00 0a 00 02 53 24 /* write control brightness */ 15 01 00 00 0a 00 02 55 00 /* CABC brightness */ 05 01 00 00 78 00 01 11 /* exit sleep mode, wait 120ms */ 05 01 00 00 10 00 01 29]; /* Set display on, wait 16ms */ [/* exit sleep mode, wait 0ms */ 05 01 00 00 00 00 01 29]; qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; qcom,mdss-dsi-off-command = [05 01 00 00 00 00 02 28 00 05 01 00 00 00 00 02 10 00]; qcom,mdss-dsi-off-command-state = "dsi_hs_mode"; }; timing@2{ 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-h-sync-pulse = <0>; qcom,mdss-dsi-panel-framerate = <40>; qcom,mdss-dsi-on-command = [/* exit sleep mode, wait 0ms */ 05 01 00 00 00 00 01 29]; qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; qcom,mdss-dsi-off-command = [05 01 00 00 32 00 02 28 00 05 01 00 00 78 00 02 10 00]; [05 01 00 00 00 00 02 28 00 05 01 00 00 00 00 02 10 00]; qcom,mdss-dsi-off-command-state = "dsi_hs_mode"; }; }; Loading arch/arm64/boot/dts/qcom/sdm845-sde-display.dtsi +12 −0 Original line number Diff line number Diff line Loading @@ -639,11 +639,23 @@ qcom,mdss-dsi-t-clk-pre = <0x2d>; qcom,mdss-dsi-display-timings { timing@0{ qcom,mdss-dsi-panel-phy-timings = [00 24 09 09 26 24 09 09 06 03 04 00]; qcom,display-topology = <2 0 2>; qcom,default-topology-index = <0>; }; timing@1{ qcom,mdss-dsi-panel-phy-timings = [00 1c 07 07 23 21 07 07 05 03 04 00]; qcom,display-topology = <2 0 2>, <1 0 2>; qcom,default-topology-index = <0>; }; timing@2{ qcom,mdss-dsi-panel-phy-timings = [00 18 06 06 21 20 06 06 04 03 04 00]; qcom,display-topology = <2 0 2>; qcom,default-topology-index = <0>; }; }; }; drivers/gpu/drm/msm/dsi-staging/dsi_catalog.c +6 −2 Original line number Diff line number Diff line Loading @@ -108,14 +108,15 @@ static void dsi_catalog_cmn_init(struct dsi_ctrl_hw *ctrl, * @ctrl: Pointer to DSI controller hw object. * @version: DSI controller version. * @index: DSI controller instance ID. * @phy_isolation_enabled: DSI controller works isolated from phy. * * This function setups the catalog information in the dsi_ctrl_hw object. * * return: error code for failure and 0 for success. */ int dsi_catalog_ctrl_setup(struct dsi_ctrl_hw *ctrl, enum dsi_ctrl_version version, u32 index) enum dsi_ctrl_version version, u32 index, bool phy_isolation_enabled) { int rc = 0; Loading @@ -135,8 +136,11 @@ int dsi_catalog_ctrl_setup(struct dsi_ctrl_hw *ctrl, switch (version) { case DSI_CTRL_VERSION_1_4: dsi_catalog_cmn_init(ctrl, version); break; case DSI_CTRL_VERSION_2_0: case DSI_CTRL_VERSION_2_2: ctrl->phy_isolation_enabled = phy_isolation_enabled; dsi_catalog_cmn_init(ctrl, version); break; default: Loading drivers/gpu/drm/msm/dsi-staging/dsi_catalog.h +3 −2 Original line number Diff line number Diff line Loading @@ -23,14 +23,15 @@ * @ctrl: Pointer to DSI controller hw object. * @version: DSI controller version. * @index: DSI controller instance ID. * @phy_isolation_enabled: DSI controller works isolated from phy. * * This function setups the catalog information in the dsi_ctrl_hw object. * * return: error code for failure and 0 for success. */ int dsi_catalog_ctrl_setup(struct dsi_ctrl_hw *ctrl, enum dsi_ctrl_version version, u32 index); enum dsi_ctrl_version version, u32 index, bool phy_isolation_enabled); /** * dsi_catalog_phy_setup() - return catalog info for dsi phy hardware Loading Loading
Documentation/devicetree/bindings/drm/msm/sde-dsi.txt +4 −0 Original line number Diff line number Diff line Loading @@ -96,3 +96,7 @@ Optional properties: If ping pong split enabled, this time should not be higher than two times the dsi link rate time. If the property is not specified, then the default value is 14000 us. - qcom,dsi-phy-isolation-enabled: A boolean property enables the phy isolation from dsi controller. This must be enabled for debugging purpose only with simulator panel. It should not be enabled for normal DSI panels.
arch/arm64/boot/dts/qcom/dsi-panel-sim-dualmipi-cmd.dtsi +50 −25 Original line number Diff line number Diff line Loading @@ -46,6 +46,31 @@ qcom,mdss-dsi-display-timings { timing@0{ qcom,mdss-dsi-panel-width = <540>; qcom,mdss-dsi-panel-height = <1920>; qcom,mdss-dsi-h-front-porch = <28>; qcom,mdss-dsi-h-back-porch = <4>; qcom,mdss-dsi-h-pulse-width = <4>; qcom,mdss-dsi-h-sync-skew = <0>; qcom,mdss-dsi-v-back-porch = <12>; qcom,mdss-dsi-v-front-porch = <12>; qcom,mdss-dsi-v-pulse-width = <2>; 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-framerate = <120>; qcom,mdss-dsi-on-command = [/* exit sleep mode, wait 0ms */ 05 01 00 00 00 00 01 29]; /* Set display on, wait 16ms */ qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; qcom,mdss-dsi-off-command = [05 01 00 00 00 00 02 28 00 05 01 00 00 00 00 02 10 00]; qcom,mdss-dsi-off-command-state = "dsi_hs_mode"; }; timing@1{ qcom,mdss-dsi-panel-width = <1280>; qcom,mdss-dsi-panel-height = <1440>; qcom,mdss-dsi-h-front-porch = <120>; Loading @@ -62,33 +87,33 @@ qcom,mdss-dsi-h-sync-pulse = <0>; qcom,mdss-dsi-panel-framerate = <60>; qcom,mdss-dsi-on-command = [29 01 00 00 00 00 02 b0 03 05 01 00 00 0a 00 01 00 /* Soft reset, wait 10ms */ 15 01 00 00 0a 00 02 3a 77 /* Set Pixel format (24 bpp) */ 39 01 00 00 0a 00 05 2a 00 00 04 ff /* Set Column address */ 39 01 00 00 0a 00 05 2b 00 00 05 9f /* Set page address */ 15 01 00 00 0a 00 02 35 00 /* Set tear on */ 39 01 00 00 0a 00 03 44 00 00 /* Set tear scan line */ 15 01 00 00 0a 00 02 51 ff /* write display brightness */ 15 01 00 00 0a 00 02 53 24 /* write control brightness */ 15 01 00 00 0a 00 02 55 00 /* CABC brightness */ 05 01 00 00 78 00 01 11 /* exit sleep mode, wait 120ms */ 05 01 00 00 10 00 01 29]; /* Set display on, wait 16ms */ [/* exit sleep mode, wait 0ms */ 05 01 00 00 00 00 01 29]; qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; qcom,mdss-dsi-off-command = [05 01 00 00 00 00 02 28 00 05 01 00 00 00 00 02 10 00]; qcom,mdss-dsi-off-command-state = "dsi_hs_mode"; }; timing@2{ 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-h-sync-pulse = <0>; qcom,mdss-dsi-panel-framerate = <40>; qcom,mdss-dsi-on-command = [/* exit sleep mode, wait 0ms */ 05 01 00 00 00 00 01 29]; qcom,mdss-dsi-on-command-state = "dsi_lp_mode"; qcom,mdss-dsi-off-command = [05 01 00 00 32 00 02 28 00 05 01 00 00 78 00 02 10 00]; [05 01 00 00 00 00 02 28 00 05 01 00 00 00 00 02 10 00]; qcom,mdss-dsi-off-command-state = "dsi_hs_mode"; }; }; Loading
arch/arm64/boot/dts/qcom/sdm845-sde-display.dtsi +12 −0 Original line number Diff line number Diff line Loading @@ -639,11 +639,23 @@ qcom,mdss-dsi-t-clk-pre = <0x2d>; qcom,mdss-dsi-display-timings { timing@0{ qcom,mdss-dsi-panel-phy-timings = [00 24 09 09 26 24 09 09 06 03 04 00]; qcom,display-topology = <2 0 2>; qcom,default-topology-index = <0>; }; timing@1{ qcom,mdss-dsi-panel-phy-timings = [00 1c 07 07 23 21 07 07 05 03 04 00]; qcom,display-topology = <2 0 2>, <1 0 2>; qcom,default-topology-index = <0>; }; timing@2{ qcom,mdss-dsi-panel-phy-timings = [00 18 06 06 21 20 06 06 04 03 04 00]; qcom,display-topology = <2 0 2>; qcom,default-topology-index = <0>; }; }; };
drivers/gpu/drm/msm/dsi-staging/dsi_catalog.c +6 −2 Original line number Diff line number Diff line Loading @@ -108,14 +108,15 @@ static void dsi_catalog_cmn_init(struct dsi_ctrl_hw *ctrl, * @ctrl: Pointer to DSI controller hw object. * @version: DSI controller version. * @index: DSI controller instance ID. * @phy_isolation_enabled: DSI controller works isolated from phy. * * This function setups the catalog information in the dsi_ctrl_hw object. * * return: error code for failure and 0 for success. */ int dsi_catalog_ctrl_setup(struct dsi_ctrl_hw *ctrl, enum dsi_ctrl_version version, u32 index) enum dsi_ctrl_version version, u32 index, bool phy_isolation_enabled) { int rc = 0; Loading @@ -135,8 +136,11 @@ int dsi_catalog_ctrl_setup(struct dsi_ctrl_hw *ctrl, switch (version) { case DSI_CTRL_VERSION_1_4: dsi_catalog_cmn_init(ctrl, version); break; case DSI_CTRL_VERSION_2_0: case DSI_CTRL_VERSION_2_2: ctrl->phy_isolation_enabled = phy_isolation_enabled; dsi_catalog_cmn_init(ctrl, version); break; default: Loading
drivers/gpu/drm/msm/dsi-staging/dsi_catalog.h +3 −2 Original line number Diff line number Diff line Loading @@ -23,14 +23,15 @@ * @ctrl: Pointer to DSI controller hw object. * @version: DSI controller version. * @index: DSI controller instance ID. * @phy_isolation_enabled: DSI controller works isolated from phy. * * This function setups the catalog information in the dsi_ctrl_hw object. * * return: error code for failure and 0 for success. */ int dsi_catalog_ctrl_setup(struct dsi_ctrl_hw *ctrl, enum dsi_ctrl_version version, u32 index); enum dsi_ctrl_version version, u32 index, bool phy_isolation_enabled); /** * dsi_catalog_phy_setup() - return catalog info for dsi phy hardware Loading