[PATCH v2 6/7] mtd: rawnand: brcmnand: Support write protection setting from dts

William Zhang william.zhang at broadcom.com
Tue Sep 17 02:26:52 CEST 2024


> -----Original Message-----
> From: Linus Walleij <linus.walleij at linaro.org>
> Sent: Monday, September 16, 2024 2:59 AM
> To: u-boot at lists.denx.de; Dario Binacchi
> <dario.binacchi at amarulasolutions.com>; Michael Trimarchi
> <michael at amarulasolutions.com>; Anand Gore
> <anand.gore at broadcom.com>; William Zhang
> <william.zhang at broadcom.com>; Kursad Oney
> <kursad.oney at broadcom.com>; Philippe Reynes
> <philippe.reynes at softathome.com>
> Cc: Linus Walleij <linus.walleij at linaro.org>; Florian Fainelli
> <florian.fainelli at broadcom.com>; Kamal Dasu
> <kamal.dasu at broadcom.com>; David Regan <dregan at broadcom.com>;
> Miquel Raynal <miquel.raynal at bootlin.com>
> Subject: [PATCH v2 6/7] mtd: rawnand: brcmnand: Support write
> protection setting from dts
>
> From: William Zhang <william.zhang at broadcom.com>
>
> Backport of upstream Linux
> commit 8e7daa85641c9559c113f6b217bdc923397de77c
> "mtd: rawnand: brcmnand: Support write protection setting from dts"
>
> Augmented to also support the "write-protect" boolean property.
>
> 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 at broadcom.com>
> Reviewed-by: Florian Fainelli <florian.fainelli at broadcom.com>
> Reviewed-by: Kamal Dasu <kamal.dasu at broadcom.com>
> Reviewed-by: David Regan <dregan at broadcom.com>
> Signed-off-by: Miquel Raynal <miquel.raynal at bootlin.com>
> Link: https://lore.kernel.org/linux-mtd/20240223034758.13753-14-
> william.zhang at broadcom.com
> Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
> ---
>  drivers/mtd/nand/raw/brcmnand/brcmnand.c | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
> b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
> index 2f786584a1ae..071b33951648 100644
> --- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
> +++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
> @@ -2844,8 +2844,17 @@ int brcmnand_probe(struct udevice *dev,
> 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 */
> +#ifndef __UBOOT__
> +	if (of_property_read_bool(dn, "brcm,wp-not-connected"))
> +#else
> +	if (dev_read_bool(ctrl->dev, "brcm,wp-not-connected"))
> +#endif /* __UBOOT__ */
> +		wp_on = 0;
> +
>  	/* Read the write-protect configuration in the device tree */
> -	wp_on = dev_read_u32_default(dev, "write-protect", wp_on);
> +	if (dev_read_bool(ctrl->dev, "write-protect"))
write-protect is a u32 property. Should use dev_read_u32 and check return
code to see if the property exist or not.

> +		wp_on = dev_read_u32_default(dev, "write-protect", wp_on);
>
>  	if (ctrl->features & BRCMNAND_HAS_WP) {
>  		/* Permanently disable write protection */
>
> --
> 2.46.0

Reviewed-by: William Zhang <william.zhang at broadcom.com>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4212 bytes
Desc: S/MIME Cryptographic Signature
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20240916/5e09e47e/attachment-0001.bin>


More information about the U-Boot mailing list