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

Commit 40cd6604 authored by Vinu Deokaran's avatar Vinu Deokaran Committed by Matt Wagantall
Browse files

clk: qcom: mdss: add support for HDMI pll on thulium



Added support for new HDMI pll present on thulium. Implemented dynamic
calculator for pll settings.

Change-Id: Ib0b728d9ffb44b753657292e387ee7b44e854122
Signed-off-by: default avatarVinu Deokaran <vinud@codeaurora.org>
parent 6c074bb4
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -10,7 +10,8 @@ Required properties:
			"qcom,mdss_dsi_pll_8974", "qcom,mdss_dsi_pll_8994",
			"qcom,mdss_dsi_pll_8994", "qcom,mdss_dsi_pll_8909",
			"qcom,mdss_hdmi_pll", "qcom,mdss_hdmi_pll_8994",
			"qcom,mdss_dsi_pll_8992", "qcom,mdss_hdmi_pll_8992"
			"qcom,mdss_dsi_pll_8992", "qcom,mdss_hdmi_pll_8992",
			"qcom,mdss_hdmi_pll_thulium"
- cell-index:		Specifies the controller used
- reg:			offset and length of the register set for the device.
- reg-names :		names to refer to register sets related to this device
+1 −0
Original line number Diff line number Diff line
@@ -7,3 +7,4 @@ obj-$(CONFIG_MSM_MDSS_PLL) += mdss-dsi-pll-20nm.o
obj-$(CONFIG_MSM_MDSS_PLL) += mdss-edp-pll-28hpm.o
obj-$(CONFIG_MSM_MDSS_PLL) += mdss-hdmi-pll-28hpm.o
obj-$(CONFIG_MSM_MDSS_PLL) += mdss-hdmi-pll-20nm.o
obj-$(CONFIG_MSM_MDSS_PLL) += mdss-hdmi-pll-14nm.o
+1642 −0

File added.

Preview size limit exceeded, changes collapsed.

+4 −1
Original line number Diff line number Diff line
/* Copyright (c) 2012-2014, The Linux Foundation. All rights reserved.
/* Copyright (c) 2012-2015, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -38,4 +38,7 @@ int hdmi_pll_clock_register(struct platform_device *pdev,

int hdmi_20nm_pll_clock_register(struct platform_device *pdev,
				struct mdss_pll_resources *pll_res);

int hdmi_14nm_pll_clock_register(struct platform_device *pdev,
				 struct mdss_pll_resources *pll_res);
#endif
+7 −1
Original line number Diff line number Diff line
/* Copyright (c) 2013-2014, The Linux Foundation. All rights reserved.
/* Copyright (c) 2013-2015, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -153,6 +153,8 @@ static int mdss_pll_resource_parse(struct platform_device *pdev,
		pll_res->pll_interface_type = MDSS_HDMI_PLL_20NM;
	} else if (!strcmp(compatible_stream, "qcom,mdss_hdmi_pll_8992")) {
		pll_res->pll_interface_type = MDSS_HDMI_PLL_20NM;
	} else if (!strcmp(compatible_stream, "qcom,mdss_hdmi_pll_thulium")) {
		pll_res->pll_interface_type = MDSS_HDMI_PLL_14NM;
	} else {
		goto err;
	}
@@ -193,6 +195,9 @@ static int mdss_pll_clock_register(struct platform_device *pdev,
	case MDSS_HDMI_PLL_20NM:
		rc = hdmi_20nm_pll_clock_register(pdev, pll_res);
		break;
	case MDSS_HDMI_PLL_14NM:
		rc = hdmi_14nm_pll_clock_register(pdev, pll_res);
		break;
	case MDSS_UNKNOWN_PLL:
	default:
		rc = -EINVAL;
@@ -394,6 +399,7 @@ static const struct of_device_id mdss_pll_dt_match[] = {
	{.compatible = "qcom,mdss_hdmi_pll_8994"},
	{.compatible = "qcom,mdss_dsi_pll_8992"},
	{.compatible = "qcom,mdss_hdmi_pll_8992"},
	{.compatible = "qcom,mdss_hdmi_pll_thulium"},
	{.compatible = "qcom,mdss_dsi_pll_8916"},
	{.compatible = "qcom,mdss_dsi_pll_8939"},
	{.compatible = "qcom,mdss_dsi_pll_8909"},
Loading