summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-tegra/board-ardbeg.c2
-rw-r--r--arch/arm/mach-tegra/board-dalmore.c2
-rw-r--r--arch/arm/mach-tegra/board-loki.c2
-rw-r--r--arch/arm/mach-tegra/board-macallan.c2
-rw-r--r--arch/arm/mach-tegra/board-pismo.c2
-rw-r--r--arch/arm/mach-tegra/cpuidle-t11x.c2
-rw-r--r--arch/arm/mach-tegra/cpuidle-t14x.c2
-rw-r--r--arch/arm/mach-tegra/cpuidle-t2.c4
-rw-r--r--arch/arm/mach-tegra/cpuidle-t3.c4
-rw-r--r--arch/arm/mach-tegra/fiq.c2
-rw-r--r--arch/arm/mach-tegra/gic.c4
-rw-r--r--arch/arm/mach-tegra/gic.h49
-rw-r--r--arch/arm/mach-tegra/hotplug.c4
-rw-r--r--arch/arm/mach-tegra/include/mach/fiq.h25
-rw-r--r--arch/arm/mach-tegra/include/mach/legacy_irq.h26
-rw-r--r--arch/arm/mach-tegra/irq.c5
-rw-r--r--arch/arm/mach-tegra/pm-irq.c2
-rw-r--r--arch/arm/mach-tegra/pm.c3
-rw-r--r--arch/arm/mach-tegra/tegra_wakeup_monitor.c2
-rw-r--r--arch/arm/mach-tegra/wakeups-t11x.c2
-rw-r--r--drivers/gpio/gpio-tegra.c5
-rw-r--r--drivers/media/platform/tegra/nvavp/nvavp_dev.c2
-rw-r--r--include/linux/irqchip/tegra.h (renamed from arch/arm/mach-tegra/pm-irq.h)75
23 files changed, 73 insertions, 155 deletions
diff --git a/arch/arm/mach-tegra/board-ardbeg.c b/arch/arm/mach-tegra/board-ardbeg.c
index 92fe38b39d32..7cffe0ad1824 100644
--- a/arch/arm/mach-tegra/board-ardbeg.c
+++ b/arch/arm/mach-tegra/board-ardbeg.c
@@ -74,6 +74,7 @@
#include <mach/xusb.h>
#include <linux/platform_data/tegra_usb_modem_power.h>
#include <linux/platform_data/tegra_ahci.h>
+#include <linux/irqchip/tegra.h>
#include "board.h"
#include "board-ardbeg.h"
@@ -86,7 +87,6 @@
#include "gpio-names.h"
#include "iomap.h"
#include "pm.h"
-#include "pm-irq.h"
#include "tegra-board-id.h"
static struct board_info board_info, display_board_info;
diff --git a/arch/arm/mach-tegra/board-dalmore.c b/arch/arm/mach-tegra/board-dalmore.c
index 5709f33e4b6b..edb198d54963 100644
--- a/arch/arm/mach-tegra/board-dalmore.c
+++ b/arch/arm/mach-tegra/board-dalmore.c
@@ -50,6 +50,7 @@
#include <linux/usb/tegra_usb_phy.h>
#include <linux/clk/tegra.h>
#include <linux/clocksource.h>
+#include <linux/irqchip/tegra.h>
#include <mach/irqs.h>
#include <mach/pinmux.h>
@@ -75,7 +76,6 @@
#include "fuse.h"
#include "iomap.h"
#include "pm.h"
-#include "pm-irq.h"
#include "common.h"
#include "tegra-board-id.h"
diff --git a/arch/arm/mach-tegra/board-loki.c b/arch/arm/mach-tegra/board-loki.c
index 5aa27d23a5d9..26a47fd65c6f 100644
--- a/arch/arm/mach-tegra/board-loki.c
+++ b/arch/arm/mach-tegra/board-loki.c
@@ -71,6 +71,7 @@
#include <mach/tegra_fiq_debugger.h>
#include <mach/xusb.h>
#include <linux/platform_data/tegra_usb_modem_power.h>
+#include <linux/irqchip/tegra.h>
#include "board-touch-raydium.h"
#include "board.h"
@@ -80,7 +81,6 @@
#include "devices.h"
#include "gpio-names.h"
#include "pm.h"
-#include "pm-irq.h"
#include "common.h"
#include "tegra-board-id.h"
#include "iomap.h"
diff --git a/arch/arm/mach-tegra/board-macallan.c b/arch/arm/mach-tegra/board-macallan.c
index 0f8276d1895c..b37b7bbfe022 100644
--- a/arch/arm/mach-tegra/board-macallan.c
+++ b/arch/arm/mach-tegra/board-macallan.c
@@ -49,6 +49,7 @@
#include <linux/clk/tegra.h>
#include <linux/tegra-soc.h>
#include <linux/clocksource.h>
+#include <linux/irqchip/tegra.h>
#include <mach/irqs.h>
#include <mach/pinmux.h>
@@ -73,7 +74,6 @@
#include "fuse.h"
#include "iomap.h"
#include "pm.h"
-#include "pm-irq.h"
#include "common.h"
#include "tegra-board-id.h"
diff --git a/arch/arm/mach-tegra/board-pismo.c b/arch/arm/mach-tegra/board-pismo.c
index bc7598a0819c..f78439911278 100644
--- a/arch/arm/mach-tegra/board-pismo.c
+++ b/arch/arm/mach-tegra/board-pismo.c
@@ -50,6 +50,7 @@
#include <linux/usb/tegra_usb_phy.h>
#include <linux/clk/tegra.h>
#include <linux/clocksource.h>
+#include <linux/irqchip/tegra.h>
#include <mach/irqs.h>
#include <mach/pinmux.h>
@@ -72,7 +73,6 @@
#include "gpio-names.h"
#include "fuse.h"
#include "pm.h"
-#include "pm-irq.h"
#include "common.h"
#include "tegra-board-id.h"
#include "iomap.h"
diff --git a/arch/arm/mach-tegra/cpuidle-t11x.c b/arch/arm/mach-tegra/cpuidle-t11x.c
index 0ca9bd04af39..320959eb9c72 100644
--- a/arch/arm/mach-tegra/cpuidle-t11x.c
+++ b/arch/arm/mach-tegra/cpuidle-t11x.c
@@ -43,6 +43,7 @@
#include <linux/tegra-soc.h>
#include <linux/tegra-timer.h>
#include <linux/tegra-cpuidle.h>
+#include <linux/irqchip/tegra.h>
#include <asm/cacheflush.h>
#include <asm/localtimer.h>
@@ -55,7 +56,6 @@
#include "clock.h"
#include "dvfs.h"
-#include "gic.h"
#include "iomap.h"
#include "pm.h"
#include "reset.h"
diff --git a/arch/arm/mach-tegra/cpuidle-t14x.c b/arch/arm/mach-tegra/cpuidle-t14x.c
index b4145d016717..fb8e18f03e5d 100644
--- a/arch/arm/mach-tegra/cpuidle-t14x.c
+++ b/arch/arm/mach-tegra/cpuidle-t14x.c
@@ -35,6 +35,7 @@
#include <linux/cpu_pm.h>
#include <linux/module.h>
#include <linux/tegra-soc.h>
+#include <linux/irqchip/tegra.h>
#include <asm/cacheflush.h>
#include <asm/localtimer.h>
@@ -50,7 +51,6 @@
#include "cpuidle.h"
#include "dvfs.h"
#include "fuse.h"
-#include "gic.h"
#include "iomap.h"
#include "pm.h"
#include "reset.h"
diff --git a/arch/arm/mach-tegra/cpuidle-t2.c b/arch/arm/mach-tegra/cpuidle-t2.c
index 1736b7910806..c0787c3b6331 100644
--- a/arch/arm/mach-tegra/cpuidle-t2.c
+++ b/arch/arm/mach-tegra/cpuidle-t2.c
@@ -3,7 +3,7 @@
*
* CPU idle driver for Tegra2 CPUs
*
- * Copyright (c) 2010-2011, NVIDIA Corporation.
+ * Copyright (c) 2010-2013, NVIDIA Corporation. All rights reserved.
* Copyright (c) 2011 Google, Inc.
* Author: Colin Cross <ccross@android.com>
* Gary King <gking@nvidia.com>
@@ -39,6 +39,7 @@
#include <linux/suspend.h>
#include <linux/tick.h>
#include <linux/cpu_pm.h>
+#include <linux/irqchip/tegra.h>
#include <asm/suspend.h>
@@ -46,7 +47,6 @@
#include <mach/irqs.h>
#include "cpuidle.h"
-#include "gic.h"
#include "pm.h"
#include "sleep.h"
#include "timer.h"
diff --git a/arch/arm/mach-tegra/cpuidle-t3.c b/arch/arm/mach-tegra/cpuidle-t3.c
index 2e436ae760b6..e79964d4f3c7 100644
--- a/arch/arm/mach-tegra/cpuidle-t3.c
+++ b/arch/arm/mach-tegra/cpuidle-t3.c
@@ -3,7 +3,7 @@
*
* CPU idle driver for Tegra3 CPUs
*
- * Copyright (c) 2010-2013, NVIDIA Corporation.
+ * Copyright (c) 2010-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
@@ -41,6 +41,7 @@
#include <linux/cpu_pm.h>
#include <linux/module.h>
#include <linux/tegra-soc.h>
+#include <linux/irqchip/tegra.h>
#include <asm/cacheflush.h>
#include <asm/localtimer.h>
@@ -56,7 +57,6 @@
#include "cpuidle.h"
#include "dvfs.h"
#include "fuse.h"
-#include "gic.h"
#include "iomap.h"
#include "pm.h"
#include "reset.h"
diff --git a/arch/arm/mach-tegra/fiq.c b/arch/arm/mach-tegra/fiq.c
index 4f650ac6ea09..1ed4570bcb09 100644
--- a/arch/arm/mach-tegra/fiq.c
+++ b/arch/arm/mach-tegra/fiq.c
@@ -26,8 +26,6 @@
#include <linux/slab.h>
#include <linux/irqchip/arm-gic.h>
-#include <mach/fiq.h>
-
#include "board.h"
#include "iomap.h"
diff --git a/arch/arm/mach-tegra/gic.c b/arch/arm/mach-tegra/gic.c
index 4688a740cce3..48e5240f84cf 100644
--- a/arch/arm/mach-tegra/gic.c
+++ b/arch/arm/mach-tegra/gic.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010-2012, NVIDIA Corporation
+ * Copyright (C) 2010-2013, NVIDIA Corporation. All rights reserved.
*
* This software is licensed under the terms of the GNU General Public
* License version 2, as published by the Free Software Foundation, and
@@ -18,10 +18,10 @@
#include <linux/irqnr.h>
#include <linux/cpu_pm.h>
#include <linux/irqchip/arm-gic.h>
+#include <linux/irqchip/tegra.h>
#include <mach/irqs.h>
-#include "gic.h"
#include "iomap.h"
#include "pm.h"
diff --git a/arch/arm/mach-tegra/gic.h b/arch/arm/mach-tegra/gic.h
deleted file mode 100644
index d5ea0289f369..000000000000
--- a/arch/arm/mach-tegra/gic.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * arch/arm/mach-tegra/include/mach/gic.h
- *
- * Copyright (C) 2010-2012 NVIDIA Corporation
- *
- * This software is licensed under the terms of the GNU General Public
- * License version 2, as published by the Free Software Foundation, and
- * may be copied, distributed, and modified under those terms.
- *
- * 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.
- *
- */
-
-#ifndef _MACH_TEGRA_GIC_H_
-#define _MACH_TEGRA_GIC_H_
-
-#if defined(CONFIG_HOTPLUG_CPU) || defined(CONFIG_PM_SLEEP)
-
-void tegra_gic_cpu_disable(bool disable_pass_through);
-void tegra_gic_cpu_enable(void);
-
-#endif
-
-#define GIC_V1 1
-#define GIC_V2 2
-
-#if defined(CONFIG_PM_SLEEP)
-
-int tegra_gic_pending_interrupt(void);
-
-#ifndef CONFIG_ARCH_TEGRA_2x_SOC
-
-void tegra_gic_dist_disable(void);
-void tegra_gic_dist_enable(void);
-
-void tegra_gic_disable_affinity(void);
-void tegra_gic_restore_affinity(void);
-void tegra_gic_affinity_to_cpu0(void);
-
-#endif
-#endif
-
-u32 tegra_gic_version(void);
-void __init tegra_gic_init(bool is_dt);
-
-#endif /* _MACH_TEGRA_GIC_H_ */
diff --git a/arch/arm/mach-tegra/hotplug.c b/arch/arm/mach-tegra/hotplug.c
index b07a52cc0db9..20f5f2140d51 100644
--- a/arch/arm/mach-tegra/hotplug.c
+++ b/arch/arm/mach-tegra/hotplug.c
@@ -2,7 +2,7 @@
*
* Copyright (C) 2002 ARM Ltd.
* All Rights Reserved
- * Copyright (c) 2010, 2012 NVIDIA Corporation. All rights reserved.
+ * Copyright (C) 2010-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 version 2 as
@@ -13,11 +13,11 @@
#include <linux/clk/tegra.h>
#include <linux/cpu_pm.h>
#include <linux/clk/tegra.h>
+#include <linux/irqchip/tegra.h>
#include <asm/cacheflush.h>
#include <asm/smp_plat.h>
-#include "gic.h"
#include "sleep.h"
static void (*tegra_hotplug_shutdown)(void);
diff --git a/arch/arm/mach-tegra/include/mach/fiq.h b/arch/arm/mach-tegra/include/mach/fiq.h
deleted file mode 100644
index 17625facf627..000000000000
--- a/arch/arm/mach-tegra/include/mach/fiq.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright (C) 2010 Google, Inc.
- *
- * Author:
- * Iliyan Malchev <malchev@google.com>
- *
- * This software is licensed under the terms of the GNU General Public
- * License version 2, as published by the Free Software Foundation, and
- * may be copied, distributed, and modified under those terms.
- *
- * 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.
- *
- */
-
-#ifndef __ASM_ARCH_TEGRA_FIQ_H
-#define __ASM_ARCH_TEGRA_FIQ_H
-
-/* enable/disable an interrupt that is an FIQ (safe from FIQ context?) */
-void tegra_fiq_enable(int n);
-void tegra_fiq_disable(int n);
-
-#endif
diff --git a/arch/arm/mach-tegra/include/mach/legacy_irq.h b/arch/arm/mach-tegra/include/mach/legacy_irq.h
deleted file mode 100644
index c692c128abdf..000000000000
--- a/arch/arm/mach-tegra/include/mach/legacy_irq.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * arch/arm/mach-tegra/include/mach/legacy_irq.h
- *
- * Copyright (C) 2010 Google, Inc.
- * Author: Colin Cross <ccross@android.com>
- *
- * This software is licensed under the terms of the GNU General Public
- * License version 2, as published by the Free Software Foundation, and
- * may be copied, distributed, and modified under those terms.
- *
- * 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.
- *
- */
-
-#ifndef _ARCH_ARM_MACH_TEGRA_LEGARY_IRQ_H
-#define _ARCH_ARM_MACH_TEGRA_LEGARY_IRQ_H
-
-void tegra_init_legacy_irq_cop(void);
-
-/* lp1 wake interrupts enabled or disabled using this API */
-int tegra_update_lp1_irq_wake(unsigned int irq, bool enable);
-
-#endif
diff --git a/arch/arm/mach-tegra/irq.c b/arch/arm/mach-tegra/irq.c
index 2bb7ea6486bf..95693529ea80 100644
--- a/arch/arm/mach-tegra/irq.c
+++ b/arch/arm/mach-tegra/irq.c
@@ -28,13 +28,10 @@
#include <linux/irqchip.h>
#include <linux/syscore_ops.h>
#include <linux/clk/tegra.h>
-
-#include <mach/legacy_irq.h>
+#include <linux/irqchip/tegra.h>
#include "board.h"
-#include "gic.h"
#include "iomap.h"
-#include "pm-irq.h"
#define ICTLR_CPU_IEP_VFIQ 0x08
#define ICTLR_CPU_IEP_FIR 0x14
diff --git a/arch/arm/mach-tegra/pm-irq.c b/arch/arm/mach-tegra/pm-irq.c
index 15b7531598c1..e7860d32d803 100644
--- a/arch/arm/mach-tegra/pm-irq.c
+++ b/arch/arm/mach-tegra/pm-irq.c
@@ -30,9 +30,9 @@
#include <linux/moduleparam.h>
#include <linux/seq_file.h>
#include <linux/syscore_ops.h>
+#include <linux/irqchip/tegra.h>
#include "iomap.h"
-#include "pm-irq.h"
#define PMC_CTRL 0x0
#define PMC_CTRL_LATCH_WAKEUPS (1 << 5)
diff --git a/arch/arm/mach-tegra/pm.c b/arch/arm/mach-tegra/pm.c
index 88629b72b8e1..ddce3ea43438 100644
--- a/arch/arm/mach-tegra/pm.c
+++ b/arch/arm/mach-tegra/pm.c
@@ -52,6 +52,7 @@
#include <linux/tegra-soc.h>
#include <linux/tegra-timer.h>
#include <linux/tegra-cpuidle.h>
+#include <linux/irqchip/tegra.h>
#include <trace/events/power.h>
#include <trace/events/nvsecurity.h>
@@ -72,10 +73,8 @@
#include "clock.h"
#include "common.h"
#include "fuse.h"
-#include "gic.h"
#include "iomap.h"
#include "pm.h"
-#include "pm-irq.h"
#include "reset.h"
#include "pmc.h"
#include "sleep.h"
diff --git a/arch/arm/mach-tegra/tegra_wakeup_monitor.c b/arch/arm/mach-tegra/tegra_wakeup_monitor.c
index 534c37a4f382..ba843487384e 100644
--- a/arch/arm/mach-tegra/tegra_wakeup_monitor.c
+++ b/arch/arm/mach-tegra/tegra_wakeup_monitor.c
@@ -21,6 +21,7 @@
#include <linux/completion.h>
#include <linux/suspend.h>
#include <linux/slab.h>
+#include <linux/irqchip/tegra.h>
#include <net/ip.h>
#include <linux/netfilter_ipv4.h>
@@ -29,7 +30,6 @@
#include <mach/tegra_wakeup_monitor.h>
-#include "pm-irq.h"
#define MAX_PACKET_NUM 6
#define MONITOR_HTABLE_SIZE 256
diff --git a/arch/arm/mach-tegra/wakeups-t11x.c b/arch/arm/mach-tegra/wakeups-t11x.c
index 1eca859eb7b2..d3ae3909dd4a 100644
--- a/arch/arm/mach-tegra/wakeups-t11x.c
+++ b/arch/arm/mach-tegra/wakeups-t11x.c
@@ -18,6 +18,7 @@
#include <linux/gpio.h>
#include <linux/init.h>
#include <linux/io.h>
+#include <linux/irqchip/tegra.h>
#include <mach/irqs.h>
#include <mach/gpio-tegra.h>
@@ -25,7 +26,6 @@
#include "tegra-board-id.h"
#include "gpio-names.h"
#include "iomap.h"
-#include "pm-irq.h"
/* Tegra USB1 wake source index */
#define USB1_VBUS_WAKE 19
diff --git a/drivers/gpio/gpio-tegra.c b/drivers/gpio/gpio-tegra.c
index 124321c9ffb6..5369f4cb9a75 100644
--- a/drivers/gpio/gpio-tegra.c
+++ b/drivers/gpio/gpio-tegra.c
@@ -35,10 +35,7 @@
#include <linux/pm.h>
#include <linux/syscore_ops.h>
#include <linux/tegra-soc.h>
-
-#include <mach/legacy_irq.h>
-
-#include "../../arch/arm/mach-tegra/pm-irq.h"
+#include <linux/irqchip/tegra.h>
#define GPIO_BANK(x) ((x) >> 5)
#define GPIO_PORT(x) (((x) >> 3) & 0x3)
diff --git a/drivers/media/platform/tegra/nvavp/nvavp_dev.c b/drivers/media/platform/tegra/nvavp/nvavp_dev.c
index f8d7994f1338..1ed26cc145b9 100644
--- a/drivers/media/platform/tegra/nvavp/nvavp_dev.c
+++ b/drivers/media/platform/tegra/nvavp/nvavp_dev.c
@@ -39,8 +39,8 @@
#include <linux/pm_runtime.h>
#include <linux/clk/tegra.h>
#include <linux/tegra-powergate.h>
+#include <linux/irqchip/tegra.h>
-#include <mach/legacy_irq.h>
#include <mach/pm_domains.h>
#include <linux/nvmap.h>
diff --git a/arch/arm/mach-tegra/pm-irq.h b/include/linux/irqchip/tegra.h
index 279db85dd307..c51b1249f893 100644
--- a/arch/arm/mach-tegra/pm-irq.h
+++ b/include/linux/irqchip/tegra.h
@@ -1,30 +1,53 @@
/*
- * Copyright (C) 2011 Google, Inc.
+ * arch/arm/mach-tegra/include/mach/gic.h
*
- * Author:
- * Colin Cross <ccross@android.com>
+ * Copyright (C) 2010-2013 NVIDIA Corporation. All rights reserved.
*
- * Copyright (c) 2012-2013, NVIDIA CORPORATION. All rights reserved.
+ * This software is licensed under the terms of the GNU General Public
+ * License version 2, as published by the Free Software Foundation, and
+ * may be copied, distributed, and modified under those terms.
*
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
+ * 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.
*
- * This program is distributed in the hope 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.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef _MACH_TERA_PM_IRQ_H_
-#define _MACH_TERA_PM_IRQ_H_
+#ifndef _MACH_TEGRA_GIC_H_
+#define _MACH_TEGRA_GIC_H_
#define PMC_MAX_WAKE_COUNT 64
+#define GIC_V1 1
+#define GIC_V2 2
+
+/* tegra internal any polarity wake sources */
+enum {
+ ANY_WAKE_INDEX_VBUS = 0,
+ ANY_WAKE_INDEX_ID
+};
+
+#if defined(CONFIG_HOTPLUG_CPU) || defined(CONFIG_PM_SLEEP)
+void tegra_gic_cpu_disable(bool disable_pass_through);
+void tegra_gic_cpu_enable(void);
+#endif
+
+#if defined(CONFIG_PM_SLEEP)
+int tegra_gic_pending_interrupt(void);
+#ifndef CONFIG_ARCH_TEGRA_2x_SOC
+void tegra_gic_dist_disable(void);
+void tegra_gic_dist_enable(void);
+
+void tegra_gic_disable_affinity(void);
+void tegra_gic_restore_affinity(void);
+void tegra_gic_affinity_to_cpu0(void);
+#endif
+#endif
-#ifdef CONFIG_PM_SLEEP
+u32 tegra_gic_version(void);
+void __init tegra_gic_init(bool is_dt);
+
+#if defined(CONFIG_PM_SLEEP)
u64 tegra_read_pmc_wake_status(void);
int tegra_pm_irq_set_wake(int wake, int enable);
int tegra_pm_irq_set_wake_type(int wake, int flow_type);
@@ -68,13 +91,8 @@ static inline int tegra_disable_wake_source(int wake)
return 0;
}
#endif
-void tegra_set_usb_wake_source(void);
-/* tegra internal any polarity wake sources */
-enum {
- ANY_WAKE_INDEX_VBUS = 0,
- ANY_WAKE_INDEX_ID
-};
+void tegra_set_usb_wake_source(void);
/* get chip specific list of internal any polarity wake sources */
void tegra_get_internal_any_wake_list(u8 *wake_count, u8 **any_wake,
@@ -89,4 +107,13 @@ void tegra_get_internal_any_wake_list(u8 *wake_count, u8 **any_wake,
int get_vbus_id_cable_connect_state(bool *is_vbus_connected,
bool *is_id_connected);
-#endif
+/* enable/disable an interrupt that is an FIQ (safe from FIQ context?) */
+void tegra_fiq_enable(int n);
+void tegra_fiq_disable(int n);
+
+void tegra_init_legacy_irq_cop(void);
+
+/* lp1 wake interrupts enabled or disabled using this API */
+int tegra_update_lp1_irq_wake(unsigned int irq, bool enable);
+
+#endif /* _MACH_TEGRA_GIC_H_ */