lkml.org 
[lkml]   [2022]   [May]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] mtd: spi-nor: gigadevice: add support for gd25lq128e
On 23/5/22 18:03, Michael Walle wrote:
> According to JEP106BC the vendor code 0x25 is Tristar. I'm
> not sure what is going on here.

Nor I! The board schematic[0] reports the use of GD25LQ128EWIGR (vendor
Gigadevices), but indeed the chip itself reports vendor Tristar.

I will ask the community/vendor about this discrepancy.

> This flash supports SFDP, please provide an SFDP dump, see [1].

I will include this in my v2 patch. For posterity, here's the dump:

$ xxd -p /sys/bus/spi/devices/spi0.0/spi-nor/sfdp
53464450060101ff00060110300000ff9d05010380000002ffffffffffff
ffffffffffffffffffffffffffffffffffffe520f9ffffffff0744eb086b
083b80bbfeffffffffff00ffffff44eb0c200f5210d800ff234ac90082d8
11c7cccd68467a757a75f7a2d55c4a422cfff030c080ffffffffffffffff
ffffffffffffffff501950169cf9c0648fecffff
$ md5sum /sys/bus/spi/devices/spi0.0/spi-nor/sfdp
de4d6be54e479d60859b0ca8a0ee9216 /sys/bus/spi/devices/spi0.0/spi-nor/sfdp
$ cat /sys/bus/spi/devices/spi0.0/spi-nor/jedec_id
257018
$ cat /sys/bus/spi/devices/spi0.0/spi-nor/partname
gd25lq128e
$ cat /sys/bus/spi/devices/spi0.0/spi-nor/manufacturer
gigadevice

I have attached the parsed sfdp, according to
https://github.com/petris/sfdp-parser

> Did you test locking?

No. The datasheet mentions Status Register locking, but I will look into
how to adequately test this.

> As this flash supports SFDP, please use SNOR_ID3(0x257018)
> and drop both the INFO() and the NO_SFDP_FLAGS(). You'll
> need my SNOR_ID3() patches [2].

SGTM, will do.

Thanks for your feedback!


0.
https://files.pine64.org/doc/PinePhonePro/PinephonePro-Schematic-V1.0-20211127.pdf
page 11, "GD25LQ128EWIGR"Signature: 0x50444653 (Must be 0x50444653 ('S', 'F', 'D', 'P'))
Major: 1
Minor: 6
Parameters: 2
Total length: 140


Parameter 0 (Basic flash parameter table)
Major: 0xff00
Major: 1
Minor: 6
Offset: 48
Length: 64
Erase Size: 1 (4kB supported)
Write Granularity: 1 (64 bytes or more)
Volatile Status Register Block Protect Bits: 0 (non-volatile)
Write Enable Instruction for Writing to Volatile Status Register: 0 (50h)
4kB Erase Instruction: 0x20
1-1-2 Fast Read: 1 (supported)
Address Bytes: 0 (3-byte addressing)
Double transfer rate (DTR) Clocking: 1 (supported)
1-2-2 Fast Read: 1 (supported)
1-4-4 Fast Read: 1 (supported)
1-1-4 Fast Read: 1 (supported)
Flash Memory Density: 16777215 (in bytes)
1-4-4 Fast Read Number of Wait States Needed: 4
1-4-4 Fast Read Number of Mode Clocks: 2
1-4-4 Fast Read Instructions: 0xeb
1-1-4 Fast Read Number of Wait States Needed: 8
1-1-4 Fast Read Number of Mode Clocks: 0
1-1-4 Fast Read Instructions: 0x6b
1-1-2 Fast Read Number of Wait States Needed: 8
1-1-2 Fast Read Number of Mode Clocks: 0
1-1-2 Fast Read Instructions: 0x3b
1-2-2 Fast Read Number of Wait States Needed: 0
1-2-2 Fast Read Number of Mode Clocks: 4
1-2-2 Fast Read Instructions: 0xbb
2-2-2 Fast Read: 0 (not supported)
4-4-4 Fast Read: 1 (supported)
2-2-2 Fast Read Number of Wait States Needed: 0
2-2-2 Fast Read Number of Mode Clocks: 0
2-2-2 Fast Read Instructions: 0xff
4-4-4 Fast Read Number of Wait States Needed: 4
4-4-4 Fast Read Number of Mode Clocks: 2
4-4-4 Fast Read Instructions: 0xeb
Erase Type 1 Size: 4096 (in bytes)
Erase Type 1 Instruction: 0x20
Erase Type 2 Size: 32768 (in bytes)
Erase Type 2 Instruction: 0x52
Erase Type 3 Size: 65536 (in bytes)
Erase Type 3 Instruction: 0xd8
Erase Type 4 Size: 1 (not supported)
Erase Type 4 Instruction: 0xff
Typical Erase Time to Maximum Erase Time Multiplier: 8
Erase Type 1 Typical Time: 256 (in milliseconds)
Erase Type 2 Typical Time: 160 (in milliseconds)
Erase Type 4 Typical Time: 304 (in milliseconds)
Erase Type 4 Typical Time: 1 (in milliseconds)
Typical Program Time to Maximum Program Time Multiplier: 6
Page Size: 256
Typical Page Program Time: 200 (in microseconds)
Typical First Byte Program Time: 8 (in microseconds)
Typical Additional Byte Program Time: 3 (in microseconds)
Typical Chip Erase Time: 32000 (in milliseconds)


Parameter 1 (Unknown parameter)
Major: 0x29d
Major: 1
Minor: 5
Offset: 128
Length: 12
Word 0: 0x16501950
Word 1: 0x64c0f99c
Word 2: 0xffffec8f
\
 
 \ /
  Last update: 2022-05-24 22:52    [W:0.081 / U:0.704 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site