mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
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


  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