mtd: rawnand: brcmnand: Add BCMA shim
authorFlorian Fainelli <f.fainelli@gmail.com>
Fri, 7 Jan 2022 18:46:14 +0000 (10:46 -0800)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Sun, 23 Jan 2022 15:37:19 +0000 (16:37 +0100)
commitfeca4cc4765a67907a97bddfa94aa6901cbbce7d
tree5e6e1d1e541d1b3a584f2728b203e98e12b17da5
parent5abd37f6e9d653b748a1acad7e0abcbe540e896a
mtd: rawnand: brcmnand: Add BCMA shim

Add a BCMA shim to allow us to register the brcmnand driver using the
BCMA bus which provides indirect memory mapped access to SoC registers.

There are a number of registers that need to be byte swapped because
they are natively big endian, coming directly from the NAND chip, and
there is no bus interface unlike the iProc or STB platforms that
performs the byte swapping for us.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20220107184614.2670254-10-f.fainelli@gmail.com
drivers/mtd/nand/raw/Kconfig
drivers/mtd/nand/raw/brcmnand/Makefile
drivers/mtd/nand/raw/brcmnand/bcma_nand.c [new file with mode: 0644]
drivers/mtd/nand/raw/brcmnand/brcmnand.c