Hi Miquel, The nand_base.c will call nand_deselect_target after NAND read/program... ops done, and set variable chip->cur_cs = -1, but the nand controller do nothing and the cs of the NAND device is still selected, so the NAND device will not enter auto power save mode. -------------- Thanks, Yifeng >Hello, > >赵仪峰 <yifeng.zhao@xxxxxxxxxxxxxx> wrote on Mon, 2 Nov 2020 11:46:04 >+0800: > >> Hi Johan, >> >> void nand_deselect_target(struct nand_chip *chip) >> { >> if (chip->legacy.select_chip) >> chip->legacy.select_chip(chip, -1); >> >> chip->cur_cs = -1; >> } >> >> I need add the code below and it work. >> >> chip->legacy.select_chip = rk_nfc_select_chip; >> >> But I found almost all nandc drivers do not add this code. Is there any other way to implement it? > >Indeed, we don't accept new code we legacy bindings. > >I don't understand what extra consumption you are trying to avoid, >because if it is the NAND device itself that is able to save power when >it gets unselected, it's really none of you controller's business. > >Perhaps it's the time to focus on the controller support and tune the >code base later in a bid to reduce consumption. > >Thanks, >Miquèl > > >