diff --git a/drivers/tegra/hwpm/include/tegra_hwpm.h b/drivers/tegra/hwpm/include/tegra_hwpm.h index 3e307a1..67eaa86 100644 --- a/drivers/tegra/hwpm/include/tegra_hwpm.h +++ b/drivers/tegra/hwpm/include/tegra_hwpm.h @@ -98,6 +98,11 @@ enum tegra_hwpm_ip_enum { TEGRA_HWPM_IP_PCIE_XTLQ, TEGRA_HWPM_IP_PCIE_XTLRC, TEGRA_HWPM_IP_PCIE_XALRC, + TEGRA_HWPM_IP_UCF_MSW, + TEGRA_HWPM_IP_UCF_PSW, + TEGRA_HWPM_IP_UCF_CSW, + TEGRA_HWPM_IP_UCF_HUB, + TEGRA_HWPM_IP_UCF_SCB, TERGA_HWPM_NUM_IPS }; @@ -141,6 +146,11 @@ enum tegra_hwpm_resource_enum { TEGRA_HWPM_RESOURCE_PCIE_XTLQ, TEGRA_HWPM_RESOURCE_PCIE_XTLRC, TEGRA_HWPM_RESOURCE_PCIE_XALRC, + TEGRA_HWPM_RESOURCE_UCF_MSW, + TEGRA_HWPM_RESOURCE_UCF_PSW, + TEGRA_HWPM_RESOURCE_UCF_CSW, + TEGRA_HWPM_RESOURCE_UCF_HUB, + TEGRA_HWPM_RESOURCE_UCF_SCB, TERGA_HWPM_NUM_RESOURCES }; diff --git a/drivers/tegra/hwpm/os/linux/ip_utils.c b/drivers/tegra/hwpm/os/linux/ip_utils.c index b33bab4..de2e39e 100644 --- a/drivers/tegra/hwpm/os/linux/ip_utils.c +++ b/drivers/tegra/hwpm/os/linux/ip_utils.c @@ -129,6 +129,21 @@ static u32 tegra_hwpm_translate_soc_hwpm_ip(struct tegra_soc_hwpm *hwpm, case TEGRA_SOC_HWPM_IP_PCIE_XALRC: ip_enum_idx = TEGRA_HWPM_IP_PCIE_XALRC; break; + case TEGRA_SOC_HWPM_IP_UCF_MSW: + ip_enum_idx = TEGRA_HWPM_IP_UCF_MSW; + break; + case TEGRA_SOC_HWPM_IP_UCF_PSW: + ip_enum_idx = TEGRA_HWPM_IP_UCF_PSW; + break; + case TEGRA_SOC_HWPM_IP_UCF_CSW: + ip_enum_idx = TEGRA_HWPM_IP_UCF_CSW; + break; + case TEGRA_SOC_HWPM_IP_UCF_HUB: + ip_enum_idx = TEGRA_HWPM_IP_UCF_HUB; + break; + case TEGRA_SOC_HWPM_IP_UCF_SCB: + ip_enum_idx = TEGRA_HWPM_IP_UCF_SCB; + break; default: tegra_hwpm_err(hwpm, "Queried enum tegra_soc_hwpm_ip %d is invalid", @@ -276,6 +291,21 @@ u32 tegra_hwpm_translate_soc_hwpm_resource(struct tegra_soc_hwpm *hwpm, case TEGRA_SOC_HWPM_RESOURCE_PCIE_XALRC: res_enum_idx = TEGRA_HWPM_RESOURCE_PCIE_XALRC; break; + case TEGRA_SOC_HWPM_RESOURCE_UCF_MSW: + res_enum_idx = TEGRA_HWPM_RESOURCE_UCF_MSW; + break; + case TEGRA_SOC_HWPM_RESOURCE_UCF_PSW: + res_enum_idx = TEGRA_HWPM_RESOURCE_UCF_PSW; + break; + case TEGRA_SOC_HWPM_RESOURCE_UCF_CSW: + res_enum_idx = TEGRA_HWPM_RESOURCE_UCF_CSW; + break; + case TEGRA_SOC_HWPM_RESOURCE_UCF_HUB: + res_enum_idx = TEGRA_HWPM_RESOURCE_UCF_HUB; + break; + case TEGRA_SOC_HWPM_RESOURCE_UCF_SCB: + res_enum_idx = TEGRA_HWPM_RESOURCE_UCF_SCB; + break; default: tegra_hwpm_err(hwpm, "Queried enum tegra_soc_hwpm_resource %d is invalid", diff --git a/include/uapi/linux/tegra-soc-hwpm-uapi.h b/include/uapi/linux/tegra-soc-hwpm-uapi.h index f1695f9..f18938b 100644 --- a/include/uapi/linux/tegra-soc-hwpm-uapi.h +++ b/include/uapi/linux/tegra-soc-hwpm-uapi.h @@ -56,6 +56,11 @@ enum tegra_soc_hwpm_ip { TEGRA_SOC_HWPM_IP_PCIE_XTLQ, TEGRA_SOC_HWPM_IP_PCIE_XTLRC, TEGRA_SOC_HWPM_IP_PCIE_XALRC, + TEGRA_SOC_HWPM_IP_UCF_MSW, + TEGRA_SOC_HWPM_IP_UCF_PSW, + TEGRA_SOC_HWPM_IP_UCF_CSW, + TEGRA_SOC_HWPM_IP_UCF_HUB, + TEGRA_SOC_HWPM_IP_UCF_SCB, TERGA_SOC_HWPM_NUM_IPS }; @@ -137,6 +142,11 @@ enum tegra_soc_hwpm_resource { TEGRA_SOC_HWPM_RESOURCE_PCIE_XTLQ, TEGRA_SOC_HWPM_RESOURCE_PCIE_XTLRC, TEGRA_SOC_HWPM_RESOURCE_PCIE_XALRC, + TEGRA_SOC_HWPM_RESOURCE_UCF_MSW, + TEGRA_SOC_HWPM_RESOURCE_UCF_PSW, + TEGRA_SOC_HWPM_RESOURCE_UCF_CSW, + TEGRA_SOC_HWPM_RESOURCE_UCF_HUB, + TEGRA_SOC_HWPM_RESOURCE_UCF_SCB, TERGA_SOC_HWPM_NUM_RESOURCES };