Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 16271224 authored by Richard Weinberger's avatar Richard Weinberger
Browse files

Merge tag 'nand/for-4.15' of git://git.infradead.org/l2-mtd

From Boris:
"
Core changes:
* Add a flag to mark NANDs that require 3 address cycles to encode a
  page address
* Set a default ECC/free layout when NAND_ECC_NONE is requested
* Fix a bug in panic_nand_write()

Driver changes:
* Another batch of cleanups for the denali driver
* Fix PM support in the atmel driver
* Remove support for platform data in the omap driver
* Fix subpage write in the omap driver
* Fix irq handling in the mtk driver
* Change link order of mtk_ecc and mtk_nand drivers to speed up boot
  time
* Change log level of ECC error messages in the mxc driver
* Patch the pxa3xx driver to support Armada 8k platforms
* Add BAM DMA support to the qcom driver
* Convert gpio-nand to the GPIO desc API
* Fix ECC handling in the mt29f driver
"
parents 20b2fc79 30863e38
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -29,7 +29,7 @@ nand: nand@ff900000 {
	#address-cells = <1>;
	#size-cells = <1>;
	compatible = "altr,socfpga-denali-nand";
	reg = <0xff900000 0x100000>, <0xffb80000 0x10000>;
	reg = <0xff900000 0x20>, <0xffb80000 0x1000>;
	reg-names = "nand_data", "denali_reg";
	interrupts = <0 144 4>;
};
+4 −0
Original line number Diff line number Diff line
@@ -5,9 +5,13 @@ Required properties:
 - compatible:		Should be set to one of the following:
			marvell,pxa3xx-nand
			marvell,armada370-nand
			marvell,armada-8k-nand
 - reg: 		The register base for the controller
 - interrupts:		The interrupt to map
 - #address-cells:	Set to <1> if the node includes partitions
 - marvell,system-controller: Set to retrieve the syscon node that handles
			NAND controller related registers (only required
			with marvell,armada-8k-nand compatible).

Optional properties:

+13 −6
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@
#include <linux/mtd/partitions.h>
#include <linux/mtd/physmap.h>
#include <linux/mtd/nand-gpio.h>

#include <linux/gpio/machine.h>
#include <linux/spi/spi.h>
#include <linux/spi/pxa2xx_spi.h>

@@ -176,6 +176,17 @@ static inline void cmx255_init_nor(void) {}
#endif

#if defined(CONFIG_MTD_NAND_GPIO) || defined(CONFIG_MTD_NAND_GPIO_MODULE)

static struct gpiod_lookup_table cmx255_nand_gpiod_table = {
	.dev_id         = "gpio-nand",
	.table          = {
		GPIO_LOOKUP("gpio-pxa", GPIO_NAND_CS, "nce", GPIO_ACTIVE_HIGH),
		GPIO_LOOKUP("gpio-pxa", GPIO_NAND_CLE, "cle", GPIO_ACTIVE_HIGH),
		GPIO_LOOKUP("gpio-pxa", GPIO_NAND_ALE, "ale", GPIO_ACTIVE_HIGH),
		GPIO_LOOKUP("gpio-pxa", GPIO_NAND_RB, "rdy", GPIO_ACTIVE_HIGH),
	},
};

static struct resource cmx255_nand_resource[] = {
	[0] = {
		.start = PXA_CS1_PHYS,
@@ -198,11 +209,6 @@ static struct mtd_partition cmx255_nand_parts[] = {
};

static struct gpio_nand_platdata cmx255_nand_platdata = {
	.gpio_nce = GPIO_NAND_CS,
	.gpio_cle = GPIO_NAND_CLE,
	.gpio_ale = GPIO_NAND_ALE,
	.gpio_rdy = GPIO_NAND_RB,
	.gpio_nwp = -1,
	.parts = cmx255_nand_parts,
	.num_parts = ARRAY_SIZE(cmx255_nand_parts),
	.chip_delay = 25,
@@ -220,6 +226,7 @@ static struct platform_device cmx255_nand = {

static void __init cmx255_init_nand(void)
{
	gpiod_add_lookup_table(&cmx255_nand_gpiod_table);
	platform_device_register(&cmx255_nand);
}
#else
+4 −1
Original line number Diff line number Diff line
@@ -317,8 +317,11 @@ config MTD_NAND_PXA3xx
	tristate "NAND support on PXA3xx and Armada 370/XP"
	depends on PXA3xx || ARCH_MMP || PLAT_ORION || ARCH_MVEBU
	help

	  This enables the driver for the NAND flash device found on
	  PXA3xx processors (NFCv1) and also on Armada 370/XP (NFCv2).
	  PXA3xx processors (NFCv1) and also on 32-bit Armada
	  platforms (XP, 370, 375, 38x, 39x) and 64-bit Armada
	  platforms (7K, 8K) (NFCv2).

config MTD_NAND_SLC_LPC32XX
	tristate "NXP LPC32xx SLC Controller"
+1 −1
Original line number Diff line number Diff line
@@ -58,7 +58,7 @@ obj-$(CONFIG_MTD_NAND_SUNXI) += sunxi_nand.o
obj-$(CONFIG_MTD_NAND_HISI504)	        += hisi504_nand.o
obj-$(CONFIG_MTD_NAND_BRCMNAND)		+= brcmnand/
obj-$(CONFIG_MTD_NAND_QCOM)		+= qcom_nandc.o
obj-$(CONFIG_MTD_NAND_MTK)		+= mtk_nand.o mtk_ecc.o
obj-$(CONFIG_MTD_NAND_MTK)		+= mtk_ecc.o mtk_nand.o

nand-objs := nand_base.o nand_bbt.o nand_timings.o nand_ids.o
nand-objs += nand_amd.o
Loading