linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sergei Ianovich <ynvich@gmail.com>
To: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Cc: Sergei Ianovich <ynvich@gmail.com>, Arnd Bergmann <arnd@arndb.de>,
	Rob Herring <robh+dt@kernel.org>, Pawel Moll <pawel.moll@arm.com>,
	Mark Rutland <mark.rutland@arm.com>,
	Ian Campbell <ijc+devicetree@hellion.org.uk>,
	Kumar Gala <galak@codeaurora.org>,
	Randy Dunlap <rdunlap@infradead.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Grant Likely <grant.likely@linaro.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	devicetree@vger.kernel.org (open list:OPEN FIRMWARE AND...),
	linux-doc@vger.kernel.org (open list:DOCUMENTATION)
Subject: [PATCH v4 11/21] ARM: pxa: support ICP DAS LP-8x4x FPGA irq
Date: Wed, 16 Apr 2014 21:17:16 +0400	[thread overview]
Message-ID: <1397668667-27328-5-git-send-email-ynvich@gmail.com> (raw)
In-Reply-To: <1397668667-27328-1-git-send-email-ynvich@gmail.com>

ICP DAS LP-8x4x contains FPGA chip. The chip functions as an interrupt
source providing 16 additional interrupts among other things. The
interrupt lines are muxed to a GPIO pin of a 2nd level PXA-GPIO
interrupt controller. GPIO pins of the 2nd level controller are in turn
muxed to a CPU interrupt line.

Until pxa is completely converted to device tree, it is impossible
to use IRQCHIP_DECLARE() and the irqdomain needs to added manually.
Drivers for the on-CPU IRQs and GPIO-IRQs are loaded using
postcore_initcall(). We need to have all irq domain drivers loaded prior
to DT parsing in order to allow normal initialization of IRQ resources
with DT.

Signed-off-by: Sergei Ianovich <ynvich@gmail.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
CC: Arnd Bergmann <arnd@arndb.de>
---
   v3.2..v4
   * move DTS binding to a different patch (8/21)

   v3.1..v3.2
   fixes to apply Linus Walleij's "Reviewed-by":
   * add kerneldoc comment for state container struct
   * rename irq -> hwirq for clarity
   * drop overzealous error checks from the hotpaths

   v3..v3.1
   fixes according to Linus Walleij review comments:
   * update commit message
   * use state container instead of global variables
   * get hardware irq nums from irq_data, don't calculate them
   * use BIT() macro
   * add defines for system irq register masks
   * replace cycle control variable with break
   * use better names for resource variables
   * add a linear domain instead of a legacy one
   * use irq_create_mapping() instead of irq_alloc_desc()

   v2..v3
   * no changes (except number 09/16 -> 11/21)

   v0..v2
   * extract irqchip and move to drivers/irqchip/
   * use device tree
   * use devm helpers where possible

 .../bindings/interrupt-controller/irq-lp8x4x.txt   |  49 +++++
 drivers/irqchip/Kconfig                            |   5 +
 drivers/irqchip/Makefile                           |   1 +
 drivers/irqchip/irq-lp8x4x.c                       | 227 +++++++++++++++++++++
 4 files changed, 282 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/interrupt-controller/irq-lp8x4x.txt
 create mode 100644 drivers/irqchip/irq-lp8x4x.c

diff --git a/Documentation/devicetree/bindings/interrupt-controller/irq-lp8x4x.txt b/Documentation/devicetree/bindings/interrupt-controller/irq-lp8x4x.txt
new file mode 100644
index 0000000..c8940d2
--- /dev/null
+++ b/Documentation/devicetree/bindings/interrupt-controller/irq-lp8x4x.txt
@@ -0,0 +1,49 @@
+ICP DAS LP-8x4x FPGA Interrupt Controller
+
+ICP DAS LP-8x4x contains FPGA chip. The chip functions as a interrupt
+source providing 16 additional interrupts among other things.
+
+Required properties:
+- compatible : should be "icpdas,irq-lp8x4x"
+
+- reg: physical base address of the controller and length of memory mapped
+  region.
+
+- interrupt-controller : identifies the node as an interrupt controller
+
+- #interrupt-cells : should be 1
+
+- interrupts : should provide interrupt
+
+- interrupt-parent : should provide a link to interrupt controller either
+		     explicitly and implicitly from a parent node
+
+Example:
+
+	fpga: fpga@17000006 {
+		compatible = "icpdas,irq-lp8x4x";
+		reg = <0x17000006 0x16>;
+		interrupt-parent = <&gpio>;
+		interrupts = <3 IRQ_TYPE_EDGE_RISING>;
+		#interrupt-cells = <1>;
+		interrupt-controller;
+		status = "okay";
+	};
+
+	uart@17009050 {
+		compatible = "icpdas,uart-lp8x4x";
+		reg = <0x17009050 0x10
+		       0x17009030 0x02>;
+		interrupt-parent = <&fpga>;
+		interrupts = <13>;
+		status = "okay";
+	};
+
+	uart@17009060 {
+		compatible = "icpdas,uart-lp8x4x";
+		reg = <0x17009060 0x10
+		       0x17009032 0x02>;
+		interrupt-parent = <&fpga>;
+		interrupts = <14>;
+		status = "okay";
+	};
diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig
index d770f74..ede3237 100644
--- a/drivers/irqchip/Kconfig
+++ b/drivers/irqchip/Kconfig
@@ -47,6 +47,11 @@ config CLPS711X_IRQCHIP
 	select SPARSE_IRQ
 	default y
 
+config LP8X4X_IRQ
+	bool
+	depends on OF && ARCH_PXA
+	select IRQ_DOMAIN
+
 config ORION_IRQCHIP
 	bool
 	select IRQ_DOMAIN
diff --git a/drivers/irqchip/Makefile b/drivers/irqchip/Makefile
index f180f8d..94f82c7 100644
--- a/drivers/irqchip/Makefile
+++ b/drivers/irqchip/Makefile
@@ -29,3 +29,4 @@ obj-$(CONFIG_TB10X_IRQC)		+= irq-tb10x.o
 obj-$(CONFIG_XTENSA)			+= irq-xtensa-pic.o
 obj-$(CONFIG_XTENSA_MX)			+= irq-xtensa-mx.o
 obj-$(CONFIG_IRQ_CROSSBAR)		+= irq-crossbar.o
+obj-$(CONFIG_LP8X4X_IRQ)		+= irq-lp8x4x.o
diff --git a/drivers/irqchip/irq-lp8x4x.c b/drivers/irqchip/irq-lp8x4x.c
new file mode 100644
index 0000000..12ccbb03
--- /dev/null
+++ b/drivers/irqchip/irq-lp8x4x.c
@@ -0,0 +1,227 @@
+/*
+ *  linux/drivers/irqchip/irq-lp8x4x.c
+ *
+ *  Support for ICP DAS LP-8x4x FPGA irq
+ *  Copyright (C) 2013 Sergei Ianovich <ynvich@gmail.com>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License version 2 as
+ *  published by the Free Software Foundation or any later version.
+ */
+#include <linux/interrupt.h>
+#include <linux/io.h>
+#include <linux/irq.h>
+#include <linux/irqdomain.h>
+#include <linux/irqchip/chained_irq.h>
+#include <linux/of.h>
+#include <linux/platform_device.h>
+
+#define EOI			0x00000000
+#define INSINT			0x00000002
+#define ENSYSINT		0x00000004
+#define PRIMINT			0x00000006
+#define PRIMINT_MASK		0xe0
+#define SECOINT			0x00000008
+#define SECOINT_MASK		0x1f
+#define ENRISEINT		0x0000000A
+#define CLRRISEINT		0x0000000C
+#define ENHILVINT		0x0000000E
+#define CLRHILVINT		0x00000010
+#define ENFALLINT		0x00000012
+#define CLRFALLINT		0x00000014
+#define IRQ_MEM_SIZE		0x00000016
+#define LP8X4X_NUM_IRQ_DEFAULT	16
+
+/**
+ * struct lp8x4x_irq_data - LP8X4X custom irq controller state container
+ * @base:               base IO memory address
+ * @irq_domain:         Interrupt translation domain; responsible for mapping
+ *                      between hwirq number and linux irq number
+ * @irq_sys_enabled:    mask keeping track of interrupts enabled in the
+ *                      register which vendor calls 'system'
+ * @irq_high_enabled:   mask keeping track of interrupts enabled in the
+ *                      register which vendor calls 'high'
+ *
+ * The structure implements State Container from
+ * Documentation/driver-model/design-patterns.txt
+ */
+
+struct lp8x4x_irq_data {
+	void			*base;
+	struct irq_domain	*domain;
+	unsigned char		irq_sys_enabled;
+	unsigned char		irq_high_enabled;
+};
+
+static void lp8x4x_mask_irq(struct irq_data *d)
+{
+	unsigned mask;
+	unsigned long hwirq = d->hwirq;
+	struct lp8x4x_irq_data *host = irq_data_get_irq_chip_data(d);
+
+	if (hwirq < 8) {
+		host->irq_high_enabled &= ~BIT(hwirq);
+
+		mask = ioread8(host->base + ENHILVINT);
+		mask &= ~BIT(hwirq);
+		iowrite8(mask, host->base + ENHILVINT);
+	} else {
+		hwirq -= 8;
+		host->irq_sys_enabled &= ~BIT(hwirq);
+
+		mask = ioread8(host->base + ENSYSINT);
+		mask &= ~BIT(hwirq);
+		iowrite8(mask, host->base + ENSYSINT);
+	}
+}
+
+static void lp8x4x_unmask_irq(struct irq_data *d)
+{
+	unsigned mask;
+	unsigned long hwirq = d->hwirq;
+	struct lp8x4x_irq_data *host = irq_data_get_irq_chip_data(d);
+
+	if (hwirq < 8) {
+		host->irq_high_enabled |= BIT(hwirq);
+		mask = ioread8(host->base + CLRHILVINT);
+		mask |= BIT(hwirq);
+		iowrite8(mask, host->base + CLRHILVINT);
+
+		mask = ioread8(host->base + ENHILVINT);
+		mask |= BIT(hwirq);
+		iowrite8(mask, host->base + ENHILVINT);
+	} else {
+		hwirq -= 8;
+		host->irq_sys_enabled |= BIT(hwirq);
+
+		mask = ioread8(host->base + SECOINT);
+		mask |= BIT(hwirq);
+		iowrite8(mask, host->base + SECOINT);
+
+		mask = ioread8(host->base + ENSYSINT);
+		mask |= BIT(hwirq);
+		iowrite8(mask, host->base + ENSYSINT);
+	}
+}
+
+static struct irq_chip lp8x4x_irq_chip = {
+	.name			= "FPGA",
+	.irq_ack		= lp8x4x_mask_irq,
+	.irq_mask		= lp8x4x_mask_irq,
+	.irq_mask_ack		= lp8x4x_mask_irq,
+	.irq_unmask		= lp8x4x_unmask_irq,
+};
+
+static void lp8x4x_irq_handler(unsigned int irq, struct irq_desc *desc)
+{
+	int n;
+	unsigned long mask;
+	struct irq_chip *chip = irq_desc_get_chip(desc);
+	struct lp8x4x_irq_data *host = irq_desc_get_handler_data(desc);
+
+	chained_irq_enter(chip, desc);
+
+	for (;;) {
+		mask = ioread8(host->base + CLRHILVINT) & 0xff;
+		mask |= (ioread8(host->base + SECOINT) & SECOINT_MASK) << 8;
+		mask |= (ioread8(host->base + PRIMINT) & PRIMINT_MASK) << 8;
+		mask &= host->irq_high_enabled | (host->irq_sys_enabled << 8);
+		if (mask == 0)
+			break;
+		for_each_set_bit(n, &mask, BITS_PER_LONG)
+			generic_handle_irq(irq_find_mapping(host->domain, n));
+	}
+
+	iowrite8(0, host->base + EOI);
+	chained_irq_exit(chip, desc);
+}
+
+static int lp8x4x_irq_domain_map(struct irq_domain *d, unsigned int irq,
+				 irq_hw_number_t hw)
+{
+	struct lp8x4x_irq_data *host = d->host_data;
+	int err;
+
+	err = irq_set_chip_data(irq, host);
+	if (err < 0)
+		return err;
+
+	irq_set_chip_and_handler(irq, &lp8x4x_irq_chip, handle_level_irq);
+	set_irq_flags(irq, IRQF_VALID | IRQF_PROBE);
+	return 0;
+}
+
+const struct irq_domain_ops lp8x4x_irq_domain_ops = {
+	.map	= lp8x4x_irq_domain_map,
+	.xlate	= irq_domain_xlate_onecell,
+};
+
+static struct of_device_id lp8x4x_irq_dt_ids[] = {
+	{ .compatible = "icpdas,irq-lp8x4x", },
+	{}
+};
+
+static int lp8x4x_irq_probe(struct platform_device *pdev)
+{
+	struct resource *res_mem, *res_irq;
+	struct device_node *np = pdev->dev.of_node;
+	struct lp8x4x_irq_data *host;
+	int i, err;
+
+	res_mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+	res_irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
+	if (!res_mem || !res_irq || resource_size(res_mem) < IRQ_MEM_SIZE)
+		return -ENODEV;
+
+	host = devm_kzalloc(&pdev->dev, sizeof(*host), GFP_KERNEL);
+	if (!host)
+		return -ENODEV;
+
+	host->base = devm_ioremap_resource(&pdev->dev, res_mem);
+	if (!host->base) {
+		dev_err(&pdev->dev, "Failed to ioremap %p\n", host->base);
+		return -EFAULT;
+	}
+
+	host->domain = irq_domain_add_linear(np, LP8X4X_NUM_IRQ_DEFAULT,
+				       &lp8x4x_irq_domain_ops, host);
+	if (!host->domain) {
+		dev_err(&pdev->dev, "Failed to add IRQ domain\n");
+		return -ENOMEM;
+	}
+
+	for (i = 0; i < LP8X4X_NUM_IRQ_DEFAULT; i++) {
+		err = irq_create_mapping(host->domain, i);
+		if (err < 0)
+			dev_err(&pdev->dev, "Failed to map IRQ %i\n", i);
+	}
+
+	/* Initialize chip registers */
+	iowrite8(0, host->base + CLRRISEINT);
+	iowrite8(0, host->base + ENRISEINT);
+	iowrite8(0, host->base + CLRFALLINT);
+	iowrite8(0, host->base + ENFALLINT);
+	iowrite8(0, host->base + CLRHILVINT);
+	iowrite8(0, host->base + ENHILVINT);
+	iowrite8(0, host->base + ENSYSINT);
+	iowrite8(0, host->base + SECOINT);
+
+	irq_set_handler_data(res_irq->start, host);
+	irq_set_chained_handler(res_irq->start, lp8x4x_irq_handler);
+
+	return 0;
+}
+
+static struct platform_driver lp8x4x_irq_driver = {
+	.probe		= lp8x4x_irq_probe,
+	.driver		= {
+		.name	= "irq-lp8x4x",
+		.of_match_table = lp8x4x_irq_dt_ids,
+	},
+};
+
+static int __init lp8x4x_irq_init(void)
+{
+	return platform_driver_register(&lp8x4x_irq_driver);
+}
+postcore_initcall(lp8x4x_irq_init);
-- 
1.8.4.2


  parent reply	other threads:[~2014-04-16 17:19 UTC|newest]

Thread overview: 300+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-01  6:26 [PATCH 00/11] ARM: support for ICP DAS LP-8x4x Sergei Ianovich
2013-12-01  6:26 ` [PATCH 01/11] resolve PXA<->8250 serial device address conflict Sergei Ianovich
2013-12-02  9:02   ` Heikki Krogerus
2013-12-02  9:23     ` Sergei Ianovich
2013-12-02  9:49       ` Heikki Krogerus
2013-12-02 10:26         ` Sergei Ianovich
2013-12-02 14:10           ` Heikki Krogerus
2013-12-05  4:12             ` Greg Kroah-Hartman
2013-12-05  4:31               ` Sergei Ianovich
2013-12-05  4:35                 ` Greg Kroah-Hartman
2013-12-05  4:36                   ` Sergei Ianovich
2013-12-05 23:28                   ` [PATCH] serial: rewrite pxa2xx-uart to use 8250_core Sergei Ianovich
2013-12-06  0:02                     ` Greg Kroah-Hartman
2013-12-06  0:17                       ` Russell King - ARM Linux
2013-12-06  9:28                         ` Sergei Ianovich
2013-12-06  9:53                           ` James Cameron
2013-12-06 10:34                             ` Sergei Ianovich
2013-12-06 11:05                               ` James Cameron
2013-12-06  0:38                     ` James Cameron
2013-12-06  2:55                       ` James Cameron
2013-12-06  2:42                     ` James Cameron
2013-12-06  9:16                       ` Sergei Ianovich
2013-12-06  9:09                     ` [PATCH v2] " Sergei Ianovich
2013-12-06  9:28                       ` James Cameron
2013-12-09  8:38                       ` Heikki Krogerus
2013-12-09  8:44                         ` Sascha Hauer
2013-12-09 11:38                       ` [PATCH v3] " Sergei Ianovich
2014-01-28 14:14   ` [PATCH 01/11] resolve PXA<->8250 serial device address conflict Pavel Machek
2014-01-28 14:20     ` Sergei Ianovich
2013-12-01  6:26 ` [PATCH 02/11] arm: pxa27x: support ICP DAS LP-8x4x Sergei Ianovich
2013-12-06  0:40   ` Arnd Bergmann
2013-12-06 16:38     ` Sergei Ianovich
2013-12-06 17:14       ` Arnd Bergmann
2013-12-10 12:33         ` Linus Walleij
2013-12-10 20:20           ` Sergei Ianovich
2013-12-10 21:57             ` Arnd Bergmann
2013-12-11  4:30               ` Sergei Ianovich
2013-12-11  5:11                 ` Arnd Bergmann
2013-12-11  5:41                   ` Sergei Ianovich
2013-12-11 14:53                     ` Arnd Bergmann
2013-12-06 16:48   ` [PATCH v2 " Sergei Ianovich
2013-12-08  2:21     ` Arnd Bergmann
2013-12-08  7:05       ` Sergei Ianovich
2013-12-09  0:54         ` Arnd Bergmann
2013-12-08 22:53     ` [PATCH 0/9] ARM: support for ICP DAS LP-8x4x (with dts) Sergei Ianovich
2013-12-08 22:53       ` [PATCH 1/9] ARM: dts: pxa2xx fix compatible strings Sergei Ianovich
2013-12-08 22:53       ` [PATCH 2/9] ARM: dts: fix pxa27x-gpio interrupts Sergei Ianovich
2013-12-08 22:53       ` [PATCH 3/9] ARM: fix ohci-pxa27x build error with OF enabled Sergei Ianovich
2013-12-09 14:26         ` Steve Cotton
2013-12-09 14:42           ` Sergei Ianovich
2013-12-08 22:53       ` [PATCH 4/9] ARM: pxa: remove unused variable Sergei Ianovich
2013-12-09  8:56         ` Daniel Mack
2013-12-09  9:42           ` Sergei Ianovich
2013-12-09  9:49             ` Daniel Mack
2013-12-08 22:53       ` [PATCH 5/9] ARM: dts: provide DMA config to pxamci Sergei Ianovich
2013-12-09  1:33         ` Arnd Bergmann
     [not found]           ` <52A587A0.1050503@gmail.com>
2013-12-09  9:34             ` Sergei Ianovich
2013-12-09  9:53               ` Sergei Ianovich
2013-12-09 10:21               ` Daniel Mack
2013-12-09 12:09                 ` Sergei Ianovich
2013-12-10  0:25                   ` Arnd Bergmann
2013-12-10  4:25                     ` Sergei Ianovich
2013-12-09 13:16                 ` Sergei Ianovich
2013-12-11  8:19             ` Robert Jarzmik
2013-12-08 22:53       ` [PATCH 6/9] ARM: dts: pxa3xx: move declaration to header Sergei Ianovich
2013-12-09  1:13         ` Arnd Bergmann
2013-12-08 22:53       ` [PATCH 7/9] ARM: dts: pxa27x: skip static platform devices Sergei Ianovich
2013-12-09 15:26         ` Dmitry Eremin-Solenikov
2013-12-08 22:53       ` [PATCH 8/9] ARM: dts: pxa27x: device tree irq init Sergei Ianovich
2013-12-08 22:53       ` [PATCH 9/9] ARM: pxa27x: device tree support ICP DAS LP-8x4x Sergei Ianovich
2013-12-09  1:47         ` Arnd Bergmann
2013-12-09 15:16           ` Sergei Ianovich
2013-12-09 15:55             ` Sergei Ianovich
2013-12-09 16:39               ` Arnd Bergmann
2013-12-09 16:25             ` Arnd Bergmann
2013-12-09  1:51       ` [PATCH 0/9] ARM: support for ICP DAS LP-8x4x (with dts) Arnd Bergmann
2013-12-09 18:44         ` Sergei Ianovich
2013-12-13  2:27       ` [PATCH v2 00/16] " Sergei Ianovich
2013-12-13  2:27         ` [PATCH v2 01/16] ARM: dts: pxa2xx fix compatible strings Sergei Ianovich
2013-12-13  2:27         ` [PATCH v2 02/16] ARM: dts: fix pxa27x-gpio interrupts Sergei Ianovich
2013-12-13  2:27         ` [PATCH v2 03/16] ARM: dts: provide DMA config to pxamci Sergei Ianovich
2013-12-14 19:06           ` Arnd Bergmann
2013-12-14 19:34             ` Sergei Ianovich
2013-12-14 23:39               ` Arnd Bergmann
     [not found]               ` <52AECEB2.4070807@gmail.com>
2013-12-16 11:47                 ` Sergei Ianovich
2013-12-16 11:58                   ` Lars-Peter Clausen
2013-12-16 12:03                     ` Sergei Ianovich
2013-12-13  2:27         ` [PATCH v2 04/16] ARM: dts: pxa3xx: move declaration to header Sergei Ianovich
2013-12-13  2:27         ` [PATCH v2 05/16] ARM: dts: pxa27x: irq init using device tree Sergei Ianovich
2013-12-13  2:27         ` [PATCH v2 06/16] ARM: pxa27x: device tree support ICP DAS LP-8x4x Sergei Ianovich
2013-12-13  2:27         ` [PATCH v2 07/16] rtc: support DS1302 RTC on " Sergei Ianovich
2013-12-13  2:27         ` [PATCH v2 08/16] mtd: support BB SRAM " Sergei Ianovich
2013-12-13  2:27         ` [PATCH v2 09/16] ARM: pxa: support ICP DAS LP-8x4x FPGA irq Sergei Ianovich
2013-12-13  2:27         ` [PATCH v2 10/16] serial: support for 16550A serial ports on LP-8x4x Sergei Ianovich
2013-12-13  2:27         ` [PATCH v2 11/16] misc: support for LP-8x4x custom parallel bus Sergei Ianovich
2013-12-13  2:27         ` [PATCH v2 12/16] misc: support for serial slots in LP-8x4x Sergei Ianovich
2013-12-13  2:27         ` [PATCH v2 13/16] misc: support for parallel " Sergei Ianovich
2013-12-13  2:27         ` [PATCH v2 14/16] misc: support for I-8041 " Sergei Ianovich
2013-12-13  2:27         ` [PATCH v2 15/16] misc: support for I-8042 " Sergei Ianovich
2013-12-13  2:27         ` [PATCH v2 16/16] misc: support for I-8024 " Sergei Ianovich
2013-12-14 20:59           ` Arnd Bergmann
2013-12-14 23:03             ` Sergei Ianovich
2013-12-13  2:33         ` [PATCH v2 00/16] ARM: support for ICP DAS LP-8x4x (with dts) Sergei Ianovich
2013-12-14 21:03         ` Arnd Bergmann
2013-12-14 21:55           ` Sergei Ianovich
2013-12-15  0:53             ` Arnd Bergmann
2013-12-15  2:12               ` Sergei Ianovich
2013-12-15  2:55                 ` Arnd Bergmann
2013-12-16 13:01                   ` Sergei Ianovich
2013-12-16 17:56                     ` Arnd Bergmann
2013-12-16 20:38                       ` Sergei Ianovich
2013-12-18 20:50                         ` Arnd Bergmann
2013-12-18 20:56                           ` Sergei Ianovich
2013-12-18 21:10                             ` Arnd Bergmann
2013-12-18 21:20                               ` Sergei Ianovich
2013-12-19  5:30                                 ` Arnd Bergmann
2014-01-09 23:12                                   ` Sergei Ianovich
2014-01-20 16:08                                     ` Sergei Ianovich
2014-01-20 16:20                                       ` Daniel Mack
2014-01-20 16:52                                         ` Sergei Ianovich
2014-01-20 16:58                                           ` Daniel Mack
2013-12-17 19:37         ` [PATCH v3 00/21] " Sergei Ianovich
2013-12-17 19:37           ` [PATCH v3 01/21 resend] serial: rewrite pxa2xx-uart to use 8250_core Sergei Ianovich
2013-12-18 23:55             ` Greg Kroah-Hartman
2013-12-19  8:51             ` Heikki Krogerus
2013-12-19  9:35               ` Sergei Ianovich
2013-12-19 10:01                 ` Sergei Ianovich
2013-12-19 11:05                   ` Heikki Krogerus
2013-12-17 19:37           ` [PATCH v3 02/21] ARM: dts: pxa2xx fix compatible strings Sergei Ianovich
2013-12-17 19:37           ` [PATCH v3 03/21] ARM: dts: fix pxa27x-gpio interrupts Sergei Ianovich
2013-12-17 19:37           ` [PATCH v3 04/21] ARM: dts: pxa3xx: move declaration to header Sergei Ianovich
2013-12-17 19:37           ` [PATCH v3 05/21] ARM: dts: pxa27x: irq init using device tree Sergei Ianovich
2013-12-17 19:37           ` [PATCH v3 06/21] ARM: dts: provide DMA config to pxamci on PXA27x Sergei Ianovich
2013-12-17 19:37           ` [PATCH v3 07/21] ARM: dts: parse DMA config in pxamci Sergei Ianovich
2013-12-19  0:50             ` Sergei Ianovich
2013-12-17 19:37           ` [PATCH v3 08/21] ARM: pxa27x: device tree support ICP DAS LP-8x4x Sergei Ianovich
2013-12-17 19:37           ` [PATCH v3 09/21] rtc: support DS1302 RTC on " Sergei Ianovich
2013-12-17 19:37           ` [PATCH v3 10/21] mtd: support BB SRAM " Sergei Ianovich
2014-04-16  5:04             ` Brian Norris
2014-04-16  5:21               ` Sergei Ianovich
2013-12-17 19:37           ` [PATCH v3 11/21] ARM: pxa: support ICP DAS LP-8x4x FPGA irq Sergei Ianovich
2014-01-02 12:32             ` Linus Walleij
2014-01-08 19:01               ` Sergei Ianovich
2014-01-15  7:39                 ` Linus Walleij
2014-01-15 13:17                   ` Sergei Ianovich
2014-01-09 23:07             ` [PATCH v3.1 " Sergei Ianovich
2014-01-15  7:46               ` Linus Walleij
2014-01-15 13:12               ` [PATCH v3.2 " Sergei Ianovich
2013-12-17 19:37           ` [PATCH v3 12/21] serial: support for 16550A serial ports on LP-8x4x Sergei Ianovich
2013-12-19 11:18             ` Heikki Krogerus
2013-12-17 19:37           ` [PATCH v3 13/21] misc: support for LP-8x4x custom parallel bus Sergei Ianovich
2013-12-17 19:37           ` [PATCH v3 14/21] misc: support for LP-8x4x rotary switch Sergei Ianovich
2013-12-17 19:37           ` [PATCH v3 15/21] misc: support for LP-8x4x DIP switch Sergei Ianovich
2013-12-17 19:37           ` [PATCH v3 16/21] misc: support for writing to LP-8x4x EEPROM Sergei Ianovich
2013-12-17 19:37           ` [PATCH v3 17/21] misc: support for serial slots in LP-8x4x Sergei Ianovich
2013-12-17 19:37           ` [PATCH v3 18/21] misc: support for parallel " Sergei Ianovich
2013-12-17 19:37           ` [PATCH v3 19/21] misc: support for I-8041 " Sergei Ianovich
2013-12-17 19:37           ` [PATCH v3 20/21] misc: support for I-8042 " Sergei Ianovich
2013-12-17 19:37           ` [PATCH v3 21/21] misc: support for I-8024 " Sergei Ianovich
2014-04-16 17:13           ` [PATCH v4 00/21] ARM: support for ICP DAS LP-8x4x (with dts) Sergei Ianovich
2014-04-16 17:13             ` [PATCH v4 01/21] serial: rewrite pxa2xx-uart to use 8250_core Sergei Ianovich
2015-01-19 18:08               ` Rob Herring
2014-04-16 17:13             ` [PATCH v4 02/21] ARM: dts: pxa2xx fix compatible strings Sergei Ianovich
2014-04-16 17:13             ` [PATCH v4 03/21] ARM: dts: fix pxa27x-gpio interrupts Sergei Ianovich
2014-04-16 17:13             ` [PATCH v4 04/21] ARM: dts: pxa3xx: move declaration to header Sergei Ianovich
2014-04-16 17:13             ` [PATCH v4 05/21] ARM: dts: pxa27x: irq init using device tree Sergei Ianovich
2014-04-16 17:13             ` [PATCH v4 06/21] ARM: dts: provide DMA config to pxamci on PXA27x Sergei Ianovich
2014-04-16 17:17               ` [PATCH v4 07/21] ARM: dts: parse DMA config in pxamci Sergei Ianovich
2014-04-16 17:17                 ` [PATCH v4 08/21] ARM: pxa27x: device tree support ICP DAS LP-8x4x Sergei Ianovich
2014-04-16 17:17                 ` [PATCH v4 09/21] rtc: support DS1302 RTC on " Sergei Ianovich
2015-06-08 12:07                   ` [v4,09/21] " Alexandre Belloni
2015-06-08 12:12                     ` Sergei Ianovich
2014-04-16 17:17                 ` [PATCH v4 10/21] mtd: support BB SRAM " Sergei Ianovich
2014-04-30 17:21                   ` Brian Norris
2014-04-30 17:35                     ` ООО "ЭлектроПлюс"
2015-12-15 18:58                   ` [PATCH v5] " Sergei Ianovich
2015-12-20  3:38                     ` Rob Herring
2015-12-20 10:43                       ` Sergei Ianovich
2016-01-06 23:25                         ` Brian Norris
2016-02-23 18:58                     ` [PATCH v6] " Sergei Ianovich
2016-02-23 19:48                       ` Rob Herring
2016-03-08  0:19                       ` Brian Norris
2014-04-16 17:17                 ` Sergei Ianovich [this message]
2015-12-15 19:26                   ` [PATCH v5] arm: pxa: support ICP DAS LP-8x4x FPGA irq Sergei Ianovich
2015-12-19  4:20                     ` Rob Herring
     [not found]                     ` <20151219035802.GA28424@rob-hp-laptop>
2015-12-19  7:03                       ` Sergei Ianovich
2016-02-27 15:56                     ` [PATCH v6] " Sergei Ianovich
2016-02-27 17:41                       ` Jason Cooper
2016-02-29  8:29                         ` Marc Zyngier
2016-03-03 22:12                       ` Rob Herring
2014-04-16 17:17                 ` [PATCH v4 12/21] serial: support for 16550A serial ports on LP-8x4x Sergei Ianovich
2014-04-16 18:35                   ` One Thousand Gnomes
2014-04-16 19:01                     ` Sergei Ianovich
2014-04-16 20:00                       ` One Thousand Gnomes
2014-04-16 20:32                         ` Sergei Ianovich
2014-04-16 17:17                 ` [PATCH v4 13/21] misc: support for LP-8x4x custom parallel bus Sergei Ianovich
2014-04-16 18:41                   ` One Thousand Gnomes
2014-04-16 18:42                     ` Arnd Bergmann
2014-04-16 20:29                       ` One Thousand Gnomes
2014-04-16 19:53                     ` Sergei Ianovich
2014-04-16 17:17                 ` [PATCH v4 14/21] misc: support for LP-8x4x rotary switch Sergei Ianovich
2014-04-16 17:17                 ` [PATCH v4 15/21] misc: support for LP-8x4x DIP switch Sergei Ianovich
2014-04-16 17:17                 ` [PATCH v4 16/21] misc: support for writing to LP-8x4x EEPROM Sergei Ianovich
2014-04-16 17:17                 ` [PATCH v4 17/21] misc: support for serial slots in LP-8x4x Sergei Ianovich
2014-04-16 17:17                 ` [PATCH v4 18/21] misc: support for parallel " Sergei Ianovich
2014-04-16 17:17                 ` [PATCH v4 19/21] misc: support for I-8041 " Sergei Ianovich
2014-04-16 17:17                 ` [PATCH v4 20/21] misc: support for I-8042 " Sergei Ianovich
2014-04-16 17:17                 ` [PATCH v4 21/21] misc: support for I-8024 " Sergei Ianovich
2014-04-16 18:39                   ` One Thousand Gnomes
2014-04-16 19:28                     ` Sergei Ianovich
2014-04-16 19:56                       ` One Thousand Gnomes
2014-04-16 20:06                         ` Sergei Ianovich
2015-12-15 21:04                 ` [PATCH v5] serial: support for 16550A serial ports on LP-8x4x Sergei Ianovich
2015-12-15 21:51                   ` Arnd Bergmann
2015-12-16  8:04                     ` Sergei Ianovich
2015-12-16 10:26                       ` Arnd Bergmann
2015-12-19  8:11                         ` Sergei Ianovich
2015-12-19 21:42                     ` Sergei Ianovich
2015-12-17 14:50                   ` Andy Shevchenko
2016-02-27 16:14                   ` [PATCH v6] " Sergei Ianovich
2016-02-29 10:29                     ` Andy Shevchenko
2016-02-29 13:03                       ` Sergei Ianovich
2016-02-29 14:45                         ` One Thousand Gnomes
2016-02-29 21:26                     ` [PATCH v7] " Sergei Ianovich
2016-03-01 11:06                       ` Andy Shevchenko
2016-03-01 16:25                         ` Sergei Ianovich
2016-03-01 16:46                           ` Andy Shevchenko
2016-03-01 17:14                             ` Sergei Ianovich
2016-03-01 17:48                               ` Andy Shevchenko
2016-03-01 18:43                                 ` One Thousand Gnomes
2016-03-01 19:28                                 ` Sergei Ianovich
2016-03-01 19:53                                   ` One Thousand Gnomes
2016-03-01 19:54                       ` [PATCH v8] " Sergei Ianovich
2016-03-01 20:08                         ` [PATCH v9] " Sergei Ianovich
2016-03-01 20:23                           ` Andy Shevchenko
2016-03-01 21:25                           ` [PATCH v10] " Sergei Ianovich
2016-03-05  4:26                             ` Rob Herring
2014-04-16 17:39             ` [PATCH v4 00/21] ARM: support for ICP DAS LP-8x4x (with dts) Daniel Mack
2014-04-16 20:59               ` Sergei Ianovich
2014-04-17 10:38                 ` Daniel Mack
2014-04-17 12:12                   ` Sergei Ianovich
2014-04-17 12:34                     ` Daniel Mack
2014-04-19 11:59                       ` Arnd Bergmann
2015-12-09 22:28           ` [PATCH v4 0/2] series to support for ICP DAS LP-8x4x (ARM PXA270) Sergei Ianovich
2015-12-09 22:28             ` [PATCH v4 1/2] serial: rewrite pxa2xx-uart to use 8250_core Sergei Ianovich
2015-12-19 12:45               ` Robert Jarzmik
2015-12-19 13:26                 ` Robert Jarzmik
2015-12-19 18:46                   ` Sergei Ianovich
2015-12-19 19:31                     ` Robert Jarzmik
2015-12-19 20:12                       ` Sergei Ianovich
2015-12-19 23:12                         ` Robert Jarzmik
2015-12-20 11:24                           ` Sergei Ianovich
2015-12-22 19:27                             ` Robert Jarzmik
2015-12-23 18:59               ` [PATCH v5] " Sergei Ianovich
2015-12-23 22:50                 ` kbuild test robot
2015-12-24 15:15                 ` [PATCH v6] " Sergei Ianovich
2015-12-29 11:06                   ` Heikki Krogerus
2015-12-29 16:50                     ` Robert Jarzmik
2016-02-07  6:22                   ` Greg Kroah-Hartman
2016-02-22  1:56                     ` Sergei Ianovich
2016-02-22  7:17                       ` Robert Jarzmik
2016-09-27 15:47                         ` Robert Jarzmik
2016-09-27 16:12                           ` Greg Kroah-Hartman
2016-09-27 16:24                             ` Robert Jarzmik
2015-12-09 22:28             ` [PATCH v4 2/2] arm: pxa27x: support for ICP DAS LP-8x4x w/ DT Sergei Ianovich
2015-12-11  2:53               ` Rob Herring
2015-12-15 16:27               ` [PATCH v5 " Sergei Ianovich
2015-12-15 16:32                 ` Arnd Bergmann
2015-12-15 16:42                   ` Sergei Ianovich
2015-12-15 17:02                     ` Arnd Bergmann
2015-12-15 17:24                       ` Sergei Ianovich
2015-12-15 18:06                         ` Robert Jarzmik
2015-12-15 18:50                           ` Sergei Ianovich
2015-12-15 19:21                             ` Arnd Bergmann
2015-12-15 20:01                               ` Robert Jarzmik
2015-12-15 20:40                                 ` Arnd Bergmann
2015-12-19 12:27                       ` Robert Jarzmik
2015-12-19  7:53                 ` [PATCH] arm: pxa: create a unified defconfig for PXA27X-DT Sergei Ianovich
2013-12-10 12:43     ` [PATCH v2 02/11] arm: pxa27x: support ICP DAS LP-8x4x Linus Walleij
2013-12-10 12:47       ` Sergei Ianovich
2013-12-12 19:58         ` Linus Walleij
2013-12-10 12:54       ` Vasily Khoruzhick
2013-12-12 20:07         ` Linus Walleij
2013-12-10 22:24       ` Dmitry Eremin-Solenikov
2013-12-01  6:26 ` [PATCH 03/11] rtc: support DS1302 RTC on " Sergei Ianovich
2013-12-01  6:26 ` [PATCH 04/11] mtd: support BB SRAM " Sergei Ianovich
2013-12-01  6:26 ` [PATCH 05/11] serial: support for 16550 serial ports on LP-8x4x Sergei Ianovich
2013-12-02  8:48   ` Heikki Krogerus
2013-12-02 11:46     ` Sergei Ianovich
2013-12-02 13:53       ` Heikki Krogerus
2013-12-02 11:30   ` Russell King - ARM Linux
2013-12-02 11:39     ` Sergei Ianovich
2013-12-02 11:52       ` Russell King - ARM Linux
2013-12-02 12:01         ` Sergei Ianovich
2013-12-01  6:26 ` [PATCH 06/11] misc: support for LP-8x4x custom parallel bus Sergei Ianovich
2013-12-01  6:26 ` [PATCH 07/11] misc: support for serial slots in LP-8x4x Sergei Ianovich
2013-12-01  6:26 ` [PATCH 08/11] misc: support for parallel " Sergei Ianovich
2013-12-01  6:26 ` [PATCH 09/11] misc: support for I-8041 " Sergei Ianovich
2013-12-01  6:26 ` [PATCH 10/11] misc: support for I-8042 " Sergei Ianovich
2013-12-01  6:26 ` [PATCH 11/11] misc: support for I-8024 " Sergei Ianovich

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=1397668667-27328-5-git-send-email-ynvich@gmail.com \
    --to=ynvich@gmail.com \
    --cc=arnd@arndb.de \
    --cc=devicetree@vger.kernel.org \
    --cc=galak@codeaurora.org \
    --cc=grant.likely@linaro.org \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=pawel.moll@arm.com \
    --cc=rdunlap@infradead.org \
    --cc=robh+dt@kernel.org \
    --cc=tglx@linutronix.de \
    /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;
as well as URLs for NNTP newsgroup(s).