Messages in this thread | | | Subject | Re: [PATCH] Add support for Macronix NAND randomizer | From | masonccyang@mxic ... | Date | Thu, 29 Aug 2019 17:07:51 +0800 |
| |
Hi Miquel,
> > > > If subpage write not available with hardware ECC, for example, > > NAND chip options NAND_NO_SUBPAGE_WRITE be set in driver and > > randomizer function is recommended for high-reliability. > > Driver checks byte 167 of Vendor Blocks in ONFI parameter page table > > to see if this high-reliability function is supported. > > > > You did not flagged this patch as a v2 and forgot about the changelog. > You did not listen to our comments in the last version neither. I was > open to a solution with a specific DT property for warned users but I > don't see it coming. >
Based on your comments by specific DT property for randomizer support. to add a new property in children nodes:
i.e,.
nand: nand-controller@43c30000 {
nand@0 { reg = <0>; nand-reliability = "randomizer"; }; };
file of nand_macronix.c will patch to:
static void macronix_nand_onfi_init(struct nand_chip *chip) { struct nand_parameters *p = &chip->parameters; struct device_node *dn = nand_get_flash_node(chip); const char *pm; int rand_enable = 0;
ret = of_property_read_string(dn, "nand-reliability", &pm); if (!ret) { if (!strcasecmp(pm, "randomizer")); rand_enable = 1; } mxic = (struct nand_onfi_vendor_macronix *)p->onfi->vendor; if (rand_enable && mxic->reliability_func & MACRONIX_RANDOMIZER_BIT) { if (p->supports_set_get_features) { bitmap_set(p->set_feature_list, ONFI_FEATURE_ADDR_MXIC_RANDOMIZER, 1); bitmap_set(p->get_feature_list, ONFI_FEATURE_ADDR_MXIC_RANDOMIZER, 1); /* set-up chip options with NAND_NO_SUBPAGE_WRITE */ chip->options |= NAND_NO_SUBPAGE_WRITE; macronix_nand_randomizer_check_enable(chip); } } }
something like this,
is it OK ?
thanks & best regards, Mason
CONFIDENTIALITY NOTE:
This e-mail and any attachments may contain confidential information and/or personal data, which is protected by applicable laws. Please be reminded that duplication, disclosure, distribution, or use of this e-mail (and/or its attachments) or any part thereof is prohibited. If you receive this e-mail in error, please notify us immediately and delete this mail as well as its attachment(s) from your system. In addition, please be informed that collection, processing, and/or use of personal data is prohibited unless expressly permitted by personal data protection laws. Thank you for your attention and cooperation.
Macronix International Co., Ltd.
=====================================================================
============================================================================
CONFIDENTIALITY NOTE:
This e-mail and any attachments may contain confidential information and/or personal data, which is protected by applicable laws. Please be reminded that duplication, disclosure, distribution, or use of this e-mail (and/or its attachments) or any part thereof is prohibited. If you receive this e-mail in error, please notify us immediately and delete this mail as well as its attachment(s) from your system. In addition, please be informed that collection, processing, and/or use of personal data is prohibited unless expressly permitted by personal data protection laws. Thank you for your attention and cooperation.
Macronix International Co., Ltd.
=====================================================================
| |