blob: 3b2200bd44a6c1b0e53100c16ef7ef8d290eca48 [file] [log] [blame]
developerba03b7e2022-12-06 14:16:23 +08001diff -uprN a/drivers/mtd/nand/spi/Kconfig b/drivers/mtd/nand/spi/Kconfig
2--- a/drivers/mtd/nand/spi/Kconfig 2022-12-06 11:24:48.877723457 +0800
3+++ b/drivers/mtd/nand/spi/Kconfig 2022-12-06 11:25:14.593951660 +0800
4@@ -7,11 +7,3 @@ menuconfig MTD_SPI_NAND
5 help
6 This is the framework for the SPI NAND device drivers.
7
8-config MTD_SPI_NAND_W25N01KV
9- tristate "Winbond W25N01KV Support"
10- select MTD_SPI_NAND
11- default n
12- help
13- Winbond W25N01KV share the same ID with W25N01GV. However, they have
14- different attributes.
15-
16diff -uprN a/drivers/mtd/nand/spi/winbond.c b/drivers/mtd/nand/spi/winbond.c
17--- a/drivers/mtd/nand/spi/winbond.c 2022-12-06 11:24:48.877723457 +0800
18+++ b/drivers/mtd/nand/spi/winbond.c 2022-12-06 11:25:14.593951660 +0800
19@@ -26,13 +26,11 @@
20 #define W25N01_M02GV_STATUS_ECC_1_BITFLIPS (1 << 4)
21 #define W25N01_M02GV_STATUS_ECC_UNCOR_ERROR (2 << 4)
22
23-#if IS_ENABLED(CONFIG_MTD_SPI_NAND_W25N01KV)
24 #define W25N01KV_STATUS_ECC_MASK (3 << 4)
25 #define W25N01KV_STATUS_ECC_NO_BITFLIPS (0 << 4)
26 #define W25N01KV_STATUS_ECC_1_3_BITFLIPS (1 << 4)
27 #define W25N01KV_STATUS_ECC_4_BITFLIPS (3 << 4)
28 #define W25N01KV_STATUS_ECC_UNCOR_ERROR (2 << 4)
29-#endif
30
31 static SPINAND_OP_VARIANTS(read_cache_variants,
32 SPINAND_PAGE_READ_FROM_CACHE_QUADIO_OP(0, 2, NULL, 0),
33@@ -116,7 +114,6 @@ static int w25m02gv_select_target(struct
34 return spi_mem_exec_op(spinand->spimem, &op);
35 }
36
37-#if IS_ENABLED(CONFIG_MTD_SPI_NAND_W25N01KV)
38 static int w25n01kv_ecc_get_status(struct spinand_device *spinand,
39 u8 status)
40 {
41@@ -139,7 +136,6 @@ static int w25n01kv_ecc_get_status(struc
42
43 return -EINVAL;
44 }
45-#endif
46
47 static int w25n02kv_n04kv_ecc_get_status(struct spinand_device *spinand,
48 u8 status)
49@@ -181,10 +177,9 @@ static const struct spinand_info winbond
50 0,
51 SPINAND_ECCINFO(&w25m02gv_ooblayout, NULL),
52 SPINAND_SELECT_TARGET(w25m02gv_select_target)),
53-#if IS_ENABLED(CONFIG_MTD_SPI_NAND_W25N01KV)
54 SPINAND_INFO("W25N01KV",
55- SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xaa, 0x21),
56- NAND_MEMORG(1, 2048, 96, 64, 1024, 20, 1, 1, 1),
57+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xae, 0x21),
58+ NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 1, 1),
59 NAND_ECCREQ(4, 512),
60 SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
61 &write_cache_variants,
62@@ -192,7 +187,6 @@ static const struct spinand_info winbond
63 0,
64 SPINAND_ECCINFO(&w25n02kv_n04kv_ooblayout,
65 w25n01kv_ecc_get_status)),
66-#else
67 SPINAND_INFO("W25N01GV",
68 SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xaa, 0x21),
69 NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 1, 1),
70@@ -202,7 +196,6 @@ static const struct spinand_info winbond
71 &update_cache_variants),
72 0,
73 SPINAND_ECCINFO(&w25m02gv_ooblayout, NULL)),
74-#endif
75 SPINAND_INFO("W25N02KV",
76 SPINAND_ID(SPINAND_READID_METHOD_OPCODE_DUMMY, 0xaa, 0x22),
77 NAND_MEMORG(1, 2048, 128, 64, 2048, 40, 2, 1, 1),