|
@@ -199,7 +199,9 @@ int __init tegra_powergate_init(void)
|
|
|
|
|
|
#ifdef CONFIG_DEBUG_FS
|
|
|
|
|
|
-static const char * const powergate_name[] = {
|
|
|
+static const char * const *powergate_name;
|
|
|
+
|
|
|
+static const char * const powergate_name_t20[] = {
|
|
|
[TEGRA_POWERGATE_CPU] = "cpu",
|
|
|
[TEGRA_POWERGATE_3D] = "3d",
|
|
|
[TEGRA_POWERGATE_VENC] = "venc",
|
|
@@ -209,6 +211,23 @@ static const char * const powergate_name[] = {
|
|
|
[TEGRA_POWERGATE_MPE] = "mpe",
|
|
|
};
|
|
|
|
|
|
+static const char * const powergate_name_t30[] = {
|
|
|
+ [TEGRA_POWERGATE_CPU] = "cpu0",
|
|
|
+ [TEGRA_POWERGATE_3D] = "3d0",
|
|
|
+ [TEGRA_POWERGATE_VENC] = "venc",
|
|
|
+ [TEGRA_POWERGATE_VDEC] = "vdec",
|
|
|
+ [TEGRA_POWERGATE_PCIE] = "pcie",
|
|
|
+ [TEGRA_POWERGATE_L2] = "l2",
|
|
|
+ [TEGRA_POWERGATE_MPE] = "mpe",
|
|
|
+ [TEGRA_POWERGATE_HEG] = "heg",
|
|
|
+ [TEGRA_POWERGATE_SATA] = "sata",
|
|
|
+ [TEGRA_POWERGATE_CPU1] = "cpu1",
|
|
|
+ [TEGRA_POWERGATE_CPU2] = "cpu2",
|
|
|
+ [TEGRA_POWERGATE_CPU3] = "cpu3",
|
|
|
+ [TEGRA_POWERGATE_CELP] = "celp",
|
|
|
+ [TEGRA_POWERGATE_3D1] = "3d1",
|
|
|
+};
|
|
|
+
|
|
|
static int powergate_show(struct seq_file *s, void *data)
|
|
|
{
|
|
|
int i;
|
|
@@ -237,14 +256,24 @@ static const struct file_operations powergate_fops = {
|
|
|
int __init tegra_powergate_debugfs_init(void)
|
|
|
{
|
|
|
struct dentry *d;
|
|
|
- int err = -ENOMEM;
|
|
|
|
|
|
- d = debugfs_create_file("powergate", S_IRUGO, NULL, NULL,
|
|
|
- &powergate_fops);
|
|
|
- if (!d)
|
|
|
- return -ENOMEM;
|
|
|
+ switch (tegra_chip_id) {
|
|
|
+ case TEGRA20:
|
|
|
+ powergate_name = powergate_name_t20;
|
|
|
+ break;
|
|
|
+ case TEGRA30:
|
|
|
+ powergate_name = powergate_name_t30;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (powergate_name) {
|
|
|
+ d = debugfs_create_file("powergate", S_IRUGO, NULL, NULL,
|
|
|
+ &powergate_fops);
|
|
|
+ if (!d)
|
|
|
+ return -ENOMEM;
|
|
|
+ }
|
|
|
|
|
|
- return err;
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
#endif
|