On Wed, 9 Jan 2019 22:40:22 +0100 Linus Walleij <linus.walleij@xxxxxxxxxx> wrote: > On Wed, Jan 9, 2019 at 10:21 PM Boris Brezillon <bbrezillon@xxxxxxxxxx> wrote: > > On Wed, 9 Jan 2019 21:55:30 +0100 > > Linus Walleij <linus.walleij@xxxxxxxxxx> wrote: > > > > This patch keeps the CE (chip enable, the only chip select) > > > signal from the FSMC block enabled from the first command > > > after probe() or resume() until the driver either suspend() > > > or remove(). Create a state variable to track this. > > > > I just read the Spear600 reference manual, and I'm not sure the > > BANK_ENABLE bit controls the CE line. My understanding is that it just > > marks the bank as active and CE line is asserted when you actually > > access the AHB mem bank range (probably after making sure the FSMC bus > > is idle). > > The Nomadik STn8815 says (for this bit): > > PBKEN PC-card/NAND-Flash chip-select enable. > Enables the corresponding chip-select. > If a disabled chip-select is accessed, an HRESP = ERROR is generated > on the AHB bus. > 0: disabled (default after reset) > 1: enabled > > The same for Nomadik STn8820 and the Ux500 variants. > > So "enable" might very well have the meaning you say above, > it's just very unclear and confusing. > > > If I'm correct, I'd recommend dropping fsmc_ce_ctrl() and marking the > > bank enabled at probe time. > > This already happens in fsmc_nand_setup() so we just > need to delete some code then. > > But maybe we should disable it during remove() > at least? Yep, and set it again at resume time, just in case regs content is lost at suspend time. ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/