Loading Documentation/devicetree/bindings/fb/mdss-dsi.txt +3 −0 Original line number Diff line number Diff line Loading @@ -110,6 +110,8 @@ Optional properties: controller. These pin configurations are installed in the pinctrl device node. Refer to pinctrl-bindings.txt - qcom,regulator-ldo-mode: Boolean to enable ldo mode for the dsi phy regulator - qcom,null-insertion-enabled: Boolean to enable NULL packet insertion feature for DSI controller. - qcom,dsi-irq-line: Boolean specifies if DSI has a different irq line than mdp. - qcom,lane-map: Specifies the data lane swap configuration. "lane_map_0123" = <0 1 2 3> (default value) Loading Loading @@ -222,6 +224,7 @@ Example: qcom,mmss-ulp-clamp-ctrl-offset = <0x20>; qcom,mmss-phyreset-ctrl-offset = <0x24>; qcom,regulator-ldo-mode; qcom,null-insertion-enabled; pinctrl-names = "mdss_default", "mdss_sleep"; pinctrl-0 = <&mdss_dsi_active>; Loading arch/arm/boot/dts/qcom/msm8996-mdss.dtsi +2 −0 Original line number Diff line number Diff line Loading @@ -384,6 +384,7 @@ "pll_byte_clk_mux", "pll_pixel_clk_mux", "pll_byte_clk_src", "pll_pixel_clk_src"; qcom,null-insertion-enabled; qcom,platform-strength-ctrl = [ff 06 ff 06 ff 06 Loading Loading @@ -428,6 +429,7 @@ "pll_byte_clk_mux", "pll_pixel_clk_mux", "pll_byte_clk_src", "pll_pixel_clk_src"; qcom,null-insertion-enabled; qcom,platform-strength-ctrl = [ff 06 ff 06 ff 06 Loading drivers/video/msm/mdss/mdss_dsi.c +3 −0 Original line number Diff line number Diff line Loading @@ -3172,6 +3172,9 @@ static int mdss_dsi_parse_ctrl_params(struct platform_device *ctrl_pdev, struct mdss_panel_info *pinfo = &(ctrl_pdata->panel_data.panel_info); const char *data; ctrl_pdata->null_insert_enabled = of_property_read_bool( ctrl_pdev->dev.of_node, "qcom,null-insertion-enabled"); data = of_get_property(ctrl_pdev->dev.of_node, "qcom,platform-strength-ctrl", &len); if (!data) { Loading drivers/video/msm/mdss/mdss_dsi.h +1 −0 Original line number Diff line number Diff line Loading @@ -459,6 +459,7 @@ struct mdss_dsi_ctrl_pdata { struct regulator *ibb; /* vreg handle */ struct mutex clk_lane_mutex; bool null_insert_enabled; bool ulps; bool core_power; bool mmss_clamp; Loading drivers/video/msm/mdss/mdss_dsi_host.c +10 −0 Original line number Diff line number Diff line Loading @@ -1082,6 +1082,7 @@ static void mdss_dsi_mode_setup(struct mdss_panel_data *pdata) struct mdss_panel_info *pinfo; struct mipi_panel_info *mipi; struct dsc_desc *dsc = NULL; u32 data = 0; u32 hbp, hfp, vbp, vfp, hspw, vspw, width, height; u32 ystride, bpp, dst_bpp, byte_num; u32 stream_ctrl, stream_total; Loading Loading @@ -1176,6 +1177,15 @@ static void mdss_dsi_mode_setup(struct mdss_panel_data *pdata) stream_total = height << 16 | width; } /* DSI_COMMAND_MODE_NULL_INSERTION_CTRL */ if ((ctrl_pdata->shared_data->hw_rev >= MDSS_DSI_HW_REV_104) && ctrl_pdata->null_insert_enabled) { data = (mipi->vc << 1); /* Virtual channel ID */ data |= 0 << 16; /* Word count of the NULL packet */ data |= 0x1; /* Enable Null insertion */ MIPI_OUTP((ctrl_pdata->ctrl_base) + 0x2b4, data); } /* DSI_COMMAND_MODE_MDP_STREAM_CTRL */ MIPI_OUTP((ctrl_pdata->ctrl_base) + 0x60, stream_ctrl); MIPI_OUTP((ctrl_pdata->ctrl_base) + 0x58, stream_ctrl); Loading Loading
Documentation/devicetree/bindings/fb/mdss-dsi.txt +3 −0 Original line number Diff line number Diff line Loading @@ -110,6 +110,8 @@ Optional properties: controller. These pin configurations are installed in the pinctrl device node. Refer to pinctrl-bindings.txt - qcom,regulator-ldo-mode: Boolean to enable ldo mode for the dsi phy regulator - qcom,null-insertion-enabled: Boolean to enable NULL packet insertion feature for DSI controller. - qcom,dsi-irq-line: Boolean specifies if DSI has a different irq line than mdp. - qcom,lane-map: Specifies the data lane swap configuration. "lane_map_0123" = <0 1 2 3> (default value) Loading Loading @@ -222,6 +224,7 @@ Example: qcom,mmss-ulp-clamp-ctrl-offset = <0x20>; qcom,mmss-phyreset-ctrl-offset = <0x24>; qcom,regulator-ldo-mode; qcom,null-insertion-enabled; pinctrl-names = "mdss_default", "mdss_sleep"; pinctrl-0 = <&mdss_dsi_active>; Loading
arch/arm/boot/dts/qcom/msm8996-mdss.dtsi +2 −0 Original line number Diff line number Diff line Loading @@ -384,6 +384,7 @@ "pll_byte_clk_mux", "pll_pixel_clk_mux", "pll_byte_clk_src", "pll_pixel_clk_src"; qcom,null-insertion-enabled; qcom,platform-strength-ctrl = [ff 06 ff 06 ff 06 Loading Loading @@ -428,6 +429,7 @@ "pll_byte_clk_mux", "pll_pixel_clk_mux", "pll_byte_clk_src", "pll_pixel_clk_src"; qcom,null-insertion-enabled; qcom,platform-strength-ctrl = [ff 06 ff 06 ff 06 Loading
drivers/video/msm/mdss/mdss_dsi.c +3 −0 Original line number Diff line number Diff line Loading @@ -3172,6 +3172,9 @@ static int mdss_dsi_parse_ctrl_params(struct platform_device *ctrl_pdev, struct mdss_panel_info *pinfo = &(ctrl_pdata->panel_data.panel_info); const char *data; ctrl_pdata->null_insert_enabled = of_property_read_bool( ctrl_pdev->dev.of_node, "qcom,null-insertion-enabled"); data = of_get_property(ctrl_pdev->dev.of_node, "qcom,platform-strength-ctrl", &len); if (!data) { Loading
drivers/video/msm/mdss/mdss_dsi.h +1 −0 Original line number Diff line number Diff line Loading @@ -459,6 +459,7 @@ struct mdss_dsi_ctrl_pdata { struct regulator *ibb; /* vreg handle */ struct mutex clk_lane_mutex; bool null_insert_enabled; bool ulps; bool core_power; bool mmss_clamp; Loading
drivers/video/msm/mdss/mdss_dsi_host.c +10 −0 Original line number Diff line number Diff line Loading @@ -1082,6 +1082,7 @@ static void mdss_dsi_mode_setup(struct mdss_panel_data *pdata) struct mdss_panel_info *pinfo; struct mipi_panel_info *mipi; struct dsc_desc *dsc = NULL; u32 data = 0; u32 hbp, hfp, vbp, vfp, hspw, vspw, width, height; u32 ystride, bpp, dst_bpp, byte_num; u32 stream_ctrl, stream_total; Loading Loading @@ -1176,6 +1177,15 @@ static void mdss_dsi_mode_setup(struct mdss_panel_data *pdata) stream_total = height << 16 | width; } /* DSI_COMMAND_MODE_NULL_INSERTION_CTRL */ if ((ctrl_pdata->shared_data->hw_rev >= MDSS_DSI_HW_REV_104) && ctrl_pdata->null_insert_enabled) { data = (mipi->vc << 1); /* Virtual channel ID */ data |= 0 << 16; /* Word count of the NULL packet */ data |= 0x1; /* Enable Null insertion */ MIPI_OUTP((ctrl_pdata->ctrl_base) + 0x2b4, data); } /* DSI_COMMAND_MODE_MDP_STREAM_CTRL */ MIPI_OUTP((ctrl_pdata->ctrl_base) + 0x60, stream_ctrl); MIPI_OUTP((ctrl_pdata->ctrl_base) + 0x58, stream_ctrl); Loading