All of lore.kernel.org
 help / color / mirror / Atom feed
From: Boris Brezillon <boris.brezillon@bootlin.com>
To: Yogesh Narayan Gaur <yogeshnarayan.gaur@nxp.com>
Cc: "Cristian.Birsan@microchip.com" <Cristian.Birsan@microchip.com>,
	Tudor Ambarus <tudor.ambarus@microchip.com>,
	"richard@nod.at" <richard@nod.at>,
	Mark Brown <broonie@kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"nicolas.ferre@microchip.com" <nicolas.ferre@microchip.com>,
	"marek.vasut@gmail.com" <marek.vasut@gmail.com>,
	"cyrille.pitchen@microchip.com" <cyrille.pitchen@microchip.com>,
	"linux-mtd@lists.infradead.org" <linux-mtd@lists.infradead.org>,
	Cyrille Pitchen <cyrille.pitchen@wedev4u.fr>,
	"computersforpeace@gmail.com" <computersforpeace@gmail.com>,
	"dwmw2@infradead.org" <dwmw2@infradead.org>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v3 1/2] mtd: spi-nor: add support to non-uniform SFDP SPI NOR flash memories
Date: Tue, 23 Oct 2018 10:48:27 +0200	[thread overview]
Message-ID: <20181023104827.77e7775b@bbrezillon> (raw)
In-Reply-To: <VI1PR04MB10381C2DC4052E636BA26ADA99F50@VI1PR04MB1038.eurprd04.prod.outlook.com>

On Tue, 23 Oct 2018 08:18:35 +0000
Yogesh Narayan Gaur <yogeshnarayan.gaur@nxp.com> wrote:

> 
> I have added the prints in m25p80_read() and in flexspi controller prepare_lut and read_rxfifo() func.
> In these have added prints for data variable of struct op and data which being read by the controller from the flash.
> 
> [    2.091467] smpt[0]=[addr_width:00000003, read_dumy:00000008, read_opcode:00000065, data_mask:00000008]          
> [    2.099113] m25p80_read, nor[op:00000065 addr_width:00000003, dummy:00000008, len:00000001                       
> [    2.107367] m25p80_read, cmd[opcode:65 bwidth:1] aadr[val:4, nbytes:3, bwidth:1]                                 
> [    2.114753] m25p80_read, dummy[nbytes:1 bwidth:1] data[bwidth:1, nbytes:1]                                       
> [    2.121706] nxp_fspi_prepare_lut cmd[opcode:65 bwidth:1] aadr[val:4, nbytes:3, bwidth:1]                         
> [    2.129786] dummy[nbytes:1 bwidth:1] data[dir:0 bwidth:1, nbytes:1]                                              
> [    2.136132] nxp-fspi 20c0000.flexspi: CMD[65] lutval[0:8180465        1:24003008      2:0     3:0]               
> [    2.144223] nxp_fspi_read_rxfifo, ReadData op.buf[0x00]                                         
> [    2.151004] smpt_read[1] addr[00000004], data_byte[00000000] err:00000000   
> 
>                                                   
> [    2.157782] smpt[2]=[addr_width:00000003, read_dumy:00000008, read_opcode:00000065, data_mask:00000004]  
> [    2.165429] m25p80_read, nor[op:00000065 addr_width:00000003, dummy:00000008, len:00000001                 
> [    2.173683] m25p80_read, cmd[opcode:65 bwidth:1] aadr[val:2, nbytes:3, bwidth:1]                       
> [    2.181068] m25p80_read, dummy[nbytes:1 bwidth:1] data[bwidth:1, nbytes:1]                                     
> [    2.188021] nxp_fspi_prepare_lut cmd[opcode:65 bwidth:1] aadr[val:2, nbytes:3, bwidth:1]                   
> [    2.196101] dummy[nbytes:1 bwidth:1] data[dir:0 bwidth:1, nbytes:1]                   
> [    2.202447] nxp-fspi 20c0000.flexspi: CMD[65] lutval[0:8180465        1:24003008      2:0     3:0]       
> [    2.210539] nxp_fspi_read_rxfifo, ReadData op.buf[0x02]                            
> [    2.217319] smpt_read[3] addr[00000002], data_byte[00000002] err:00000000                                                     
> 
> 
> [    2.224098] smpt[4]=[addr_width:00000003, read_dumy:00000008, read_opcode:00000065, data_mask:00000002]                 
> [    2.231744] m25p80_read, nor[op:00000065 addr_width:00000003, dummy:00000008, len:00000001              
> [    2.239998] m25p80_read, cmd[opcode:65 bwidth:1] aadr[val:4, nbytes:3, bwidth:1]                     
> [    2.247383] m25p80_read, dummy[nbytes:1 bwidth:1] data[bwidth:1, nbytes:1]                     
> [    2.254336] nxp_fspi_prepare_lut cmd[opcode:65 bwidth:1] aadr[val:4, nbytes:3, bwidth:1]            
> [    2.262416] dummy[nbytes:1 bwidth:1] data[dir:0 bwidth:1, nbytes:1]                                    
> [    2.268762] nxp-fspi 20c0000.flexspi: CMD[65] lutval[0:8180465        1:24003008      2:0     3:0]         
> [    2.276854] nxp_fspi_read_rxfifo, ReadData op.buf[0x00]                                     
> [    2.283634] smpt_read[5] addr[00000004], data_byte[00000000] err:00000000                 
> 
> 
> [    2.290412] spi_nor_get_map_in_use:2915 map_id=0 smpt_len:16 i=:6                                                             
> [    2.296496] End [addr_width:00000003, read_dumy:00000008, read_opcode:00000065] ReturnVal:00000000                            
> [    2.305444] spi_nor_parse_smpt:3065                                                                                           
> [    2.308924] m25p80 spi0.0: failed to parse SMPT (err = -22)                                      
> 
> 
> > 
> > Next thing you can do is read the CR2NV reg (using the RDAR command) and
> > check the RL (Read Latency) and AL (Address Length) values.  
> 
> Please let me know how to read CR2NV register.

Actually, RDAR is already what you use to read the map_id, and we need
to use it to read the register that contains the number of dummy cycles
and the number of address bytes to use for RDAR operations. Looks like
we have a chicken and egg situation here :-).

Let's try something else:

1/ create an u8 array of 16 entries named data_bytes

for each loop iteration (the first for loop):
2/ set ->addr_width to 3 and ->read_dummy to 0
3/ call spi_nor_read_raw(nor, addr, ARRAY_SIZE(data_bytes), data_bytes)
4/ dump the data_bytes buf
5/ set ->addr_width to 4
6/ call spi_nor_read_raw(nor, addr, ARRAY_SIZE(data_bytes), data_bytes)
7/ dump the data_bytes buf
   
If the SPI driver is working correctly, we should be able to figure out
the right value for ->addr_width and ->read_dummy.

Thanks,

Boris

WARNING: multiple messages have this Message-ID (diff)
From: boris.brezillon@bootlin.com (Boris Brezillon)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 1/2] mtd: spi-nor: add support to non-uniform SFDP SPI NOR flash memories
Date: Tue, 23 Oct 2018 10:48:27 +0200	[thread overview]
Message-ID: <20181023104827.77e7775b@bbrezillon> (raw)
In-Reply-To: <VI1PR04MB10381C2DC4052E636BA26ADA99F50@VI1PR04MB1038.eurprd04.prod.outlook.com>

On Tue, 23 Oct 2018 08:18:35 +0000
Yogesh Narayan Gaur <yogeshnarayan.gaur@nxp.com> wrote:

> 
> I have added the prints in m25p80_read() and in flexspi controller prepare_lut and read_rxfifo() func.
> In these have added prints for data variable of struct op and data which being read by the controller from the flash.
> 
> [    2.091467] smpt[0]=[addr_width:00000003, read_dumy:00000008, read_opcode:00000065, data_mask:00000008]          
> [    2.099113] m25p80_read, nor[op:00000065 addr_width:00000003, dummy:00000008, len:00000001                       
> [    2.107367] m25p80_read, cmd[opcode:65 bwidth:1] aadr[val:4, nbytes:3, bwidth:1]                                 
> [    2.114753] m25p80_read, dummy[nbytes:1 bwidth:1] data[bwidth:1, nbytes:1]                                       
> [    2.121706] nxp_fspi_prepare_lut cmd[opcode:65 bwidth:1] aadr[val:4, nbytes:3, bwidth:1]                         
> [    2.129786] dummy[nbytes:1 bwidth:1] data[dir:0 bwidth:1, nbytes:1]                                              
> [    2.136132] nxp-fspi 20c0000.flexspi: CMD[65] lutval[0:8180465        1:24003008      2:0     3:0]               
> [    2.144223] nxp_fspi_read_rxfifo, ReadData op.buf[0x00]                                         
> [    2.151004] smpt_read[1] addr[00000004], data_byte[00000000] err:00000000   
> 
>                                                   
> [    2.157782] smpt[2]=[addr_width:00000003, read_dumy:00000008, read_opcode:00000065, data_mask:00000004]  
> [    2.165429] m25p80_read, nor[op:00000065 addr_width:00000003, dummy:00000008, len:00000001                 
> [    2.173683] m25p80_read, cmd[opcode:65 bwidth:1] aadr[val:2, nbytes:3, bwidth:1]                       
> [    2.181068] m25p80_read, dummy[nbytes:1 bwidth:1] data[bwidth:1, nbytes:1]                                     
> [    2.188021] nxp_fspi_prepare_lut cmd[opcode:65 bwidth:1] aadr[val:2, nbytes:3, bwidth:1]                   
> [    2.196101] dummy[nbytes:1 bwidth:1] data[dir:0 bwidth:1, nbytes:1]                   
> [    2.202447] nxp-fspi 20c0000.flexspi: CMD[65] lutval[0:8180465        1:24003008      2:0     3:0]       
> [    2.210539] nxp_fspi_read_rxfifo, ReadData op.buf[0x02]                            
> [    2.217319] smpt_read[3] addr[00000002], data_byte[00000002] err:00000000                                                     
> 
> 
> [    2.224098] smpt[4]=[addr_width:00000003, read_dumy:00000008, read_opcode:00000065, data_mask:00000002]                 
> [    2.231744] m25p80_read, nor[op:00000065 addr_width:00000003, dummy:00000008, len:00000001              
> [    2.239998] m25p80_read, cmd[opcode:65 bwidth:1] aadr[val:4, nbytes:3, bwidth:1]                     
> [    2.247383] m25p80_read, dummy[nbytes:1 bwidth:1] data[bwidth:1, nbytes:1]                     
> [    2.254336] nxp_fspi_prepare_lut cmd[opcode:65 bwidth:1] aadr[val:4, nbytes:3, bwidth:1]            
> [    2.262416] dummy[nbytes:1 bwidth:1] data[dir:0 bwidth:1, nbytes:1]                                    
> [    2.268762] nxp-fspi 20c0000.flexspi: CMD[65] lutval[0:8180465        1:24003008      2:0     3:0]         
> [    2.276854] nxp_fspi_read_rxfifo, ReadData op.buf[0x00]                                     
> [    2.283634] smpt_read[5] addr[00000004], data_byte[00000000] err:00000000                 
> 
> 
> [    2.290412] spi_nor_get_map_in_use:2915 map_id=0 smpt_len:16 i=:6                                                             
> [    2.296496] End [addr_width:00000003, read_dumy:00000008, read_opcode:00000065] ReturnVal:00000000                            
> [    2.305444] spi_nor_parse_smpt:3065                                                                                           
> [    2.308924] m25p80 spi0.0: failed to parse SMPT (err = -22)                                      
> 
> 
> > 
> > Next thing you can do is read the CR2NV reg (using the RDAR command) and
> > check the RL (Read Latency) and AL (Address Length) values.  
> 
> Please let me know how to read CR2NV register.

Actually, RDAR is already what you use to read the map_id, and we need
to use it to read the register that contains the number of dummy cycles
and the number of address bytes to use for RDAR operations. Looks like
we have a chicken and egg situation here :-).

Let's try something else:

1/ create an u8 array of 16 entries named data_bytes

for each loop iteration (the first for loop):
2/ set ->addr_width to 3 and ->read_dummy to 0
3/ call spi_nor_read_raw(nor, addr, ARRAY_SIZE(data_bytes), data_bytes)
4/ dump the data_bytes buf
5/ set ->addr_width to 4
6/ call spi_nor_read_raw(nor, addr, ARRAY_SIZE(data_bytes), data_bytes)
7/ dump the data_bytes buf
   
If the SPI driver is working correctly, we should be able to figure out
the right value for ->addr_width and ->read_dummy.

Thanks,

Boris

  reply	other threads:[~2018-10-23  8:48 UTC|newest]

Thread overview: 158+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-11 15:40 [PATCH v3 0/2] add support to non-uniform SFDP SPI NOR flash memories Tudor Ambarus
2018-09-11 15:40 ` Tudor Ambarus
2018-09-11 15:40 ` [PATCH v3 1/2] mtd: spi-nor: " Tudor Ambarus
2018-09-11 15:40   ` Tudor Ambarus
2018-09-11 18:55   ` Marek Vasut
2018-09-11 18:55     ` Marek Vasut
2018-09-17 17:03   ` Tudor Ambarus
2018-09-17 17:03     ` Tudor Ambarus
2018-10-16  9:51   ` Yogesh Narayan Gaur
2018-10-16  9:51     ` Yogesh Narayan Gaur
2018-10-16  9:51     ` Yogesh Narayan Gaur
2018-10-16 12:04     ` Boris Brezillon
2018-10-16 12:04       ` Boris Brezillon
2018-10-16 12:04       ` Boris Brezillon
2018-10-16 12:17       ` Boris Brezillon
2018-10-16 12:17         ` Boris Brezillon
2018-10-16 12:17         ` Boris Brezillon
2018-10-17  1:54         ` Yogesh Narayan Gaur
2018-10-17  1:54           ` Yogesh Narayan Gaur
2018-10-17  1:54           ` Yogesh Narayan Gaur
2018-10-16 15:14     ` Tudor Ambarus
2018-10-16 15:14       ` Tudor Ambarus
2018-10-16 15:14       ` Tudor Ambarus
2018-10-16 16:34       ` Cyrille Pitchen
2018-10-16 16:34         ` Cyrille Pitchen
2018-10-16 16:34         ` Cyrille Pitchen
2018-10-17  2:07         ` Yogesh Narayan Gaur
2018-10-17  2:07           ` Yogesh Narayan Gaur
2018-10-17  2:07           ` Yogesh Narayan Gaur
2018-10-17  3:50           ` Yogesh Narayan Gaur
2018-10-17  3:50             ` Yogesh Narayan Gaur
2018-10-17  3:50             ` Yogesh Narayan Gaur
2018-10-17  7:07           ` Boris Brezillon
2018-10-17  7:07             ` Boris Brezillon
2018-10-17  7:07             ` Boris Brezillon
2018-10-17  7:10             ` Boris Brezillon
2018-10-17  7:10               ` Boris Brezillon
2018-10-17  7:10               ` Boris Brezillon
2018-10-17  7:17               ` Boris Brezillon
2018-10-17  7:17                 ` Boris Brezillon
2018-10-17  7:17                 ` Boris Brezillon
2018-10-17  7:29               ` Boris Brezillon
2018-10-17  7:29                 ` Boris Brezillon
2018-10-17  7:29                 ` Boris Brezillon
2018-10-17  7:46                 ` Yogesh Narayan Gaur
2018-10-17  7:46                   ` Yogesh Narayan Gaur
2018-10-17  7:46                   ` Yogesh Narayan Gaur
2018-10-17  8:00                   ` Tudor Ambarus
2018-10-17  8:00                     ` Tudor Ambarus
2018-10-17  8:00                     ` Tudor Ambarus
2018-10-17  8:20                     ` Yogesh Narayan Gaur
2018-10-17  8:20                       ` Yogesh Narayan Gaur
2018-10-17  8:20                       ` Yogesh Narayan Gaur
2018-10-17  8:48                       ` Boris Brezillon
2018-10-17  8:48                         ` Boris Brezillon
2018-10-17  8:48                         ` Boris Brezillon
2018-10-17  9:52                   ` Boris Brezillon
2018-10-17  9:52                     ` Boris Brezillon
2018-10-17  9:52                     ` Boris Brezillon
2018-10-22  6:04                     ` Yogesh Narayan Gaur
2018-10-22  6:04                       ` Yogesh Narayan Gaur
2018-10-22  6:04                       ` Yogesh Narayan Gaur
2018-10-22  7:34                       ` Boris Brezillon
2018-10-22  7:34                         ` Boris Brezillon
2018-10-22  7:34                         ` Boris Brezillon
2018-10-22  8:01                       ` Boris Brezillon
2018-10-22  8:01                         ` Boris Brezillon
2018-10-22  8:01                         ` Boris Brezillon
2018-10-22  8:32                         ` Yogesh Narayan Gaur
2018-10-22  8:32                           ` Yogesh Narayan Gaur
2018-10-22  8:32                           ` Yogesh Narayan Gaur
2018-10-22  9:09                           ` Boris Brezillon
2018-10-22  9:09                             ` Boris Brezillon
2018-10-22  9:09                             ` Boris Brezillon
2018-10-22  8:33                       ` Tudor Ambarus
2018-10-22  8:33                         ` Tudor Ambarus
2018-10-22  8:33                         ` Tudor Ambarus
2018-10-22  9:15                       ` Boris Brezillon
2018-10-22  9:15                         ` Boris Brezillon
2018-10-22  9:15                         ` Boris Brezillon
2018-10-22 10:03                         ` Yogesh Narayan Gaur
2018-10-22 10:03                           ` Yogesh Narayan Gaur
2018-10-22 10:03                           ` Yogesh Narayan Gaur
2018-10-22 10:10                           ` Boris Brezillon
2018-10-22 10:10                             ` Boris Brezillon
2018-10-22 10:10                             ` Boris Brezillon
2018-10-22 10:17                             ` Yogesh Narayan Gaur
2018-10-22 10:17                               ` Yogesh Narayan Gaur
2018-10-22 10:17                               ` Yogesh Narayan Gaur
2018-10-22 10:25                               ` Boris Brezillon
2018-10-22 10:25                                 ` Boris Brezillon
2018-10-22 10:25                                 ` Boris Brezillon
2018-10-22 10:20                           ` Boris Brezillon
2018-10-22 10:20                             ` Boris Brezillon
2018-10-22 10:20                             ` Boris Brezillon
2018-10-22 10:26                           ` Boris Brezillon
2018-10-22 10:26                             ` Boris Brezillon
2018-10-22 10:26                             ` Boris Brezillon
2018-10-22 10:39                             ` Yogesh Narayan Gaur
2018-10-22 10:39                               ` Yogesh Narayan Gaur
2018-10-22 10:39                               ` Yogesh Narayan Gaur
2018-10-22 10:46                               ` Boris Brezillon
2018-10-22 10:46                                 ` Boris Brezillon
2018-10-22 10:46                                 ` Boris Brezillon
2018-10-22 10:52                                 ` Boris Brezillon
2018-10-22 10:52                                   ` Boris Brezillon
2018-10-22 10:52                                   ` Boris Brezillon
2018-10-22 11:03                                   ` Yogesh Narayan Gaur
2018-10-22 11:03                                     ` Yogesh Narayan Gaur
2018-10-22 11:03                                     ` Yogesh Narayan Gaur
2018-10-22 11:43                                     ` Boris Brezillon
2018-10-22 11:43                                       ` Boris Brezillon
2018-10-22 11:43                                       ` Boris Brezillon
2018-10-22 11:46                                       ` Yogesh Narayan Gaur
2018-10-22 11:46                                         ` Yogesh Narayan Gaur
2018-10-22 11:46                                         ` Yogesh Narayan Gaur
2018-10-22 11:52                                         ` Boris Brezillon
2018-10-22 11:52                                           ` Boris Brezillon
2018-10-22 11:52                                           ` Boris Brezillon
2018-10-23  4:47                                           ` Yogesh Narayan Gaur
2018-10-23  4:47                                             ` Yogesh Narayan Gaur
2018-10-23  4:47                                             ` Yogesh Narayan Gaur
2018-10-23  5:39                                             ` Boris Brezillon
2018-10-23  5:39                                               ` Boris Brezillon
2018-10-23  5:39                                               ` Boris Brezillon
2018-10-23  8:18                                               ` Yogesh Narayan Gaur
2018-10-23  8:18                                                 ` Yogesh Narayan Gaur
2018-10-23  8:18                                                 ` Yogesh Narayan Gaur
2018-10-23  8:48                                                 ` Boris Brezillon [this message]
2018-10-23  8:48                                                   ` Boris Brezillon
2018-10-23  8:48                                                   ` Boris Brezillon
2018-10-23  8:59                                                   ` Yogesh Narayan Gaur
2018-10-23  8:59                                                     ` Yogesh Narayan Gaur
2018-10-23  8:59                                                     ` Yogesh Narayan Gaur
2018-10-23  9:09                                                     ` Boris Brezillon
2018-10-23  9:09                                                       ` Boris Brezillon
2018-10-23  9:09                                                       ` Boris Brezillon
2018-10-23  9:01                                                   ` Boris Brezillon
2018-10-23  9:01                                                     ` Boris Brezillon
2018-10-23  9:01                                                     ` Boris Brezillon
2018-10-23  9:05                                                     ` Yogesh Narayan Gaur
2018-10-23  9:05                                                       ` Yogesh Narayan Gaur
2018-10-23  9:05                                                       ` Yogesh Narayan Gaur
2018-10-23  9:10                                                       ` Boris Brezillon
2018-10-23  9:10                                                         ` Boris Brezillon
2018-10-23  9:10                                                         ` Boris Brezillon
2018-10-23  9:15                                                         ` Yogesh Narayan Gaur
2018-10-23  9:15                                                           ` Yogesh Narayan Gaur
2018-10-23  9:15                                                           ` Yogesh Narayan Gaur
2018-10-17  9:06           ` Cyrille Pitchen
2018-10-17  9:06             ` Cyrille Pitchen
2018-10-17  9:06             ` Cyrille Pitchen
2018-09-11 15:40 ` [PATCH v3 2/2] mtd: spi-nor: parse SFDP Sector Map Parameter Table Tudor Ambarus
2018-09-11 15:40   ` Tudor Ambarus
2018-09-11 18:56   ` Marek Vasut
2018-09-11 18:56     ` Marek Vasut
2018-09-18 13:09 ` [PATCH v3 0/2] add support to non-uniform SFDP SPI NOR flash memories Boris Brezillon
2018-09-18 13:09   ` Boris Brezillon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181023104827.77e7775b@bbrezillon \
    --to=boris.brezillon@bootlin.com \
    --cc=Cristian.Birsan@microchip.com \
    --cc=broonie@kernel.org \
    --cc=computersforpeace@gmail.com \
    --cc=cyrille.pitchen@microchip.com \
    --cc=cyrille.pitchen@wedev4u.fr \
    --cc=dwmw2@infradead.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=marek.vasut@gmail.com \
    --cc=nicolas.ferre@microchip.com \
    --cc=richard@nod.at \
    --cc=tudor.ambarus@microchip.com \
    --cc=yogeshnarayan.gaur@nxp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.