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

William Zhang william.zhang at broadcom.com
Mon Sep 16 06:51:49 CEST 2024


> -----Original Message-----
> From: Linus Walleij <linus.walleij at linaro.org>
> Sent: Wednesday, September 11, 2024 12:11 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 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"
>
> 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 | 8 ++++++++
>  1 file changed, 8 insertions(+)
>
> diff --git a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
> b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
> index 2f786584a1ae..55d5d27438a8 100644
> --- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c
> +++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c
> @@ -2847,6 +2847,14 @@ int brcmnand_probe(struct udevice *dev,
> struct brcmnand_soc *soc)
>  	/* Read the write-protect configuration in the device tree */
>  	wp_on = dev_read_u32_default(dev, "write-protect", wp_on);
>
There is some dts file using this "write-protect" property. I believe
Phiippe
originally added but it was not upstreamed to linux.  The new one in the
line
below is upstreamed and documented in brcmnand.yaml.   For new dts,
we should use this new property.  But we should still honor the old
flag to make sure old dtb still works instead of overriding it here.
> +	/* 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;
> +
>  	if (ctrl->features & BRCMNAND_HAS_WP) {
>  		/* Permanently disable write protection */
>  		if (wp_on == 2)
>
> --
> 2.46.0
-------------- 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/20240915/5b277886/attachment.bin>


More information about the U-Boot mailing list