mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-08 12:58:12 -04:00
mtd: msm_qpic_nand: Workaround to get the correct density for JSC part
The 8 x 8 JSC MCP part has 2 x 4Gbit NAND dies from Hynyx and supports ONFI. But ONFI parameter page field values below read from the device only account for 4Gbit instead of 8Gbit: Pages/Block : 64 Page size : 4096 num_blocks_per_unit : 2048 num_units : 1 JSC vendor has no plans to “correct” the ONFI parameter page field values in their current and future 8 x 8 MCP parts to properly identify the NAND device size as 8Gbit. Using Read ID values (manufacture ID (0xAD), device ID(0xA3)) instead to identify the part and multiplying the density to identify the part as 8Gbit device size. Change-Id: Id900f3475e68740597fbc4e6decb1b7920f09c57 Signed-off-by: Sarthak Garg <sartgarg@codeaurora.org>
This commit is contained in:
parent
38e6f2c27c
commit
8d65c90a8a
1 changed files with 9 additions and 0 deletions
|
|
@ -734,6 +734,7 @@ static int msm_nand_flash_onfi_probe(struct msm_nand_info *info)
|
|||
struct flash_identification *flash = &info->flash_dev;
|
||||
uint32_t crc_chk_count = 0, page_address = 0;
|
||||
int ret = 0, i = 0, submitted_num_desc = 1;
|
||||
uint32_t manid, devid;
|
||||
|
||||
/* SPS parameters */
|
||||
struct msm_nand_sps_cmd *cmd, *curr_cmd;
|
||||
|
|
@ -945,6 +946,14 @@ static int msm_nand_flash_onfi_probe(struct msm_nand_info *info)
|
|||
|
||||
pr_info("Found an ONFI compliant device %s\n",
|
||||
onfi_param_page_ptr->device_model);
|
||||
|
||||
manid = flash->flash_id & 0xFF;
|
||||
devid = (flash->flash_id >> 8) & 0xFF;
|
||||
|
||||
/* hack for 8 x 8 JSC MCP part */
|
||||
if (manid == 0xAD && devid == 0xA3)
|
||||
flash->density = flash->density * 2;
|
||||
|
||||
/*
|
||||
* Temporary hack for MT29F4G08ABC device.
|
||||
* Since the device is not properly adhering
|
||||
|
|
|
|||
Loading…
Reference in a new issue