[PATCH 2/2] mtd: spi-nor: Add support for flash reset

Potthuri, Sai Krishna sai.krishna.potthuri at amd.com
Tue Aug 30 03:22:08 PDT 2022


Hi Michael,

> -----Original Message-----
> From: Michael Walle <michael at walle.cc>
> Sent: Tuesday, August 30, 2022 12:40 PM
> To: Potthuri, Sai Krishna <sai.krishna.potthuri at amd.com>
> Cc: Tudor Ambarus <tudor.ambarus at microchip.com>; Pratyush Yadav
> <pratyush at kernel.org>; Miquel Raynal <miquel.raynal at bootlin.com>;
> Richard Weinberger <richard at nod.at>; Vignesh Raghavendra
> <vigneshr at ti.com>; Rob Herring <robh+dt at kernel.org>; Krzysztof Kozlowski
> <krzysztof.kozlowski+dt at linaro.org>; devicetree at vger.kernel.org; linux-
> mtd at lists.infradead.org; linux-kernel at vger.kernel.org;
> saikrishna12468 at gmail.com; git (AMD-Xilinx) <git at amd.com>
> Subject: Re: [PATCH 2/2] mtd: spi-nor: Add support for flash reset
> 
> Hi,
> 
> Am 2022-08-30 08:32, schrieb Potthuri, Sai Krishna:
> 
> >> > +	if (ret)
> >> > +		return ret;
> >> > +
> >> > +	/*
> >> > +	 * Experimental Minimum Chip select high to Reset delay value
> >> > +	 * based on the flash device spec.
> >> > +	 */
> >>
> >> Which flash device spec?
> > I referred some of the qspi, ospi flash vendors datasheets like
> > Micron, Macronix, ISSI, gigadevice, spansion.
> 
> Please mention here that you've looked at datasheets of different vendors.
> And maybe instead of doing three comments, just one and then the reset
> sequence.
Ok, I will update in v2.
> 
> >>
> >> > +	usleep_range(1, 5);
> >> > +	gpiod_set_value(reset, 0);
> >>
> >> Mh, is your logic inverted here? If I read the code correctly, you
> >> should use a value of 1 to take the device into reset. The device
> >> tree should then have a flag "active low", which will
> > Reset Sequence which I implemented here is high(1)->low(0)->high(1).
> > By doing this sequence (active low), flash device is getting reset,
> > this sequence is tested using Octal SPI flash device.
> 
> How does the device tree property for your look like?
> Has it the GPIO_ACTIVE_LOW flag set?
Sorry, I misunderstand your initial ask, This logic is developed by keeping
the GPIO_ACTIVE_HIGH flag set in the device-tree. Agree this will violate the
flash reset sequence (active low reset).
I will update the sequence in v2 to match with the "active low" flag in the
device tree.

Regards
Sai Krishna
> 
> -michael



More information about the linux-mtd mailing list