From: Sergei Ianovich <ynvich@gmail.com>
To: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Cc: Sergei Ianovich <ynvich@gmail.com>,
Russell King <linux@arm.linux.org.uk>,
Eric Miao <eric.y.miao@gmail.com>,
Haojian Zhuang <haojian.zhuang@gmail.com>,
David Woodhouse <dwmw2@infradead.org>,
Artem Bityutskiy <artem.bityutskiy@linux.intel.com>,
Robert Jarzmik <robert.jarzmik@free.fr>,
Kees Cook <keescook@chromium.org>,
Randy Dunlap <rdunlap@infradead.org>,
Philip Avinash <avinashphilip@ti.com>,
linux-mtd@lists.infradead.org (open list:MEMORY TECHNOLOGY...)
Subject: [PATCH 04/11] mtd: support BB SRAM on ICP DAS LP-8x4x
Date: Sun, 1 Dec 2013 10:26:17 +0400 [thread overview]
Message-ID: <1385879185-22455-5-git-send-email-ynvich@gmail.com> (raw)
In-Reply-To: <1385879185-22455-1-git-send-email-ynvich@gmail.com>
This provides an MTD device driver for 512kB of battery backed up SRAM
on ICPDAS LP-8X4X programmable automation controllers.
SRAM chip is connected via FPGA and is not accessible without a driver,
unlike flash memory which is wired to CPU MMU.
This SRAM becomes an excellent persisent storage of volatile process
data like counter values and sensor statuses. Storing those data in
flash or mmc card is not a viable solution.
Signed-off-by: Sergei Ianovich <ynvich@gmail.com>
---
arch/arm/configs/lp8x4x_defconfig | 1 +
arch/arm/mach-pxa/include/mach/lp8x4x.h | 2 +
arch/arm/mach-pxa/lp8x4x.c | 26 ++++
drivers/mtd/devices/Kconfig | 13 ++
drivers/mtd/devices/Makefile | 1 +
drivers/mtd/devices/lp8x4x_sram.c | 229 ++++++++++++++++++++++++++++++++
6 files changed, 272 insertions(+)
create mode 100644 drivers/mtd/devices/lp8x4x_sram.c
diff --git a/arch/arm/configs/lp8x4x_defconfig b/arch/arm/configs/lp8x4x_defconfig
index 27831e4..03c85bc 100644
--- a/arch/arm/configs/lp8x4x_defconfig
+++ b/arch/arm/configs/lp8x4x_defconfig
@@ -874,6 +874,7 @@ CONFIG_MTD_PXA2XX=y
# Disk-On-Chip Device Drivers
#
# CONFIG_MTD_DOCG3 is not set
+CONFIG_MTD_LP8X4X_SRAM=y
# CONFIG_MTD_NAND is not set
# CONFIG_MTD_ONENAND is not set
diff --git a/arch/arm/mach-pxa/include/mach/lp8x4x.h b/arch/arm/mach-pxa/include/mach/lp8x4x.h
index d8a1376..a49df22 100644
--- a/arch/arm/mach-pxa/include/mach/lp8x4x.h
+++ b/arch/arm/mach-pxa/include/mach/lp8x4x.h
@@ -49,6 +49,8 @@
#define LP8X4X_ENFALLINT LP8X4X_P2V(0x17009018)
#define LP8X4X_CLRFALLINT LP8X4X_P2V(0x1700901a)
#define LP8X4X_RWRTC LP8X4X_P2V(0x1700901c)
+#define LP8X4X_SRAMBANK 0x1700901e
+#define LP8X4X_SRAM 0x1700a000
/* board specific IRQs */
diff --git a/arch/arm/mach-pxa/lp8x4x.c b/arch/arm/mach-pxa/lp8x4x.c
index a31b556..47a8776 100644
--- a/arch/arm/mach-pxa/lp8x4x.c
+++ b/arch/arm/mach-pxa/lp8x4x.c
@@ -234,6 +234,17 @@ static struct resource lp8x4x_flash_resources[] = {
.end = PXA_CS1_PHYS + SZ_32M - 1,
.flags = IORESOURCE_MEM,
},
+ [2] = {
+ .start = LP8X4X_SRAMBANK,
+ .end = LP8X4X_SRAMBANK + 1,
+ .flags = IORESOURCE_MEM,
+ },
+ [3] = {
+ .start = LP8X4X_SRAM,
+ .end = LP8X4X_SRAM + SZ_4K - 1,
+ .flags = IORESOURCE_MEM,
+ },
+
};
static struct mtd_partition lp8x4x_flash0_partitions[] = {
@@ -267,6 +278,10 @@ static struct flash_platform_data lp8x4x_flash_data[] = {
.parts = NULL,
.nr_parts = 0,
.width = 2,
+ }, {
+ .parts = NULL,
+ .nr_parts = 0,
+ .width = 1,
}
};
@@ -289,6 +304,16 @@ static struct platform_device lp8x4x_flash_device[] = {
.resource = &lp8x4x_flash_resources[1],
.num_resources = 1,
},
+ {
+ .name = "lp8x4x-sram",
+ .id = 0,
+ .dev = {
+ .platform_data = &lp8x4x_flash_data[2],
+ },
+ .resource = &lp8x4x_flash_resources[2],
+ .num_resources = 2,
+ },
+
};
static struct pxafb_mode_info lp8x4x_vga_60_mode = {
@@ -396,6 +421,7 @@ static struct platform_device lp8x4x_ds1302_device[] = {
static struct platform_device *lp8x4x_devices[] __initdata = {
&lp8x4x_flash_device[0],
&lp8x4x_flash_device[1],
+ &lp8x4x_flash_device[2],
&lp8x4x_dm9000_device[0],
&lp8x4x_dm9000_device[1],
&lp8x4x_ds1302_device[0],
diff --git a/drivers/mtd/devices/Kconfig b/drivers/mtd/devices/Kconfig
index 0128138..7da0c21 100644
--- a/drivers/mtd/devices/Kconfig
+++ b/drivers/mtd/devices/Kconfig
@@ -217,4 +217,17 @@ config BCH_CONST_T
default 4
endif
+config MTD_LP8X4X_SRAM
+ tristate "SRAM on ICPDAS LP-8X4X"
+ ---help---
+ This provides an MTD device driver for 512kB of battery backed up SRAM
+ on ICPDAS LP-8X4X programmable automation controllers.
+
+ SRAM chip is connected via FPGA and is not accessible without a driver,
+ unlike flash memory which is wired to CPU MMU.
+
+ Say N, unless you plan to run this kernel on LP-8X4X.
+
+ If you say M, the module will be called lp8x4x_sram.
+
endmenu
diff --git a/drivers/mtd/devices/Makefile b/drivers/mtd/devices/Makefile
index d83bd73..8c5d9b0 100644
--- a/drivers/mtd/devices/Makefile
+++ b/drivers/mtd/devices/Makefile
@@ -16,6 +16,7 @@ obj-$(CONFIG_MTD_NAND_OMAP_BCH) += elm.o
obj-$(CONFIG_MTD_SPEAR_SMI) += spear_smi.o
obj-$(CONFIG_MTD_SST25L) += sst25l.o
obj-$(CONFIG_MTD_BCM47XXSFLASH) += bcm47xxsflash.o
+obj-$(CONFIG_MTD_LP8X4X_SRAM) += lp8x4x_sram.o
CFLAGS_docg3.o += -I$(src)
diff --git a/drivers/mtd/devices/lp8x4x_sram.c b/drivers/mtd/devices/lp8x4x_sram.c
new file mode 100644
index 0000000..8fe625d
--- /dev/null
+++ b/drivers/mtd/devices/lp8x4x_sram.c
@@ -0,0 +1,229 @@
+/*
+ * linux/drivers/mtd/devices/lp8x4x_sram.c
+ *
+ * MTD Driver for SRAM on ICPDAS LP-8x4x
+ * 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/string_helpers.h>
+#include <linux/module.h>
+#include <linux/types.h>
+#include <linux/slab.h>
+#include <linux/kernel.h>
+#include <linux/init.h>
+#include <linux/platform_device.h>
+#include <linux/mtd/mtd.h>
+#include <linux/mtd/map.h>
+#include <linux/mtd/partitions.h>
+
+#include <linux/io.h>
+#include <mach/hardware.h>
+
+#include <asm/mach/flash.h>
+
+struct lp8x4x_sram_info {
+ void __iomem *bank;
+ void __iomem *virt;
+ struct mutex lock;
+ unsigned active_bank;
+ struct mtd_info mtd;
+};
+
+static int
+lp8x4x_sram_erase(struct mtd_info *mtd, struct erase_info *instr)
+{
+ struct lp8x4x_sram_info *info = mtd->priv;
+ unsigned bank = instr->addr >> 11;
+ unsigned offset = (instr->addr & 0x7ff) << 1;
+ loff_t i;
+
+ mutex_lock(&info->lock);
+ if (unlikely(bank != info->active_bank)) {
+ info->active_bank = bank;
+ iowrite8(bank, info->bank);
+ }
+ for (i = 0; i < instr->len; i++) {
+ iowrite8(0xff, info->virt + offset);
+ offset += 2;
+ if (unlikely(offset == 0)) {
+ info->active_bank++;
+ iowrite8(info->active_bank, info->bank);
+ }
+ }
+ mutex_unlock(&info->lock);
+ instr->state = MTD_ERASE_DONE;
+ mtd_erase_callback(instr);
+
+ return 0;
+}
+
+static int
+lp8x4x_sram_write(struct mtd_info *mtd, loff_t to, size_t len,
+ size_t *retlen, const u_char *b)
+{
+ struct lp8x4x_sram_info *info = mtd->priv;
+ unsigned bank = to >> 11;
+ unsigned offset = (to & 0x7ff) << 1;
+ loff_t i;
+
+ mutex_lock(&info->lock);
+ if (unlikely(bank != info->active_bank)) {
+ info->active_bank = bank;
+ iowrite8(bank, info->bank);
+ }
+ for (i = 0; i < len; i++) {
+ iowrite8(b[i], info->virt + offset);
+ offset += 2;
+ if (unlikely(offset == 0)) {
+ info->active_bank++;
+ iowrite8(info->active_bank, info->bank);
+ }
+ }
+ mutex_unlock(&info->lock);
+ *retlen = len;
+ return 0;
+}
+
+static int
+lp8x4x_sram_read(struct mtd_info *mtd, loff_t from, size_t len,
+ size_t *retlen, u_char *b)
+{
+ struct lp8x4x_sram_info *info = mtd->priv;
+ unsigned bank = from >> 11;
+ unsigned offset = (from & 0x7ff) << 1;
+ loff_t i;
+
+ mutex_lock(&info->lock);
+ if (unlikely(bank != info->active_bank)) {
+ info->active_bank = bank;
+ iowrite8(bank, info->bank);
+ }
+ for (i = 0; i < len; i++) {
+ b[i] = ioread8(info->virt + offset);
+ offset += 2;
+ if (unlikely(offset == 0)) {
+ info->active_bank++;
+ iowrite8(info->active_bank, info->bank);
+ }
+ }
+ mutex_unlock(&info->lock);
+ *retlen = len;
+ return 0;
+}
+
+static void
+lp8x4x_sram_sync(struct mtd_info *mtd)
+{
+}
+
+static const char const *probes[] = { "RedBoot", "cmdlinepart", NULL };
+
+static int
+lp8x4x_sram_probe(struct platform_device *pdev)
+{
+ struct flash_platform_data *flash = pdev->dev.platform_data;
+ struct lp8x4x_sram_info *info;
+ struct resource *res;
+ char sz_str[16];
+ int err = 0;
+
+ info = kzalloc(sizeof(*info), GFP_KERNEL);
+ if (!info)
+ return -ENOMEM;
+
+ res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+ if (!res) {
+ err = -ENODEV;
+ goto err1;
+ }
+
+ info->bank = ioremap(res->start, resource_size(res));
+ if (!info->bank) {
+ dev_err(&pdev->dev, "Failed to ioremap %p\n",
+ info->bank);
+ err = -EFAULT;
+ goto err1;
+ }
+
+ res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
+ if (!res) {
+ err = -ENODEV;
+ goto err2;
+ }
+
+ info->virt = ioremap(res->start, resource_size(res));
+ if (!info->virt) {
+ dev_err(&pdev->dev, "Failed to ioremap %p\n",
+ info->virt);
+ err = -EFAULT;
+ goto err2;
+ }
+
+ info->mtd.priv = info;
+ info->mtd.name = "SRAM";
+ info->mtd.type = MTD_RAM;
+ info->mtd.flags = MTD_CAP_RAM;
+ info->mtd.size = resource_size(res) << 7;
+ info->mtd.erasesize = 512;
+ info->mtd.writesize = 4;
+ info->mtd._erase = lp8x4x_sram_erase;
+ info->mtd._write = lp8x4x_sram_write;
+ info->mtd._read = lp8x4x_sram_read;
+ info->mtd._sync = lp8x4x_sram_sync;
+ info->mtd.owner = THIS_MODULE;
+
+ err = mtd_device_parse_register(&info->mtd, probes, NULL, flash->parts,
+ flash->nr_parts);
+ if (err < 0) {
+ dev_err(&pdev->dev, "Failed to register device\n");
+ goto err3;
+ }
+
+ mutex_init(&info->lock);
+ iowrite8(info->active_bank, info->bank);
+ platform_set_drvdata(pdev, info);
+ string_get_size(info->mtd.size, STRING_UNITS_2, sz_str,
+ sizeof(sz_str));
+ dev_info(&pdev->dev, "using %s SRAM on LP-8X4X as %s\n", sz_str,
+ dev_name(&info->mtd.dev));
+ return 0;
+err3:
+ iounmap(info->virt);
+err2:
+ iounmap(info->bank);
+err1:
+ kfree(info);
+ return err;
+}
+
+static int
+lp8x4x_sram_remove(struct platform_device *dev)
+{
+ struct lp8x4x_sram_info *info = platform_get_drvdata(dev);
+
+ platform_set_drvdata(dev, NULL);
+ mtd_device_unregister(&info->mtd);
+ iounmap(info->virt);
+ iounmap(info->bank);
+ kfree(info);
+ return 0;
+}
+
+static struct platform_driver lp8x4x_sram_driver = {
+ .driver = {
+ .name = "lp8x4x-sram",
+ .owner = THIS_MODULE,
+ },
+ .probe = lp8x4x_sram_probe,
+ .remove = lp8x4x_sram_remove,
+};
+
+module_platform_driver(lp8x4x_sram_driver);
+
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Sergei Ianovich <ynvich@gmail.com>");
+MODULE_DESCRIPTION("MTD driver for SRAM on ICPDAS LP-8x4x");
--
1.8.4.2
next prev parent reply other threads:[~2013-12-01 6:28 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 ` [PATCH v4 11/21] ARM: pxa: support ICP DAS LP-8x4x FPGA irq Sergei Ianovich
2015-12-15 19:26 ` [PATCH v5] arm: " 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 ` Sergei Ianovich [this message]
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=1385879185-22455-5-git-send-email-ynvich@gmail.com \
--to=ynvich@gmail.com \
--cc=artem.bityutskiy@linux.intel.com \
--cc=avinashphilip@ti.com \
--cc=dwmw2@infradead.org \
--cc=eric.y.miao@gmail.com \
--cc=haojian.zhuang@gmail.com \
--cc=keescook@chromium.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mtd@lists.infradead.org \
--cc=linux@arm.linux.org.uk \
--cc=rdunlap@infradead.org \
--cc=robert.jarzmik@free.fr \
/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).