Add NAND support for Hi3516Av100

pull/168/head
Dmitry Ermakov 2022-01-15 23:22:51 +03:00
parent 2174840385
commit 5da4f805d8
3 changed files with 112 additions and 4 deletions

View File

@ -875,7 +875,35 @@ CONFIG_MTD_CFI_I2=y
# Disk-On-Chip Device Drivers
#
# CONFIG_MTD_DOCG3 is not set
# CONFIG_MTD_NAND is not set
CONFIG_MTD_NAND_ECC=y
# CONFIG_MTD_NAND_ECC_SMC is not set
CONFIG_MTD_NAND=y
# CONFIG_MTD_NAND_ECC_BCH is not set
# CONFIG_MTD_SM_COMMON is not set
# CONFIG_MTD_NAND_DENALI_DT is not set
# CONFIG_MTD_NAND_GPIO is not set
# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set
CONFIG_MTD_NAND_IDS=y
# CONFIG_MTD_NAND_DISKONCHIP is not set
# CONFIG_MTD_NAND_DOCG4 is not set
# CONFIG_MTD_NAND_NANDSIM is not set
# CONFIG_MTD_NAND_BRCMNAND is not set
# CONFIG_MTD_NAND_PLATFORM is not set
# CONFIG_MTD_NAND_HISI504 is not set
# CONFIG_MTD_NAND_MTK is not set
# CONFIG_MTD_SPI_NAND_HISI_BVT is not set
# CONFIG_HISI_NAND_ECC_STATUS_REPORT is not set
# CONFIG_HISI_NAND_FS_MAY_NO_YAFFS2 is not set
CONFIG_MTD_NAND_HINFC610=y
CONFIG_HINFC610_MAX_CHIP=1
CONFIG_HINFC610_DBG_NAND_DEBUG=y
CONFIG_HINFC610_DBG_NAND_DUMP=y
CONFIG_HINFC610_DBG_NAND_ERASE_COUNT=y
CONFIG_HINFC610_DBG_NAND_ECC_COUNT=y
CONFIG_HINFC610_DBG_NAND_READ_RETRY=y
CONFIG_HINFC610_AUTO_PAGESIZE_ECC=y
# CONFIG_HINFC610_PAGESIZE_AUTO_ECC_NONE is not set
# CONFIG_MTD_NAND_HIFMC100 is not set
# CONFIG_MTD_ONENAND is not set
#
@ -2207,7 +2235,19 @@ CONFIG_MISC_FILESYSTEMS=y
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_YAFFS_FS is not set
CONFIG_YAFFS_FS=y
CONFIG_YAFFS_YAFFS1=y
# CONFIG_YAFFS_9BYTE_TAGS is not set
# CONFIG_YAFFS_DOES_ECC is not set
CONFIG_YAFFS_YAFFS2=y
CONFIG_YAFFS_AUTO_YAFFS2=y
# CONFIG_YAFFS_DISABLE_TAGS_ECC is not set
# CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set
# CONFIG_YAFFS_EMPTY_LOST_AND_FOUND is not set
# CONFIG_YAFFS_DISABLE_BLOCK_REFRESHING is not set
# CONFIG_YAFFS_DISABLE_BACKGROUND is not set
# CONFIG_YAFFS_DISABLE_BAD_BLOCK_MARKING is not set
CONFIG_YAFFS_XATTR=y
CONFIG_JFFS2_FS=y
CONFIG_JFFS2_FS_DEBUG=0
CONFIG_JFFS2_FS_WRITEBUFFER=y

View File

@ -875,7 +875,35 @@ CONFIG_MTD_CFI_I2=y
# Disk-On-Chip Device Drivers
#
# CONFIG_MTD_DOCG3 is not set
# CONFIG_MTD_NAND is not set
CONFIG_MTD_NAND_ECC=y
# CONFIG_MTD_NAND_ECC_SMC is not set
CONFIG_MTD_NAND=y
# CONFIG_MTD_NAND_ECC_BCH is not set
# CONFIG_MTD_SM_COMMON is not set
# CONFIG_MTD_NAND_DENALI_DT is not set
# CONFIG_MTD_NAND_GPIO is not set
# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set
CONFIG_MTD_NAND_IDS=y
# CONFIG_MTD_NAND_DISKONCHIP is not set
# CONFIG_MTD_NAND_DOCG4 is not set
# CONFIG_MTD_NAND_NANDSIM is not set
# CONFIG_MTD_NAND_BRCMNAND is not set
# CONFIG_MTD_NAND_PLATFORM is not set
# CONFIG_MTD_NAND_HISI504 is not set
# CONFIG_MTD_NAND_MTK is not set
# CONFIG_MTD_SPI_NAND_HISI_BVT is not set
# CONFIG_HISI_NAND_ECC_STATUS_REPORT is not set
# CONFIG_HISI_NAND_FS_MAY_NO_YAFFS2 is not set
CONFIG_MTD_NAND_HINFC610=y
CONFIG_HINFC610_MAX_CHIP=1
CONFIG_HINFC610_DBG_NAND_DEBUG=y
CONFIG_HINFC610_DBG_NAND_DUMP=y
CONFIG_HINFC610_DBG_NAND_ERASE_COUNT=y
CONFIG_HINFC610_DBG_NAND_ECC_COUNT=y
CONFIG_HINFC610_DBG_NAND_READ_RETRY=y
CONFIG_HINFC610_AUTO_PAGESIZE_ECC=y
# CONFIG_HINFC610_PAGESIZE_AUTO_ECC_NONE is not set
# CONFIG_MTD_NAND_HIFMC100 is not set
# CONFIG_MTD_ONENAND is not set
#
@ -2207,7 +2235,19 @@ CONFIG_MISC_FILESYSTEMS=y
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_YAFFS_FS is not set
CONFIG_YAFFS_FS=y
CONFIG_YAFFS_YAFFS1=y
# CONFIG_YAFFS_9BYTE_TAGS is not set
# CONFIG_YAFFS_DOES_ECC is not set
CONFIG_YAFFS_YAFFS2=y
CONFIG_YAFFS_AUTO_YAFFS2=y
# CONFIG_YAFFS_DISABLE_TAGS_ECC is not set
# CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set
# CONFIG_YAFFS_EMPTY_LOST_AND_FOUND is not set
# CONFIG_YAFFS_DISABLE_BLOCK_REFRESHING is not set
# CONFIG_YAFFS_DISABLE_BACKGROUND is not set
# CONFIG_YAFFS_DISABLE_BAD_BLOCK_MARKING is not set
CONFIG_YAFFS_XATTR=y
CONFIG_JFFS2_FS=y
CONFIG_JFFS2_FS_DEBUG=0
CONFIG_JFFS2_FS_WRITEBUFFER=y

View File

@ -0,0 +1,28 @@
--- a/drivers/mtd/nand/hinfc_spl_ids.c
+++ b/drivers/mtd/nand/hinfc_spl_ids.c
@@ -493,6 +493,25 @@
.flags = 0,
},
{ /* SLC 8bit/512 */
+ .name = "TC58BVG0S3HTA00",
+ .id = {0x98, 0xF1, 0x80, 0x15, 0xF2, 0x16, 0x08, 0x00},
+ .length = 7,
+ .chipsize = SZ_128M,
+ .probe = NULL,
+ .pagesize = SZ_2K,
+ .erasesize = SZ_128K,
+ .oobsize = 64,
+ .options = 0,
+ .read_retry_type = NAND_RR_NONE,
+ /*
+ * Datasheet: read one column of any page in each block. If the
+ * data of the column is 00 (Hex), define the block as a bad
+ * block.
+ */
+ .badblock_pos = BBP_FIRST_PAGE,
+ .flags = 0,
+ },
+ { /* SLC 8bit/512 */
.name = "TC58NVG1S3HTA00",
.id = {0x98, 0xDA, 0x90, 0x15, 0x76, 0x16, 0x08, 0x00},
.length = 7,