Mediatek ECC changes:
* Also parse the default nand-ecc-engine property if available * Make mtk_ecc.c a separated module -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEE9HuaYnbmDhq/XIDIJWrqGEe9VoQFAmJpa+MACgkQJWrqGEe9 VoTVPwf+PjOPS9MH+3wQkEsqwHtJyC9dvfTRWNSkzJEos0710jl6peeWjo1ift1A 4JLMI3TGHWbNqBykpSLxZPVc6X/toGoMz6/2OussnYQBYgXjLNOgWQqS4kZZmK7D BARpke8TTqglJyat7NpGNo1EGWA4EtYqwvoPT+H0LMLQbe/NQD0k4RaRNpw+BwPq gaBHZf/CmN4oG0QrPPvS7jrm0dgWrQgTqRf9zzOnml3m22q3PGMnmY1A1CunBsFn HK+GxYUOeemPc40mET+U1x6O0+VNlxW2KQ+fZoNHnljd55zq1Cp4mXfr7KuFgfDK 4xMAAoI5cMp8kpLLVUBlD4uzOj3fow== =FBXD -----END PGP SIGNATURE----- gpgsig -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmJpbcEACgkQJNaLcl1U h9C9WAf7Bl0Io91FUenKnsF/7JZhGnRnZsD/k0c5aYHkUsfA4j+UkdyELi9vSGvV Sv7ewkQRj0nuVKsIGZhZ+XH8GKn2DE2stFtqGarou7AhedCjKm7ivI73mHXKLRLS K8C62EEG3lioULsgS4XeCtkczlEgGP/kL4Q2tBluZkSVRj4LcwRIXLXzrGiou6NJ 77Ue4RE7G1Sqhoq/6NVe7SI68sEv4F4jSoh8cmjth/WX7xHeBP8SMpR1vopGEDaG y/zaXMPBHHRsXCADS/TipOvX1VWlOsoo2TGmAuF6hbcfcWvrnHkoVZM15Rz4tv9n yvhh4CAQPsf2yq0ckJFeX8A0egqT6A== =TTJe -----END PGP SIGNATURE----- spi: Pull Mediatek ECC changes Mediatek ECC changes: * Also parse the default nand-ecc-engine property if available * Make mtk_ecc.c a separated module needed for SPI controller driver
This commit is contained in:
commit
26ac2436f3
@ -53,6 +53,13 @@ config MTD_NAND_ECC_MXIC
|
||||
help
|
||||
This enables support for the hardware ECC engine from Macronix.
|
||||
|
||||
config MTD_NAND_ECC_MEDIATEK
|
||||
tristate "Mediatek hardware ECC engine"
|
||||
depends on HAS_IOMEM
|
||||
select MTD_NAND_ECC
|
||||
help
|
||||
This enables support for the hardware ECC engine from Mediatek.
|
||||
|
||||
endmenu
|
||||
|
||||
endmenu
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
nandcore-objs := core.o bbt.o
|
||||
obj-$(CONFIG_MTD_NAND_CORE) += nandcore.o
|
||||
obj-$(CONFIG_MTD_NAND_ECC_MEDIATEK) += ecc-mtk.o
|
||||
|
||||
obj-y += onenand/
|
||||
obj-y += raw/
|
||||
|
@ -15,8 +15,7 @@
|
||||
#include <linux/of.h>
|
||||
#include <linux/of_platform.h>
|
||||
#include <linux/mutex.h>
|
||||
|
||||
#include "mtk_ecc.h"
|
||||
#include <linux/mtd/nand-ecc-mtk.h>
|
||||
|
||||
#define ECC_IDLE_MASK BIT(0)
|
||||
#define ECC_IRQ_EN BIT(0)
|
||||
@ -279,7 +278,10 @@ struct mtk_ecc *of_mtk_ecc_get(struct device_node *of_node)
|
||||
struct mtk_ecc *ecc = NULL;
|
||||
struct device_node *np;
|
||||
|
||||
np = of_parse_phandle(of_node, "ecc-engine", 0);
|
||||
np = of_parse_phandle(of_node, "nand-ecc-engine", 0);
|
||||
/* for backward compatibility */
|
||||
if (!np)
|
||||
np = of_parse_phandle(of_node, "ecc-engine", 0);
|
||||
if (np) {
|
||||
ecc = mtk_ecc_get(np);
|
||||
of_node_put(np);
|
@ -374,6 +374,7 @@ config MTD_NAND_QCOM
|
||||
|
||||
config MTD_NAND_MTK
|
||||
tristate "MTK NAND controller"
|
||||
depends on MTD_NAND_ECC_MEDIATEK
|
||||
depends on ARCH_MEDIATEK || COMPILE_TEST
|
||||
depends on HAS_IOMEM
|
||||
help
|
||||
|
@ -48,7 +48,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_ecc.o mtk_nand.o
|
||||
obj-$(CONFIG_MTD_NAND_MTK) += mtk_nand.o
|
||||
obj-$(CONFIG_MTD_NAND_MXIC) += mxic_nand.o
|
||||
obj-$(CONFIG_MTD_NAND_TEGRA) += tegra_nand.o
|
||||
obj-$(CONFIG_MTD_NAND_STM32_FMC2) += stm32_fmc2_nand.o
|
||||
|
@ -17,7 +17,7 @@
|
||||
#include <linux/iopoll.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/of_device.h>
|
||||
#include "mtk_ecc.h"
|
||||
#include <linux/mtd/nand-ecc-mtk.h>
|
||||
|
||||
/* NAND controller register definition */
|
||||
#define NFI_CNFG (0x00)
|
||||
|
Loading…
Reference in New Issue
Block a user