gpu: nvgpu: Separate gm20b configuration

Separate gm20b platform data from gk20a data.

Change-Id: Ie90ebc9e06ba94dfe852dfe07c163cd00fd90a9c
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: http://git-master/r/396376
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Arto Merilainen <amerilainen@nvidia.com>
Reviewed-by: Bo Yan <byan@nvidia.com>
This commit is contained in:
Terje Bergstrom
2014-04-15 10:54:45 +03:00
committed by Dan Willemsen
parent 7a27ca81d2
commit f66cb9093d
3 changed files with 27 additions and 1 deletions

View File

@@ -929,7 +929,7 @@ static struct of_device_id tegra_gk20a_of_match[] = {
{ .compatible = "nvidia,tegra124-gk20a", { .compatible = "nvidia,tegra124-gk20a",
.data = &gk20a_tegra_platform }, .data = &gk20a_tegra_platform },
{ .compatible = "nvidia,tegra210-gm20b", { .compatible = "nvidia,tegra210-gm20b",
.data = &gk20a_tegra_platform }, .data = &gm20b_tegra_platform },
#endif #endif
{ .compatible = "nvidia,generic-gk20a", { .compatible = "nvidia,generic-gk20a",
.data = &gk20a_generic_platform }, .data = &gk20a_generic_platform },

View File

@@ -121,6 +121,7 @@ static inline struct gk20a_platform *gk20a_get_platform(
extern struct gk20a_platform gk20a_generic_platform; extern struct gk20a_platform gk20a_generic_platform;
#ifdef CONFIG_TEGRA_GK20A #ifdef CONFIG_TEGRA_GK20A
extern struct gk20a_platform gk20a_tegra_platform; extern struct gk20a_platform gk20a_tegra_platform;
extern struct gk20a_platform gm20b_tegra_platform;
#endif #endif
static inline bool gk20a_platform_has_syncpoints(struct platform_device *dev) static inline bool gk20a_platform_has_syncpoints(struct platform_device *dev)

View File

@@ -519,6 +519,31 @@ struct gk20a_platform gk20a_tegra_platform = {
.dump_platform_dependencies = gk20a_tegra_debug_dump, .dump_platform_dependencies = gk20a_tegra_debug_dump,
}; };
struct gk20a_platform gm20b_tegra_platform = {
.has_syncpoints = true,
/* power management configuration */
.railgate_delay = 500,
.clockgate_delay = 50,
.probe = gk20a_tegra_probe,
.late_probe = gk20a_tegra_late_probe,
/* power management callbacks */
.suspend = gk20a_tegra_suspend,
/* frequency scaling configuration */
.prescale = gk20a_tegra_prescale,
.postscale = gk20a_tegra_postscale,
.devfreq_governor = "nvhost_podgov",
.qos_id = PM_QOS_GPU_FREQ_MIN,
.channel_busy = gk20a_tegra_channel_busy,
.channel_idle = gk20a_tegra_channel_idle,
.secure_alloc = gk20a_tegra_secure_alloc,
.dump_platform_dependencies = gk20a_tegra_debug_dump,
};
struct platform_device tegra_gk20a_device = { struct platform_device tegra_gk20a_device = {
.name = "gk20a", .name = "gk20a",
.resource = gk20a_tegra_resources, .resource = gk20a_tegra_resources,