tegrakernel/kernel/kernel-4.9/include/linux/irqchip/tegra-agic.h

43 lines
1.3 KiB
C
Raw Normal View History

2022-02-16 09:13:02 -06:00
/*
* include/linux/irqchip/tegra-agic.h
*
* Header file for managing AGIC interrupt controller
*
* Copyright (C) 2014-2017 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 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 _TEGRA_AGIC_H_
#define _TEGRA_AGIC_H_
#include <linux/irqchip/tegra-t18x-agic.h>
#include <linux/irqchip/tegra-t210-agic.h>
enum tegra_agic_cpu {
TEGRA_AGIC_T210_APE_HOST = 0,
TEGRA_AGIC_T210_ADSP = 1,
MAX_AGIC_T210_INTERFACES = 2,
TEGRA_AGIC_T18x_APE_HOST0 = 0,
TEGRA_AGIC_T18x_APE_HOST1 = 1,
TEGRA_AGIC_T18x_APE_HOST2 = 2,
TEGRA_AGIC_T18x_APE_HOST3 = 3,
TEGRA_AGIC_T18x_ADSP = 4,
MAX_AGIC_T18x_INTERFACES = 5,
};
extern int tegra_agic_route_interrupt(int irq, enum tegra_agic_cpu cpu);
extern bool tegra_agic_irq_is_active(int irq);
extern bool tegra_agic_irq_is_pending(int irq);
extern void tegra_agic_clear_pending(int irq);
extern void tegra_agic_clear_active(int irq);
#endif /* _TEGRA_AGIC_H_ */