summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Documentation/devicetree/bindings/fb/mdss-dsi.txt6
-rw-r--r--Documentation/devicetree/bindings/fb/msm-hdmi-tx.txt6
-rw-r--r--drivers/video/fbdev/msm/mdss_dsi.c9
-rw-r--r--drivers/video/fbdev/msm/mdss_hdmi_tx.c11
4 files changed, 31 insertions, 1 deletions
diff --git a/Documentation/devicetree/bindings/fb/mdss-dsi.txt b/Documentation/devicetree/bindings/fb/mdss-dsi.txt
index 160ece16bbfc..67c18174dc21 100644
--- a/Documentation/devicetree/bindings/fb/mdss-dsi.txt
+++ b/Documentation/devicetree/bindings/fb/mdss-dsi.txt
@@ -127,6 +127,11 @@ Optional properties:
"lane_map_3210" = <3 2 1 0>
- qcom,pluggable Boolean to enable hotplug feature.
- qcom,timing-db-mode: Boolean specifies dsi timing mode registers are supported or not.
+- qcom,display-id A string indicates the display ID for the controller.
+ The possible values are:
+ - "primary"
+ - "secondary"
+ - "tertiary"
Example:
mdss_dsi: qcom,mdss_dsi@0 {
@@ -241,5 +246,6 @@ Example:
qcom,platform-mode-gpio = <&msmgpio 7 0>;
qcom,dsi-irq-line;
qcom,lane-map = "lane_map_3012";
+ qcom,display-id = "primary";
};
};
diff --git a/Documentation/devicetree/bindings/fb/msm-hdmi-tx.txt b/Documentation/devicetree/bindings/fb/msm-hdmi-tx.txt
index 560defedd38a..7f95ed4285ef 100644
--- a/Documentation/devicetree/bindings/fb/msm-hdmi-tx.txt
+++ b/Documentation/devicetree/bindings/fb/msm-hdmi-tx.txt
@@ -47,6 +47,11 @@ Optional properties:
HDMI interface will remain powered on from LK to kernel with continuous
display of bootup logo.
- qcom,pluggable: boolean to enable hotplug feature.
+- qcom,display-id: A string indicates the display ID for the controller.
+ The possible values are:
+ - "primary"
+ - "secondary"
+ - "tertiary"
[Optional child nodes]: These nodes are for devices which are
dependent on HDMI Tx controller. If HDMI Tx controller is disabled then
@@ -90,6 +95,7 @@ Example:
qcom,conditional-power-on;
qcom,pluggable;
+ qcom,display-id = "secondary";
qcom,msm-hdmi-audio-rx {
compatible = "qcom,msm-hdmi-audio-codec-rx";
diff --git a/drivers/video/fbdev/msm/mdss_dsi.c b/drivers/video/fbdev/msm/mdss_dsi.c
index f9650f9141c4..248de476bcf9 100644
--- a/drivers/video/fbdev/msm/mdss_dsi.c
+++ b/drivers/video/fbdev/msm/mdss_dsi.c
@@ -3630,6 +3630,15 @@ static int mdss_dsi_parse_ctrl_params(struct platform_device *ctrl_pdev,
pinfo->is_pluggable = of_property_read_bool(ctrl_pdev->dev.of_node,
"qcom,pluggable");
+ data = of_get_property(ctrl_pdev->dev.of_node,
+ "qcom,display-id", &len);
+ if (!data || len <= 0)
+ pr_err("%s:%d Unable to read qcom,display-id, data=%p,len=%d\n",
+ __func__, __LINE__, data, len);
+ else
+ snprintf(ctrl_pdata->panel_data.panel_info.display_id,
+ MDSS_DISPLAY_ID_MAX_LEN, "%s", data);
+
return 0;
diff --git a/drivers/video/fbdev/msm/mdss_hdmi_tx.c b/drivers/video/fbdev/msm/mdss_hdmi_tx.c
index 83cd1b10db50..f2219dad95e5 100644
--- a/drivers/video/fbdev/msm/mdss_hdmi_tx.c
+++ b/drivers/video/fbdev/msm/mdss_hdmi_tx.c
@@ -4844,9 +4844,10 @@ static void hdmi_tx_put_dt_data(struct device *dev,
static int hdmi_tx_get_dt_data(struct platform_device *pdev,
struct hdmi_tx_platform_data *pdata)
{
- int i, rc = 0;
+ int i, rc = 0, len = 0;
struct device_node *of_node = NULL;
struct hdmi_tx_ctrl *hdmi_ctrl = platform_get_drvdata(pdev);
+ const char *data;
if (!pdev || !pdata) {
DEV_ERR("%s: invalid input\n", __func__);
@@ -4911,6 +4912,14 @@ static int hdmi_tx_get_dt_data(struct platform_device *pdev,
pdata->pluggable = of_property_read_bool(pdev->dev.of_node,
"qcom,pluggable");
+ data = of_get_property(pdev->dev.of_node, "qcom,display-id", &len);
+ if (!data || len <= 0)
+ pr_err("%s:%d Unable to read qcom,display-id, data=%p,len=%d\n",
+ __func__, __LINE__, data, len);
+ else
+ snprintf(hdmi_ctrl->panel_data.panel_info.display_id,
+ MDSS_DISPLAY_ID_MAX_LEN, "%s", data);
+
return rc;
error: