]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commitdiff
soc/tegra: pmc: Add initial Tegra194 wake events
authorThierry Reding <treding@nvidia.com>
Wed, 19 Sep 2018 16:42:37 +0000 (18:42 +0200)
committerThierry Reding <treding@nvidia.com>
Wed, 28 Nov 2018 16:32:28 +0000 (17:32 +0100)
Tegra194 supports 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>
drivers/soc/tegra/pmc.c

index d6ec2e5b906e0b3e704cdc821be94b313c43eb43..8c46b0aace0b2132dc5eb3890802d1131112f6a8 100644 (file)
@@ -55,6 +55,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>
+#include <dt-bindings/gpio/tegra194-gpio.h>
 
 #define PMC_CNTRL                      0x0
 #define  PMC_CNTRL_INTR_POLARITY       BIT(17) /* inverts INTR polarity */
@@ -2516,6 +2517,11 @@ static const struct tegra_io_pad_soc tegra194_io_pads[] = {
        { .id = TEGRA_IO_PAD_AUDIO_HV, .dpd = 61, .voltage = UINT_MAX },
 };
 
+static const struct tegra_wake_event tegra194_wake_events[] = {
+       TEGRA_WAKE_GPIO("power", 29, 1, TEGRA194_AON_GPIO(EE, 4)),
+       TEGRA_WAKE_IRQ("rtc", 73, 10),
+};
+
 static const struct tegra_pmc_soc tegra194_pmc_soc = {
        .num_powergates = 0,
        .powergates = NULL,
@@ -2528,6 +2534,8 @@ static const struct tegra_pmc_soc tegra194_pmc_soc = {
        .regs = &tegra186_pmc_regs,
        .init = NULL,
        .setup_irq_polarity = tegra186_pmc_setup_irq_polarity,
+       .num_wake_events = ARRAY_SIZE(tegra194_wake_events),
+       .wake_events = tegra194_wake_events,
 };
 
 static const struct of_device_id tegra_pmc_match[] = {