[PATCH v11 13/27] iommu/exynos: support for device tree
Tomasz Figa
t.figa at samsung.com
Tue Mar 18 11:25:11 EDT 2014
On 18.03.2014 11:52, Cho KyongHo wrote:
> 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.
OK.
What about having a generic compatible string for Samsung SysMMU then,
but an additional property that can override the version to account for
such brokenness? If not provided, the version would be read from
REG_MMU_VERSION.
Best regards,
Tomasz
More information about the linux-arm-kernel
mailing list