]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
mtd: rawnand: brcmnand: Support write protection setting from dts
authorWilliam Zhang <william.zhang@broadcom.com>
Fri, 23 Feb 2024 03:47:58 +0000 (19:47 -0800)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Thu, 14 Mar 2024 23:04:50 +0000 (00:04 +0100)
The write protection feature is controlled by the module parameter wp_on
with default set to enabled. But not all the board use this feature
especially in BCMBCA broadband board. And module parameter is not
sufficient as different board can have different option.  Add a device
tree property and allow this feature to be configured through the board
dts on per board basis.

Signed-off-by: William Zhang <william.zhang@broadcom.com>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Reviewed-by: Kamal Dasu <kamal.dasu@broadcom.com>
Reviewed-by: David Regan <dregan@broadcom.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20240223034758.13753-14-william.zhang@broadcom.com
drivers/mtd/nand/raw/brcmnand/brcmnand.c

index ef7d340475beb1c9fdff0eb3adb4f0bbc31be691..c9405701925d11c05ad82892e25b05d8248dee27 100644 (file)
@@ -3152,6 +3152,10 @@ int brcmnand_probe(struct platform_device *pdev, struct brcmnand_soc *soc)
        /* Disable XOR addressing */
        brcmnand_rmw_reg(ctrl, BRCMNAND_CS_XOR, 0xff, 0, 0);
 
+       /* Check if the board connects the WP pin */
+       if (of_property_read_bool(dn, "brcm,wp-not-connected"))
+               wp_on = 0;
+
        if (ctrl->features & BRCMNAND_HAS_WP) {
                /* Permanently disable write protection */
                if (wp_on == 2)