diff options
-rw-r--r-- | drivers/soc/tegra/pmc.c | 48 | ||||
-rw-r--r-- | include/soc/tegra/pmc.h | 5 |
2 files changed, 53 insertions, 0 deletions
diff --git a/drivers/soc/tegra/pmc.c b/drivers/soc/tegra/pmc.c index 84da174bedec..0748174ed4e4 100644 --- a/drivers/soc/tegra/pmc.c +++ b/drivers/soc/tegra/pmc.c | |||
@@ -1004,7 +1004,55 @@ static const struct tegra_pmc_soc tegra124_pmc_soc = { | |||
1004 | .has_gpu_clamps = true, | 1004 | .has_gpu_clamps = true, |
1005 | }; | 1005 | }; |
1006 | 1006 | ||
1007 | static const char * const tegra210_powergates[] = { | ||
1008 | [TEGRA_POWERGATE_CPU] = "crail", | ||
1009 | [TEGRA_POWERGATE_3D] = "3d", | ||
1010 | [TEGRA_POWERGATE_VENC] = "venc", | ||
1011 | [TEGRA_POWERGATE_PCIE] = "pcie", | ||
1012 | [TEGRA_POWERGATE_L2] = "l2", | ||
1013 | [TEGRA_POWERGATE_MPE] = "mpe", | ||
1014 | [TEGRA_POWERGATE_HEG] = "heg", | ||
1015 | [TEGRA_POWERGATE_SATA] = "sata", | ||
1016 | [TEGRA_POWERGATE_CPU1] = "cpu1", | ||
1017 | [TEGRA_POWERGATE_CPU2] = "cpu2", | ||
1018 | [TEGRA_POWERGATE_CPU3] = "cpu3", | ||
1019 | [TEGRA_POWERGATE_CELP] = "celp", | ||
1020 | [TEGRA_POWERGATE_CPU0] = "cpu0", | ||
1021 | [TEGRA_POWERGATE_C0NC] = "c0nc", | ||
1022 | [TEGRA_POWERGATE_C1NC] = "c1nc", | ||
1023 | [TEGRA_POWERGATE_SOR] = "sor", | ||
1024 | [TEGRA_POWERGATE_DIS] = "dis", | ||
1025 | [TEGRA_POWERGATE_DISB] = "disb", | ||
1026 | [TEGRA_POWERGATE_XUSBA] = "xusba", | ||
1027 | [TEGRA_POWERGATE_XUSBB] = "xusbb", | ||
1028 | [TEGRA_POWERGATE_XUSBC] = "xusbc", | ||
1029 | [TEGRA_POWERGATE_VIC] = "vic", | ||
1030 | [TEGRA_POWERGATE_IRAM] = "iram", | ||
1031 | [TEGRA_POWERGATE_NVDEC] = "nvdec", | ||
1032 | [TEGRA_POWERGATE_NVJPG] = "nvjpg", | ||
1033 | [TEGRA_POWERGATE_AUD] = "aud", | ||
1034 | [TEGRA_POWERGATE_DFD] = "dfd", | ||
1035 | [TEGRA_POWERGATE_VE2] = "ve2", | ||
1036 | }; | ||
1037 | |||
1038 | static const u8 tegra210_cpu_powergates[] = { | ||
1039 | TEGRA_POWERGATE_CPU0, | ||
1040 | TEGRA_POWERGATE_CPU1, | ||
1041 | TEGRA_POWERGATE_CPU2, | ||
1042 | TEGRA_POWERGATE_CPU3, | ||
1043 | }; | ||
1044 | |||
1045 | static const struct tegra_pmc_soc tegra210_pmc_soc = { | ||
1046 | .num_powergates = ARRAY_SIZE(tegra210_powergates), | ||
1047 | .powergates = tegra210_powergates, | ||
1048 | .num_cpu_powergates = ARRAY_SIZE(tegra210_cpu_powergates), | ||
1049 | .cpu_powergates = tegra210_cpu_powergates, | ||
1050 | .has_tsense_reset = true, | ||
1051 | .has_gpu_clamps = true, | ||
1052 | }; | ||
1053 | |||
1007 | static const struct of_device_id tegra_pmc_match[] = { | 1054 | static const struct of_device_id tegra_pmc_match[] = { |
1055 | { .compatible = "nvidia,tegra210-pmc", .data = &tegra210_pmc_soc }, | ||
1008 | { .compatible = "nvidia,tegra132-pmc", .data = &tegra124_pmc_soc }, | 1056 | { .compatible = "nvidia,tegra132-pmc", .data = &tegra124_pmc_soc }, |
1009 | { .compatible = "nvidia,tegra124-pmc", .data = &tegra124_pmc_soc }, | 1057 | { .compatible = "nvidia,tegra124-pmc", .data = &tegra124_pmc_soc }, |
1010 | { .compatible = "nvidia,tegra114-pmc", .data = &tegra114_pmc_soc }, | 1058 | { .compatible = "nvidia,tegra114-pmc", .data = &tegra114_pmc_soc }, |
diff --git a/include/soc/tegra/pmc.h b/include/soc/tegra/pmc.h index f5c0de43a5fa..d18efe402ff1 100644 --- a/include/soc/tegra/pmc.h +++ b/include/soc/tegra/pmc.h | |||
@@ -67,6 +67,11 @@ int tegra_pmc_cpu_remove_clamping(int cpuid); | |||
67 | #define TEGRA_POWERGATE_XUSBC 22 | 67 | #define TEGRA_POWERGATE_XUSBC 22 |
68 | #define TEGRA_POWERGATE_VIC 23 | 68 | #define TEGRA_POWERGATE_VIC 23 |
69 | #define TEGRA_POWERGATE_IRAM 24 | 69 | #define TEGRA_POWERGATE_IRAM 24 |
70 | #define TEGRA_POWERGATE_NVDEC 25 | ||
71 | #define TEGRA_POWERGATE_NVJPG 26 | ||
72 | #define TEGRA_POWERGATE_AUD 27 | ||
73 | #define TEGRA_POWERGATE_DFD 28 | ||
74 | #define TEGRA_POWERGATE_VE2 29 | ||
70 | 75 | ||
71 | #define TEGRA_POWERGATE_3D0 TEGRA_POWERGATE_3D | 76 | #define TEGRA_POWERGATE_3D0 TEGRA_POWERGATE_3D |
72 | 77 | ||