-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
uboot-mediatek: sync mtk-snand driver with SDK
Sync SPI-NAND/ECC controller driver for MT7622, MT7981, MT7986 and MT7988: * Platform data for MT7981 was actually missing and is now added. * Add support for Winbond W25N01KV 1Gbit chip. Signed-off-by: Daniel Golle <[email protected]>
- Loading branch information
Showing
1 changed file
with
26 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -17,14 +17,14 @@ Signed-off-by: Weijie Gao <[email protected]> | |
drivers/mtd/mtk-snand/Kconfig | 21 + | ||
drivers/mtd/mtk-snand/Makefile | 11 + | ||
drivers/mtd/mtk-snand/mtk-snand-def.h | 271 ++++ | ||
drivers/mtd/mtk-snand/mtk-snand-ecc.c | 395 +++++ | ||
drivers/mtd/mtk-snand/mtk-snand-ids.c | 511 +++++++ | ||
drivers/mtd/mtk-snand/mtk-snand-ecc.c | 411 ++++++ | ||
drivers/mtd/mtk-snand/mtk-snand-ids.c | 515 +++++++ | ||
drivers/mtd/mtk-snand/mtk-snand-mtd.c | 535 +++++++ | ||
drivers/mtd/mtk-snand/mtk-snand-os.c | 39 + | ||
drivers/mtd/mtk-snand/mtk-snand-os.h | 120 ++ | ||
drivers/mtd/mtk-snand/mtk-snand.c | 1933 +++++++++++++++++++++++++ | ||
drivers/mtd/mtk-snand/mtk-snand.h | 77 + | ||
12 files changed, 3917 insertions(+) | ||
12 files changed, 3937 insertions(+) | ||
create mode 100644 drivers/mtd/mtk-snand/Kconfig | ||
create mode 100644 drivers/mtd/mtk-snand/Makefile | ||
create mode 100644 drivers/mtd/mtk-snand/mtk-snand-def.h | ||
|
@@ -369,7 +369,7 @@ Signed-off-by: Weijie Gao <[email protected]> | |
+#endif /* _MTK_SNAND_DEF_H_ */ | ||
--- /dev/null | ||
+++ b/drivers/mtd/mtk-snand/mtk-snand-ecc.c | ||
@@ -0,0 +1,395 @@ | ||
@@ -0,0 +1,411 @@ | ||
+// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause | ||
+/* | ||
+ * Copyright (C) 2020 MediaTek Inc. All Rights Reserved. | ||
|
@@ -418,6 +418,10 @@ Signed-off-by: Weijie Gao <[email protected]> | |
+ | ||
+static const uint8_t mt7622_ecc_caps[] = { 4, 6, 8, 10, 12 }; | ||
+ | ||
+static const uint8_t mt7981_ecc_caps[] = { | ||
+ 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24 | ||
+}; | ||
+ | ||
+static const uint8_t mt7986_ecc_caps[] = { | ||
+ 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24 | ||
+}; | ||
|
@@ -426,6 +430,10 @@ Signed-off-by: Weijie Gao <[email protected]> | |
+ [ECC_DECDONE] = 0x11c, | ||
+}; | ||
+ | ||
+static const uint32_t mt7981_ecc_regs[] = { | ||
+ [ECC_DECDONE] = 0x124, | ||
+}; | ||
+ | ||
+static const uint32_t mt7986_ecc_regs[] = { | ||
+ [ECC_DECDONE] = 0x124, | ||
+}; | ||
|
@@ -447,6 +455,14 @@ Signed-off-by: Weijie Gao <[email protected]> | |
+ .errnum_bits = 5, | ||
+ .errnum_shift = 5, | ||
+ }, | ||
+ [SNAND_SOC_MT7981] = { | ||
+ .ecc_caps = mt7981_ecc_caps, | ||
+ .num_ecc_cap = ARRAY_SIZE(mt7981_ecc_caps), | ||
+ .regs = mt7981_ecc_regs, | ||
+ .mode_shift = 5, | ||
+ .errnum_bits = 5, | ||
+ .errnum_shift = 8, | ||
+ }, | ||
+ [SNAND_SOC_MT7986] = { | ||
+ .ecc_caps = mt7986_ecc_caps, | ||
+ .num_ecc_cap = ARRAY_SIZE(mt7986_ecc_caps), | ||
|
@@ -767,7 +783,7 @@ Signed-off-by: Weijie Gao <[email protected]> | |
+} | ||
--- /dev/null | ||
+++ b/drivers/mtd/mtk-snand/mtk-snand-ids.c | ||
@@ -0,0 +1,511 @@ | ||
@@ -0,0 +1,515 @@ | ||
+// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause | ||
+/* | ||
+ * Copyright (C) 2020 MediaTek Inc. All Rights Reserved. | ||
|
@@ -860,6 +876,10 @@ Signed-off-by: Weijie Gao <[email protected]> | |
+ &snand_cap_read_from_cache_quad, | ||
+ &snand_cap_program_load_x4, | ||
+ mtk_snand_winbond_select_die), | ||
+ SNAND_INFO("W25N01KV", SNAND_ID(SNAND_ID_DYMMY, 0xef, 0xae, 0x21), | ||
+ SNAND_MEMORG_1G_2K_64, | ||
+ &snand_cap_read_from_cache_quad, | ||
+ &snand_cap_program_load_x4), | ||
+ SNAND_INFO("W25N02KV", SNAND_ID(SNAND_ID_DYMMY, 0xef, 0xaa, 0x22), | ||
+ SNAND_MEMORG_2G_2K_128, | ||
+ &snand_cap_read_from_cache_quad, | ||
|
@@ -903,7 +923,7 @@ Signed-off-by: Weijie Gao <[email protected]> | |
+ &snand_cap_program_load_x4), | ||
+ SNAND_INFO("GD5F2GQ5UExxG", SNAND_ID(SNAND_ID_DYMMY, 0xc8, 0x52), | ||
+ SNAND_MEMORG_2G_2K_128, | ||
+ &snand_cap_read_from_cache_quad_q2d, | ||
+ &snand_cap_read_from_cache_quad_a8d, | ||
+ &snand_cap_program_load_x4), | ||
+ SNAND_INFO("GD5F4GQ4UCxIG", SNAND_ID(SNAND_ID_DYMMY, 0xc8, 0xb4), | ||
+ SNAND_MEMORG_4G_4K_256, | ||
|