From: j0sh1x <aljoshua.hell@gmail.com>
To: tglx@kernel.org
Cc: linux-kernel@vger.kernel.org, subsystem@vger.kernel.org,
dominikkobinski314@gmail.com, j0sh1x <aljoshua.hell@gmail.com>
Subject: [PATCH 4/5] dt-bindings: irq: Add Qualcomm MSM VIC header
Date: Sun, 15 Mar 2026 12:17:04 +0100 [thread overview]
Message-ID: <20260315111705.118544-4-aljoshua.hell@gmail.com> (raw)
In-Reply-To: <20260315111705.118544-1-aljoshua.hell@gmail.com>
Add DT binding constants for the Qualcomm MSM VIC interrupt controller.
These constants are used in the irq-mapping and other driver bindings
to reference specific interrupts and SMSM wakeup channels.
Signed-off-by: j0sh1x <aljoshua.hell@gmail.com>
---
.../interrupt-controller/qcom-vic.h | 92 +++++++++++++++++++
1 file changed, 92 insertions(+)
create mode 100644 include/dt-bindings/interrupt-controller/qcom-vic.h
diff --git a/include/dt-bindings/interrupt-controller/qcom-vic.h b/include/dt-bindings/interrupt-controller/qcom-vic.h
new file mode 100644
index 000000000000..8fbcf8f61103
--- /dev/null
+++ b/include/dt-bindings/interrupt-controller/qcom-vic.h
@@ -0,0 +1,92 @@
+/* SPDX-License-Identifier: GPL-2.0 OR MIT */
+/*
+ * This header provides constants for the ARM GIC.
+ */
+
+#ifndef _DT_BINDINGS_INTERRUPT_CONTROLLER_QCOM_VIC_H
+#define _DT_BINDINGS_INTERRUPT_CONTROLLER_QCOM_VIC_H
+
+#include <dt-bindings/interrupt-controller/irq.h>
+
+#define VIC_INT_TO_REG_ADDR(base, irq) (base + ((irq & 32) ? 4 : 0))
+#define VIC_INT_TO_REG_INDEX(irq) ((irq >> 5) & 1)
+
+#define VIC_INT_SELECT0 0x0000 /* 1: FIQ, 0: IRQ */
+#define VIC_INT_SELECT1 0x0004 /* 1: FIQ, 0: IRQ */
+#define VIC_INT_SELECT2 0x0008 /* 1: FIQ, 0: IRQ */
+#define VIC_INT_SELECT3 0x000C /* 1: FIQ, 0: IRQ */
+#define VIC_INT_EN0 0x0010
+#define VIC_INT_EN1 0x0014
+#define VIC_INT_EN2 0x0018
+#define VIC_INT_EN3 0x001C
+#define VIC_INT_ENCLEAR0 0x0020
+#define VIC_INT_ENCLEAR1 0x0024
+#define VIC_INT_ENCLEAR2 0x0028
+#define VIC_INT_ENCLEAR3 0x002C
+#define VIC_INT_ENSET0 0x0030
+#define VIC_INT_ENSET1 0x0034
+#define VIC_INT_ENSET2 0x0038
+#define VIC_INT_ENSET3 0x003C
+#define VIC_INT_TYPE0 0x0040 /* 1: EDGE, 0: LEVEL */
+#define VIC_INT_TYPE1 0x0044 /* 1: EDGE, 0: LEVEL */
+#define VIC_INT_TYPE2 0x0048 /* 1: EDGE, 0: LEVEL */
+#define VIC_INT_TYPE3 0x004C /* 1: EDGE, 0: LEVEL */
+#define VIC_INT_POLARITY0 0x0050 /* 1: NEG, 0: POS */
+#define VIC_INT_POLARITY1 0x0054 /* 1: NEG, 0: POS */
+#define VIC_INT_POLARITY2 0x0058 /* 1: NEG, 0: POS */
+#define VIC_INT_POLARITY3 0x005C /* 1: NEG, 0: POS */
+#define VIC_NO_PEND_VAL 0x0060
+
+
+#define VIC_NO_PEND_VAL_FIQ 0x0064
+#define VIC_INT_MASTEREN 0x0068 /* 1: IRQ, 2: FIQ */
+#define VIC_CONFIG 0x006C /* 1: USE SC VIC */
+
+
+#define IRQF_VALID (1 << 0)
+#define IRQF_PROBE (1 << 1)
+#define IRQF_NOAUTOEN (1 << 2)
+
+#define VIC_IRQ_STATUS0 0x0080
+#define VIC_IRQ_STATUS1 0x0084
+#define VIC_IRQ_STATUS2 0x0088
+#define VIC_IRQ_STATUS3 0x008C
+#define VIC_FIQ_STATUS0 0x0090
+#define VIC_FIQ_STATUS1 0x0094
+#define VIC_FIQ_STATUS2 0x0098
+#define VIC_FIQ_STATUS3 0x009C
+#define VIC_RAW_STATUS0 0x00A0
+#define VIC_RAW_STATUS1 0x00A4
+#define VIC_RAW_STATUS2 0x00A8
+#define VIC_RAW_STATUS3 0x00AC
+#define VIC_INT_CLEAR0 0x00B0
+#define VIC_INT_CLEAR1 0x00B4
+#define VIC_INT_CLEAR2 0x00B8
+#define VIC_INT_CLEAR3 0x00BC
+#define VIC_SOFTINT0 0x00C0
+#define VIC_SOFTINT1 0x00C4
+#define VIC_SOFTINT2 0x00C8
+#define VIC_SOFTINT3 0x00CC
+#define VIC_IRQ_VEC_RD 0x00D0 /* pending int # */
+#define VIC_IRQ_VEC_PEND_RD 0x00D4 /* pending vector addr */
+#define VIC_IRQ_VEC_WR 0x00D8
+
+
+#define VIC_FIQ_VEC_RD 0x00DC
+#define VIC_FIQ_VEC_PEND_RD 0x00E0
+#define VIC_FIQ_VEC_WR 0x00E4
+#define VIC_IRQ_IN_SERVICE 0x00E8
+#define VIC_IRQ_IN_STACK 0x00EC
+#define VIC_FIQ_IN_SERVICE 0x00F0
+#define VIC_FIQ_IN_STACK 0x00F4
+#define VIC_TEST_BUS_SEL 0x00F8
+#define VIC_IRQ_CTRL_CONFIG 0x00FC
+
+
+#define VIC_VECTPRIORITY(n) 0x0200+((n) * 4)
+#define VIC_VECTADDR(n) 0x0400+((n) * 4)
+
+#define SMSM_FAKE_IRQ (0xff)
+
+#define VIC_NUM_REGS 2
+#endif
--
2.51.0
next prev parent reply other threads:[~2026-03-15 11:17 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-15 11:17 [PATCH 1/5] dt-bindings: irq: Add Qualcomm MSM VIC binding j0sh1x
2026-03-15 11:17 ` [PATCH 2/5] irqchip: Add Qualcomm MSM VIC driver j0sh1x
2026-03-16 8:30 ` Krzysztof Kozlowski
2026-03-20 9:51 ` Thomas Gleixner
2026-03-15 11:17 ` [PATCH 3/5] irqchip: Add Kconfig and Makefile entries for MSM VIC j0sh1x
2026-03-30 4:45 ` kernel test robot
2026-03-30 9:04 ` kernel test robot
2026-03-15 11:17 ` j0sh1x [this message]
2026-03-16 8:30 ` [PATCH 4/5] dt-bindings: irq: Add Qualcomm MSM VIC header Krzysztof Kozlowski
2026-03-15 11:17 ` [PATCH 5/5] MAINTAINERS: Add Maintainer entry for MSM VIC j0sh1x
2026-03-16 8:29 ` [PATCH 1/5] dt-bindings: irq: Add Qualcomm MSM VIC binding Krzysztof Kozlowski
2026-03-16 17:56 ` Krzysztof Kozlowski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260315111705.118544-4-aljoshua.hell@gmail.com \
--to=aljoshua.hell@gmail.com \
--cc=dominikkobinski314@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=subsystem@vger.kernel.org \
--cc=tglx@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome