On Fri, 14 Mar 2014 14:39:33 +0100, Tomasz Figa wrote:
@@ -557,11 +558,23 @@ static int exynos_sysmmu_probe(struct platform_device *pdev)
return 0;
}
-static struct platform_driver exynos_sysmmu_driver = {
- .probe = exynos_sysmmu_probe,
- .driver = {
+#ifdef CONFIG_OF
+static struct of_device_id sysmmu_of_match[] __initconst = {
+ { .compatible = "samsung,sysmmu-v1", },
+ { .compatible = "samsung,sysmmu-v2", },
+ { .compatible = "samsung,sysmmu-v3.1", },
+ { .compatible = "samsung,sysmmu-v3.2", },
+ { .compatible = "samsung,sysmmu-v3.3", },
Do you need all these compatible strings? I mean, are there any
implementation differences that can't be identified by reading IP
registers, such as REG_MMU_VERSION?
Unfortunately, there is a SoC which overrides REG_MMU_VERSION with
a value for RTL designers and it is not related to System MMU
versions.