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

Commit cf9a2438 authored by Daniel Kurtz's avatar Daniel Kurtz Committed by Rafael J. Wysocki
Browse files

cpufreq: mediatek: Add support for MT8176 and MT817x



The Mediatek MT8173 is just one of several SOCs from the same MT817x
family, including the 6-core (4-little/2-big) MT8176.

The mt8173-cpufreq driver supports all of these SOCs, however,
machines using them may use a different machine compatible.

Since this driver checks explicitly for the machine compatible
string, add support for the whole family.

Signed-off-by: default avatarDaniel Kurtz <djkurtz@chromium.org>
Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 08a74cbb
Loading
Loading
Loading
Loading
+20 −1
Original line number Original line Diff line number Diff line
@@ -573,14 +573,33 @@ static struct platform_driver mt8173_cpufreq_platdrv = {
	.probe		= mt8173_cpufreq_probe,
	.probe		= mt8173_cpufreq_probe,
};
};


/* List of machines supported by this driver */
static const struct of_device_id mt8173_cpufreq_machines[] __initconst = {
	{ .compatible = "mediatek,mt817x", },
	{ .compatible = "mediatek,mt8173", },
	{ .compatible = "mediatek,mt8176", },

	{ }
};

static int __init mt8173_cpufreq_driver_init(void)
static int __init mt8173_cpufreq_driver_init(void)
{
{
	struct device_node *np;
	const struct of_device_id *match;
	struct platform_device *pdev;
	struct platform_device *pdev;
	int err;
	int err;


	if (!of_machine_is_compatible("mediatek,mt8173"))
	np = of_find_node_by_path("/");
	if (!np)
		return -ENODEV;
		return -ENODEV;


	match = of_match_node(mt8173_cpufreq_machines, np);
	of_node_put(np);
	if (!match) {
		pr_warn("Machine is not compatible with mt8173-cpufreq\n");
		return -ENODEV;
	}

	err = platform_driver_register(&mt8173_cpufreq_platdrv);
	err = platform_driver_register(&mt8173_cpufreq_platdrv);
	if (err)
	if (err)
		return err;
		return err;