From: Hou Zhiqiang <zhiqiang....@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....@nxp.com>
Signed-off-by: Biwen Li <biwen...@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 <li...@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

Reply via email to