Hi Prasanth, > -----Original Message----- > From: Prasanth Mantena <[email protected]> > Sent: Monday, November 25, 2024 2:19 PM > To: Abbarapu, Venkatesh <[email protected]> > Cc: [email protected]; [email protected]; Simek, Michal > <[email protected]>; [email protected]; [email protected]; u- > [email protected]; [email protected]; [email protected]; > [email protected]; [email protected]; [email protected]; > [email protected]; [email protected]; [email protected]; > [email protected]; git (AMD-Xilinx) <[email protected]>; Ashok Reddy > Soma <[email protected]> > Subject: Re: [PATCH] mtd: spi-nor: Enable mt35xu512aba_fixups for all mt35xx > flashes > > On 14:56, Venkatesh Yadav Abbarapu wrote: > Hi Venkatesh, > > Enable mt35xu512aba_fixups for all mt35 series flashes to work in DTR > > mode, and return after nor->fixups is updated, otherwise it will get > > overwritten with macronix_octal_fixups. > > This flash works in DTR mode only if CONFIG_SPI_FLASH_MT35XU is > > enabled and SPI_NOR_OCTAL_DTR_READ flag is set in id table. > > > > Additionally, a new flag, "SPI_XFER_SET_DDR", has been introduced to > > instruct the OSPI controller driver to switch to DDR mode. > > > > Signed-off-by: Ashok Reddy Soma <[email protected]> > > Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]> > > --- > > drivers/mtd/spi/spi-nor-core.c | 8 +++++++- > > include/spi.h | 1 + > > 2 files changed, 8 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/mtd/spi/spi-nor-core.c > > b/drivers/mtd/spi/spi-nor-core.c index ec841fb13b..8d201433d5 100644 > > --- a/drivers/mtd/spi/spi-nor-core.c > > +++ b/drivers/mtd/spi/spi-nor-core.c > > @@ -4073,6 +4073,7 @@ static int spi_nor_micron_octal_dtr_enable(struct > spi_nor *nor) > > if (ret) > > return ret; > > > > + nor->spi->flags |= SPI_XFER_SET_DDR; > > buf = SPINOR_MT_OCT_DTR; > > op = (struct spi_mem_op) > > > SPI_MEM_OP(SPI_MEM_OP_CMD(SPINOR_OP_MT_WR_ANY_REG, 1), > @@ -4404,8 > > +4405,13 @@ void spi_nor_set_fixups(struct spi_nor *nor) #endif > > > > #ifdef CONFIG_SPI_FLASH_MT35XU > > - if (!strcmp(nor->info->name, "mt35xu512aba")) > > + if (!strcmp(nor->info->name, "mt35xu512aba") || > > + !strcmp(nor->info->name, "mt35xl512aba") || > > + !strcmp(nor->info->name, "mt35xu01g") || > > + !strcmp(nor->info->name, "mt35xu02g")) { > > nor->fixups = &mt35xu512aba_fixups; > > + return; > > + } > > #endif > > > > #if CONFIG_IS_ENABLED(SPI_FLASH_MACRONIX) > > diff --git a/include/spi.h b/include/spi.h index > > 6944773b59..d7fef36662 100644 > > --- a/include/spi.h > > +++ b/include/spi.h > > @@ -164,6 +164,7 @@ struct spi_slave { > > #define SPI_XFER_U_PAGE BIT(4) > > #define SPI_XFER_STACKED BIT(5) > > #define SPI_XFER_LOWER BIT(6) > > +#define SPI_XFER_SET_DDR BIT(7) > > Are we using this anywhere in the Controller driver ? What is the > significance of this > flag, when we can send the DDR info through the ops. Yes...we will be checking this If (spi->flags & SPI_XFER_SET_DDR) && op->cmd.dtr) then setup the DDR mode in controller driver.
I need to send the controller change series. Thanks Venkatesh > > > > > /* > > * Flag indicating that the spi-controller has multi chip select > > -- > > 2.25.1 > > > >

