Commit 7cffae42 authored by Thierry Reding's avatar Thierry Reding Committed by Joerg Roedel

iommu: tegra/gart: Add device tree support

This commit adds device tree support for the GART hardware available on
NVIDIA Tegra 20 SoCs.
Signed-off-by: default avatarThierry Reding <thierry.reding@avionic-design.de>
Acked-by: default avatarStephen Warren <swarren@wwwdotorg.org>
Signed-off-by: default avatarJoerg Roedel <joerg.roedel@amd.com>
parent 543f3f33
NVIDIA Tegra 20 GART
Required properties:
- compatible: "nvidia,tegra20-gart"
- reg: Two pairs of cells specifying the physical address and size of
the memory controller registers and the GART aperture respectively.
Example:
gart: gart@7000f000 {
compatible = "nvidia,tegra20-gart";
reg = < 0x7000f000 0x00000100 /* controller registers */
0x58000000 0x02000000 >; /* GART aperture */
};
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
#include <linux/device.h> #include <linux/device.h>
#include <linux/io.h> #include <linux/io.h>
#include <linux/iommu.h> #include <linux/iommu.h>
#include <linux/of.h>
#include <asm/cacheflush.h> #include <asm/cacheflush.h>
...@@ -422,6 +423,14 @@ const struct dev_pm_ops tegra_gart_pm_ops = { ...@@ -422,6 +423,14 @@ const struct dev_pm_ops tegra_gart_pm_ops = {
.resume = tegra_gart_resume, .resume = tegra_gart_resume,
}; };
#ifdef CONFIG_OF
static struct of_device_id tegra_gart_of_match[] __devinitdata = {
{ .compatible = "nvidia,tegra20-gart", },
{ },
};
MODULE_DEVICE_TABLE(of, tegra_gart_of_match);
#endif
static struct platform_driver tegra_gart_driver = { static struct platform_driver tegra_gart_driver = {
.probe = tegra_gart_probe, .probe = tegra_gart_probe,
.remove = tegra_gart_remove, .remove = tegra_gart_remove,
...@@ -429,6 +438,7 @@ static struct platform_driver tegra_gart_driver = { ...@@ -429,6 +438,7 @@ static struct platform_driver tegra_gart_driver = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
.name = "tegra-gart", .name = "tegra-gart",
.pm = &tegra_gart_pm_ops, .pm = &tegra_gart_pm_ops,
.of_match_table = of_match_ptr(tegra_gart_of_match),
}, },
}; };
...@@ -448,4 +458,5 @@ module_exit(tegra_gart_exit); ...@@ -448,4 +458,5 @@ module_exit(tegra_gart_exit);
MODULE_DESCRIPTION("IOMMU API for GART in Tegra20"); MODULE_DESCRIPTION("IOMMU API for GART in Tegra20");
MODULE_AUTHOR("Hiroshi DOYU <hdoyu@nvidia.com>"); MODULE_AUTHOR("Hiroshi DOYU <hdoyu@nvidia.com>");
MODULE_ALIAS("platform:tegra-gart");
MODULE_LICENSE("GPL v2"); MODULE_LICENSE("GPL v2");
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment