lkml.org 
[lkml]   [2020]   [Oct]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[v2 01/11] irqchip: ls-extirq: Add LS1043A, LS1088A external interrupt
Date
From: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>

Add an new IRQ chip declaration for LS1043A and LS1088A
- compatible "fsl,ls1043a-extirq" for LS1043A, LS1046A. SCFG_INTPCR[31:0]
of these SoCs is stored/read as SCFG_INTPCR[0:31] defaultly(bit
reverse)
- compatible "fsl,ls1088a-extirq" for LS1088A, LS208xA, LX216xA

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Signed-off-by: Biwen Li <biwen.li@nxp.com>
---
Change in v2:
- add despcription of bit reverse
- update copyright

drivers/irqchip/irq-ls-extirq.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/drivers/irqchip/irq-ls-extirq.c b/drivers/irqchip/irq-ls-extirq.c
index 4d1179fed77c..9587bc2607fc 100644
--- a/drivers/irqchip/irq-ls-extirq.c
+++ b/drivers/irqchip/irq-ls-extirq.c
@@ -1,5 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
-
+/*
+ * Author: Rasmus Villemoes <linux@rasmusvillemoes.dk>
+ * Copyright 2020 NXP
+ */
#define pr_fmt(fmt) "irq-ls-extirq: " fmt

#include <linux/irq.h>
@@ -183,6 +186,9 @@ ls_extirq_of_init(struct device_node *node, struct device_node *parent)
priv->bit_reverse = (revcr != 0);
}

+ if (of_device_is_compatible(node, "fsl,ls1043a-extirq"))
+ priv->bit_reverse = true;
+
domain = irq_domain_add_hierarchy(parent_domain, 0, priv->nirq, node,
&extirq_domain_ops, priv);
if (!domain)
@@ -195,3 +201,5 @@ ls_extirq_of_init(struct device_node *node, struct device_node *parent)
}

IRQCHIP_DECLARE(ls1021a_extirq, "fsl,ls1021a-extirq", ls_extirq_of_init);
+IRQCHIP_DECLARE(ls1043a_extirq, "fsl,ls1043a-extirq", ls_extirq_of_init);
+IRQCHIP_DECLARE(ls1088a_extirq, "fsl,ls1088a-extirq", ls_extirq_of_init);
--
2.17.1
\
 
 \ /
  Last update: 2020-10-27 05:56    [W:0.133 / U:2.528 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site