Lines Matching +full:nand +full:- +full:cache
1 // SPDX-License-Identifier: GPL-2.0-only
51 /* Offset into the NAND block and deal with the flash cache separately */ in brcmnand_bcma_read_reg()
57 val = bcma_cc_read32(sc->cc, offset); in brcmnand_bcma_read_reg()
70 /* Offset into the NAND block */ in brcmnand_bcma_write_reg()
80 bcma_cc_write32(sc->cc, offset, val); in brcmnand_bcma_write_reg()
93 /* Reset the cache address to ensure we are already accessing the in brcmnand_bcma_prepare_data_bus()
94 * beginning of a sub-page. in brcmnand_bcma_prepare_data_bus()
96 bcma_cc_write32(sc->cc, BCMA_CC_NAND_CACHE_ADDR, 0); in brcmnand_bcma_prepare_data_bus()
101 struct bcma_nflash *nflash = dev_get_platdata(&pdev->dev); in brcmnand_bcma_nand_probe()
104 soc = devm_kzalloc(&pdev->dev, sizeof(*soc), GFP_KERNEL); in brcmnand_bcma_nand_probe()
106 return -ENOMEM; in brcmnand_bcma_nand_probe()
108 soc->cc = container_of(nflash, struct bcma_drv_cc, nflash); in brcmnand_bcma_nand_probe()
109 soc->soc.prepare_data_bus = brcmnand_bcma_prepare_data_bus; in brcmnand_bcma_nand_probe()
110 soc->soc.ops = &brcmnand_bcma_io_ops; in brcmnand_bcma_nand_probe()
112 if (soc->cc->core->bus->chipinfo.id == BCMA_CHIP_ID_BCM4706) { in brcmnand_bcma_nand_probe()
113 dev_err(&pdev->dev, "Use bcm47xxnflash for 4706!\n"); in brcmnand_bcma_nand_probe()
114 return -ENODEV; in brcmnand_bcma_nand_probe()
117 return brcmnand_probe(pdev, &soc->soc); in brcmnand_bcma_nand_probe()
132 MODULE_DESCRIPTION("NAND controller driver glue for BCMA chips");