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

Commit 0afbe59e authored by Stephane Viau's avatar Stephane Viau Committed by Rob Clark
Browse files

drm/msm/hdmi: Add basic HDMI support for msm8996



The HDMI controller is new in MDP5 v1.7. As of now, this change
doesn't reflect the novelty and only adds the basics so the probe
gets triggered.

Signed-off-by: default avatarStephane Viau <sviau@codeaurora.org>
Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
parent d40325b4
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@ Qualcomm adreno/snapdragon hdmi output

Required properties:
- compatible: one of the following
   * "qcom,hdmi-tx-8996"
   * "qcom,hdmi-tx-8994"
   * "qcom,hdmi-tx-8084"
   * "qcom,hdmi-tx-8974"
@@ -21,6 +22,7 @@ Required properties:
Optional properties:
- qcom,hdmi-tx-mux-en-gpio: hdmi mux enable pin
- qcom,hdmi-tx-mux-sel-gpio: hdmi mux select pin
- power-domains: reference to the power domain(s), if available.
- pinctrl-names: the pin control state names; should contain "default"
- pinctrl-0: the default pinctrl state (active)
- pinctrl-1: the "sleep" pinctrl state
@@ -35,6 +37,7 @@ Example:
		reg-names = "core_physical";
		reg = <0x04a00000 0x1000>;
		interrupts = <GIC_SPI 79 0>;
		power-domains = <&mmcc MDSS_GDSC>;
		clock-names =
		    "core_clk",
		    "master_iface_clk",
+14 −3
Original line number Diff line number Diff line
@@ -328,6 +328,9 @@ int hdmi_modeset_init(struct hdmi *hdmi,
	.item ## _names = item ##_names_ ## entry, \
	.item ## _cnt   = ARRAY_SIZE(item ## _names_ ## entry)

static const char *pwr_reg_names_none[] = {};
static const char *hpd_reg_names_none[] = {};

static struct hdmi_platform_config hdmi_tx_8660_config = {
		.phy_init = hdmi_phy_8x60_init,
};
@@ -367,18 +370,26 @@ static struct hdmi_platform_config hdmi_tx_8084_config = {
		.hpd_freq      = hpd_clk_freq_8x74,
};

static const char *hpd_reg_names_8x94[] = {};

static struct hdmi_platform_config hdmi_tx_8994_config = {
		.phy_init = NULL, /* nothing to do for this HDMI PHY 20nm */
		HDMI_CFG(pwr_reg, 8x74),
		HDMI_CFG(hpd_reg, 8x94),
		HDMI_CFG(hpd_reg, none),
		HDMI_CFG(pwr_clk, 8x74),
		HDMI_CFG(hpd_clk, 8x74),
		.hpd_freq      = hpd_clk_freq_8x74,
};

static struct hdmi_platform_config hdmi_tx_8996_config = {
		.phy_init = NULL,
		HDMI_CFG(pwr_reg, none),
		HDMI_CFG(hpd_reg, none),
		HDMI_CFG(pwr_clk, 8x74),
		HDMI_CFG(hpd_clk, 8x74),
		.hpd_freq      = hpd_clk_freq_8x74,
};

static const struct of_device_id dt_match[] = {
	{ .compatible = "qcom,hdmi-tx-8996", .data = &hdmi_tx_8996_config },
	{ .compatible = "qcom,hdmi-tx-8994", .data = &hdmi_tx_8994_config },
	{ .compatible = "qcom,hdmi-tx-8084", .data = &hdmi_tx_8084_config },
	{ .compatible = "qcom,hdmi-tx-8974", .data = &hdmi_tx_8974_config },