Hi Tudor, On 10/23/2025 5:21 PM, Tudor Ambarus wrote: > > > On 10/21/25 8:41 AM, Takahiro Kuwano wrote: >> Hi Tudor, > > Hi! > >> >> On 10/21/2025 3:36 AM, Tudor Ambarus wrote: >>> Hi, Takahiro, >>> >>> On 10/20/25 8:25 AM, [email protected] wrote: >>>> From: Takahiro Kuwano <[email protected]> >>>> >>>> nor->addr_mode_nbytes is set during SFDP parse. Infineon SEMPER flash >>>> family relies on that parameter to read and write registers. To support >>>> use cases of skipping SFDP, set address mode in device specific setup() >>>> function. >>>> >>>> Tested-by: Hiroyuki Saito <[email protected]> >>>> Signed-off-by: Takahiro Kuwano <[email protected]> >>>> --- >>>> drivers/mtd/spi/spi-nor-core.c | 10 ++++++++++ >>>> 1 file changed, 10 insertions(+) >>>> >>>> diff --git a/drivers/mtd/spi/spi-nor-core.c >>>> b/drivers/mtd/spi/spi-nor-core.c >>>> index 6f352c5c0e2..e382a518a34 100644 >>>> --- a/drivers/mtd/spi/spi-nor-core.c >>>> +++ b/drivers/mtd/spi/spi-nor-core.c >>>> @@ -3794,6 +3794,16 @@ static int s25_s28_setup(struct spi_nor *nor, const >>>> struct flash_info *info, >>>> #ifdef CONFIG_SPI_FLASH_BAR >>>> return -ENOTSUPP; /* Bank Address Register is not supported */ >>>> #endif >>>> + >>>> + /* Setup address mode here, in case SFDP is skipped. */ >>> >>> Under which conditions is the SFDP skipped? >>> >> In u-boot, SFDP is config option and some defconfig do not use it. > > I'd argue this is a good idea. Maybe for the tiny duplicate version > of the driver could be, but for the main driver, it's not. > > I'd also argue the tiny driver idea was ideal to start with. Instead > we should have tried to modularize SPI NOR, by vendors, static init > and SFDP. > >> >>>> + if (!nor->addr_mode_nbytes) { >>>> + ret = set_4byte(nor, nor->info, 1); >>> >>> why do you need this call? Isn't enough the one done in spi_nor_init()? >>> >> The addr_mode_nbytes is refereed in spansion_read_any_reg() during >> setup(). > > Right. So you set it twice. Can we set it just once? > > I guess you can feel my disapproval about where the code is leading to if > we continue like this: unmaintainable code. > Yeah, I will revisit to cleanup and isolation.
Thanks, Takahiro

