[PATCH 3/4] mtd: rawnand: brcmnand: Add BCMBCA read data bus interface

William Zhang william.zhang at broadcom.com
Fri Nov 8 03:22:43 CET 2024


Hi Linus,

> -----Original Message-----
> From: Linus Walleij <linus.walleij at linaro.org>
> Sent: Thursday, November 7, 2024 6:16 AM
> To: david regan <dregan at broadcom.com>
> Cc: u-boot <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>; Florian Fainelli
> <florian.fainelli at broadcom.com>; Miquel Raynal
> <miquel.raynal at bootlin.com>; Kamal Dasu <kamal.dasu at broadcom.com>;
> David Regan <dregan at mail.com>; Tom Rini <trini at konsulko.com>; Jiaxun
> Yang <jiaxun.yang at flygoat.com>
> Subject: Re: [PATCH 3/4] mtd: rawnand: brcmnand: Add BCMBCA read data
> bus interface
>
> On Wed, Nov 6, 2024 at 10:04 PM david regan <dregan at broadcom.com>
> wrote:
>
> > The BCMBCA broadband SoC integrates the NAND controller differently than
> > STB, iProc and other SoCs.  It has different endianness for NAND cache
> > data.
> >
> > Add a SoC read data bus shim for BCMBCA to meet the specific SoC need
> > and performance improvement using the optimized memcpy function on
> NAND
> > cache memory.
> >
> > This is a port of the upstream Linux patch to U-Boot.
> >
> > https://lore.kernel.org/linux-mtd/20240223034758.13753-12-
> william.zhang at broadcom.com/
> >
> > Signed-off-by: david regan <dregan at broadcom.com>
>
> The patch looks fine, but shouldn't the existing brcmnand_read_data_bus()
> in drivers/mtd/nand/raw/brcmnand/brcmnand.c also be replaced with
> brcmnand_soc_data_bus_read()?
>
> Maybe this is a problem in the upstream kernel driver though :/
>
The upstream kernel driver is correct because it uses exec_op to read the
parameter
page/ONFI data but exec_op is not available to the u-boot code base.  So
this new function
brcmnand_soc_data_bus_read tries to do that in generic way to handle the
endianness
difference between platforms. But I agree it causes confusing to existing
brcmnand_read_data_bus.

We are working on a better solution and will update.

> Yours,
> Linus Walleij
-------------- 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/20241107/cab2376b/attachment.bin>


More information about the U-Boot mailing list