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

From: Potthuri, Sai Krishna
Date: Tue Aug 30 2022 - 06:23:26 EST


Hi Michael,

> -----Original Message-----
> From: Michael Walle <michael@xxxxxxxx>
> Sent: Tuesday, August 30, 2022 12:40 PM
> To: Potthuri, Sai Krishna <sai.krishna.potthuri@xxxxxxx>
> Cc: Tudor Ambarus <tudor.ambarus@xxxxxxxxxxxxx>; Pratyush Yadav
> <pratyush@xxxxxxxxxx>; Miquel Raynal <miquel.raynal@xxxxxxxxxxx>;
> Richard Weinberger <richard@xxxxxx>; Vignesh Raghavendra
> <vigneshr@xxxxxx>; Rob Herring <robh+dt@xxxxxxxxxx>; Krzysztof Kozlowski
> <krzysztof.kozlowski+dt@xxxxxxxxxx>; devicetree@xxxxxxxxxxxxxxx; linux-
> mtd@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> saikrishna12468@xxxxxxxxx; git (AMD-Xilinx) <git@xxxxxxx>
> 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