diff options
| -rw-r--r-- | Documentation/devicetree/bindings/fb/mdss-dsi.txt | 6 | ||||
| -rw-r--r-- | Documentation/devicetree/bindings/fb/msm-hdmi-tx.txt | 6 | ||||
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_dsi.c | 9 | ||||
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_hdmi_tx.c | 11 |
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: |
