Commit e17afdce authored by Archit Taneja's avatar Archit Taneja Committed by Rob Clark
Browse files

drm/msm/hdmi: HDMI 8996 PHY/PLL support



Add support for the HDMI PHY/PLL found in MSM8996/APQ8096.

Unlike the previous PHYs supported in the driver, this doesn't need
the powerup/powerdown ops. The PLL prepare/unprepare clock ops
enable/disable the phy itself.

Signed-off-by: default avatarArchit Taneja <architt@codeaurora.org>
Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
parent e9a2ce13
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -54,6 +54,7 @@ msm-y := \
msm-$(CONFIG_DRM_FBDEV_EMULATION) += msm_fbdev.o
msm-$(CONFIG_COMMON_CLK) += mdp/mdp4/mdp4_lvds_pll.o
msm-$(CONFIG_COMMON_CLK) += hdmi/hdmi_pll_8960.o
msm-$(CONFIG_COMMON_CLK) += hdmi/hdmi_phy_8996.o

msm-$(CONFIG_DRM_MSM_DSI) += dsi/dsi.o \
			mdp/mdp4/mdp4_dsi_encoder.o \
+8 −0
Original line number Diff line number Diff line
@@ -147,6 +147,7 @@ enum hdmi_phy_type {
	MSM_HDMI_PHY_8x60,
	MSM_HDMI_PHY_8960,
	MSM_HDMI_PHY_8x74,
	MSM_HDMI_PHY_8996,
	MSM_HDMI_PHY_MAX,
};

@@ -163,6 +164,7 @@ struct hdmi_phy_cfg {
extern const struct hdmi_phy_cfg hdmi_phy_8x60_cfg;
extern const struct hdmi_phy_cfg hdmi_phy_8960_cfg;
extern const struct hdmi_phy_cfg hdmi_phy_8x74_cfg;
extern const struct hdmi_phy_cfg hdmi_phy_8996_cfg;

struct hdmi_phy {
	struct platform_device *pdev;
@@ -192,11 +194,17 @@ void __exit hdmi_phy_driver_unregister(void);

#ifdef CONFIG_COMMON_CLK
int hdmi_pll_8960_init(struct platform_device *pdev);
int hdmi_pll_8996_init(struct platform_device *pdev);
#else
int hdmi_pll_8960_init(struct platform_device *pdev);
{
	return -ENODEV;
}

int hdmi_pll_8996_init(struct platform_device *pdev)
{
	return -ENODEV;
}
#endif

/*
+5 −0
Original line number Diff line number Diff line
@@ -127,6 +127,9 @@ static int hdmi_phy_pll_init(struct platform_device *pdev,
	case MSM_HDMI_PHY_8960:
		ret = hdmi_pll_8960_init(pdev);
		break;
	case MSM_HDMI_PHY_8996:
		ret = hdmi_pll_8996_init(pdev);
		break;
	/*
	 * we don't have PLL support for these, don't report an error for now
	 */
@@ -202,6 +205,8 @@ static const struct of_device_id hdmi_phy_dt_match[] = {
	  .data = &hdmi_phy_8x74_cfg },
	{ .compatible = "qcom,hdmi-phy-8084",
	  .data = &hdmi_phy_8x74_cfg },
	{ .compatible = "qcom,hdmi-phy-8996",
	  .data = &hdmi_phy_8996_cfg },
	{}
};

+766 −0

File added.

Preview size limit exceeded, changes collapsed.