Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 97a51292 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "ARM: dts: msm: add support for NULL packet insertion for MSM8996"

parents 25765f7f ada7dd08
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -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)
@@ -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>;
+2 −0
Original line number Diff line number Diff line
@@ -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
@@ -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
+3 −0
Original line number Diff line number Diff line
@@ -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) {
+1 −0
Original line number Diff line number Diff line
@@ -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;
+10 −0
Original line number Diff line number Diff line
@@ -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;
@@ -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);