summaryrefslogtreecommitdiff
path: root/src/soc/nvidia/tegra132/power.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/nvidia/tegra132/power.c')
-rw-r--r--src/soc/nvidia/tegra132/power.c74
1 files changed, 0 insertions, 74 deletions
diff --git a/src/soc/nvidia/tegra132/power.c b/src/soc/nvidia/tegra132/power.c
deleted file mode 100644
index f41dd4bdb1..0000000000
--- a/src/soc/nvidia/tegra132/power.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * This file is part of the coreboot project.
- *
- * Copyright 2013 Google Inc.
- * Copyright (c) 2013, NVIDIA CORPORATION. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- */
-
-#include <arch/io.h>
-#include <assert.h>
-#include <console/console.h>
-#include <soc/addressmap.h>
-#include <soc/pmc.h>
-#include <soc/power.h>
-
-static struct tegra_pmc_regs * const pmc = (void *)TEGRA_PMC_BASE;
-
-static int partition_powered(int id)
-{
- return read32(&pmc->pwrgate_status) & (0x1 << id);
-}
-
-void power_ungate_partition(uint32_t id)
-{
- printk(BIOS_INFO, "Ungating power partition %d.\n", id);
-
- if (!partition_powered(id)) {
- uint32_t pwrgate_toggle = read32(&pmc->pwrgate_toggle);
- pwrgate_toggle &= ~(PMC_PWRGATE_TOGGLE_PARTID_MASK);
- pwrgate_toggle |= (id << PMC_PWRGATE_TOGGLE_PARTID_SHIFT);
- pwrgate_toggle |= PMC_PWRGATE_TOGGLE_START;
- write32(&pmc->pwrgate_toggle, pwrgate_toggle);
-
- /* Wait for the request to be accepted. */
- while (read32(&pmc->pwrgate_toggle) & PMC_PWRGATE_TOGGLE_START)
- ;
- printk(BIOS_DEBUG, "Power gate toggle request accepted.\n");
-
- /* Wait for the partition to be powered. */
- while (!partition_powered(id))
- ;
- }
-
- printk(BIOS_INFO, "Ungated power partition %d.\n", id);
-}
-
-uint8_t pmc_rst_status(void)
-{
- return read32(&pmc->rst_status) & PMC_RST_STATUS_SOURCE_MASK;
-}
-
-static const char *pmc_rst_status_str[PMC_RST_STATUS_NUM_SOURCES] = {
- [PMC_RST_STATUS_SOURCE_POR] = "POR",
- [PMC_RST_STATUS_SOURCE_WATCHDOG] = "Watchdog",
- [PMC_RST_STATUS_SOURCE_SENSOR] = "Sensor",
- [PMC_RST_STATUS_SOURCE_SW_MAIN] = "SW Main",
- [PMC_RST_STATUS_SOURCE_LP0] = "LP0",
-};
-
-void pmc_print_rst_status(void)
-{
- uint8_t rst_status = pmc_rst_status();
- assert(rst_status < PMC_RST_STATUS_NUM_SOURCES);
- printk(BIOS_INFO, "PMC Reset Status: %s\n",
- pmc_rst_status_str[rst_status]);
-}