blob: e5cc23d6758910fd27389d0d05c735624335fe19 [file] [log] [blame]
Sridhar Parasurama7f7a322015-01-27 15:49:50 -08001/* Copyright (c) 2014-2015, The Linux Foundation. All rights reserved.
Channagoud Kadabied60a8b2014-06-27 15:35:09 -07002
3 * Redistribution and use in source and binary forms, with or without
4 * modification, are permitted provided that the following conditions are
5 * met:
6 * * Redistributions of source code must retain the above copyright
7 * notice, this list of conditions and the following disclaimer.
8 * * Redistributions in binary form must reproduce the above
9 * copyright notice, this list of conditions and the following
10 * disclaimer in the documentation and/or other materials provided
11 * with the distribution.
Channagoud Kadabi0ffa7862015-03-19 11:58:28 -070012 * * Neither the name of The Linux Foundation nor the names of its
Channagoud Kadabied60a8b2014-06-27 15:35:09 -070013 * contributors may be used to endorse or promote products derived
14 * from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
17 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
19 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
20 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
23 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
25 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
26 * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
29
30#ifndef __IRQS_THULIUM_H
31#define __IRQS_THULIUM_H
32
33/* MSM ACPU Interrupt Numbers */
34
35/* 0-15: STI/SGI (software triggered/generated interrupts)
36 * 16-31: PPI (private peripheral interrupts)
37 * 32+: SPI (shared peripheral interrupts)
38 */
39
40#define GIC_PPI_START 16
41#define GIC_SPI_START 32
42
43#define INT_QTMR_NON_SECURE_PHY_TIMER_EXP (GIC_PPI_START + 3)
44#define INT_QTMR_VIRTUAL_TIMER_EXP (GIC_PPI_START + 4)
45
46#define INT_QTMR_FRM_0_PHYSICAL_TIMER_EXP (GIC_SPI_START + 31)
47
Tanya Finkel77318e02016-05-17 14:20:59 +030048/* to support secondary port usage, secondary port Interrupt*/
49int usb_irq();
50
51#define USB30_EE1_IRQ (usb_irq())
52
53#define USB30_IRQ (GIC_SPI_START + 131)
54#define USB20_IRQ (GIC_SPI_START + 138)
Channagoud Kadabied60a8b2014-06-27 15:35:09 -070055
Sridhar Parasurama7f7a322015-01-27 15:49:50 -080056#define GLINK_IPC_IRQ (GIC_SPI_START + 168)
57
Channagoud Kadabied60a8b2014-06-27 15:35:09 -070058/* Retrofit universal macro names */
59#define INT_USB_HS USB30_EE1_IRQ
60
61#define SDCC1_PWRCTL_IRQ (GIC_SPI_START + 134)
62#define SDCC2_PWRCTL_IRQ (GIC_SPI_START + 221)
63
64#define UFS_IRQ (GIC_SPI_START + 265)
65
66#define EE0_KRAIT_HLOS_SPMI_PERIPH_IRQ (GIC_SPI_START + 265)
67
68/* Fix this: where this comes from? */
69#define NR_MSM_IRQS 256
70#define NR_GPIO_IRQS 173
71#define NR_BOARD_IRQS 0
72
73#define NR_IRQS (NR_MSM_IRQS + NR_GPIO_IRQS + \
74 NR_BOARD_IRQS)
75
Siddharth Zaveri1cf08b92015-12-02 17:09:14 -050076#define BLSP_QUP_IRQ(blsp_id, qup_id) (GIC_SPI_START + 95 + blsp_id * \
77 6 + qup_id)
Channagoud Kadabied60a8b2014-06-27 15:35:09 -070078#endif /* __IRQS_THULIUM_H */