diff options
author | Thierry Reding <treding@nvidia.com> | 2018-09-19 18:41:59 +0200 |
---|---|---|
committer | Thierry Reding <treding@nvidia.com> | 2018-11-28 17:32:20 +0100 |
commit | e59333c83fe9e7cb35f60522848408c20958044a (patch) | |
tree | 0f619fc98dde4c12e0f44cc0a7c912c522a1f979 /drivers/soc | |
parent | 19906e6b16672178959c4f3e1345c46ed33f83ac (diff) | |
download | linux-e59333c83fe9e7cb35f60522848408c20958044a.tar.gz linux-e59333c83fe9e7cb35f60522848408c20958044a.tar.bz2 linux-e59333c83fe9e7cb35f60522848408c20958044a.zip |
soc/tegra: pmc: Add initial Tegra186 wake events
Tegra186 support 96 wake events in total. Many of them are never used,
so only the most common ones (RTC alarm and power key) are currently
defined.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Diffstat (limited to 'drivers/soc')
-rw-r--r-- | drivers/soc/tegra/pmc.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/soc/tegra/pmc.c b/drivers/soc/tegra/pmc.c index dffc49c3572f..d6ec2e5b906e 100644 --- a/drivers/soc/tegra/pmc.c +++ b/drivers/soc/tegra/pmc.c @@ -54,6 +54,7 @@ #include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/pinctrl/pinctrl-tegra-io-pad.h> +#include <dt-bindings/gpio/tegra186-gpio.h> #define PMC_CNTRL 0x0 #define PMC_CNTRL_INTR_POLARITY BIT(17) /* inverts INTR polarity */ @@ -2437,6 +2438,11 @@ static void tegra186_pmc_setup_irq_polarity(struct tegra_pmc *pmc, iounmap(wake); } +static const struct tegra_wake_event tegra186_wake_events[] = { + TEGRA_WAKE_GPIO("power", 29, 1, TEGRA_AON_GPIO(FF, 0)), + TEGRA_WAKE_IRQ("rtc", 73, 10), +}; + static const struct tegra_pmc_soc tegra186_pmc_soc = { .num_powergates = 0, .powergates = NULL, @@ -2456,6 +2462,8 @@ static const struct tegra_pmc_soc tegra186_pmc_soc = { .num_reset_sources = 14, .reset_levels = tegra186_reset_levels, .num_reset_levels = 3, + .num_wake_events = ARRAY_SIZE(tegra186_wake_events), + .wake_events = tegra186_wake_events, }; static const struct tegra_io_pad_soc tegra194_io_pads[] = { |