OSDN Git Service

drm/nouveau/tegra: merge platform setup from nouveau drm
[uclinux-h8/linux.git] / drivers / gpu / drm / nouveau / include / nvkm / core / tegra.h
1 #ifndef __NVKM_DEVICE_TEGRA_H__
2 #define __NVKM_DEVICE_TEGRA_H__
3 #include <core/device.h>
4 #include <core/mm.h>
5
6 struct nvkm_device_tegra {
7         struct nvkm_device device;
8         struct platform_device *pdev;
9         int irq;
10
11         struct reset_control *rst;
12         struct clk *clk;
13         struct clk *clk_pwr;
14
15         struct regulator *vdd;
16
17         struct {
18                 /*
19                  * Protects accesses to mm from subsystems
20                  */
21                 struct mutex mutex;
22
23                 struct nvkm_mm mm;
24                 struct iommu_domain *domain;
25                 unsigned long pgshift;
26         } iommu;
27
28         int gpu_speedo;
29 };
30
31 int nvkm_device_tegra_new(struct platform_device *,
32                           const char *cfg, const char *dbg,
33                           bool detect, bool mmio, u64 subdev_mask,
34                           struct nvkm_device **);
35 #endif