mirror of
				https://xff.cz/git/u-boot/
				synced 2025-10-31 18:35:42 +01:00 
			
		
		
		
	mtd: spi-nor-core: Rework spansion_read/write_any_reg() to use addr_mode_nbytes
Read/Write Any Register commands take 3- or 4- byte address depending on flash's internal address mode. The nor->addr_width tracks number of address bytes used in read/program/erase ops that can be 4 (with 4B opcodes) regardless of flash's internal address mode. The nor->addr_mode_nbytes tracks flash's internal address mode so replace nor->addr_width by that. Signed-off-by: Takahiro Kuwano <Takahiro.Kuwano@infineon.com> Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
This commit is contained in:
		
				
					committed by
					
						 Jagan Teki
						Jagan Teki
					
				
			
			
				
	
			
			
			
						parent
						
							4d60001fdf
						
					
				
				
					commit
					f58e7b24fa
				
			| @@ -329,10 +329,10 @@ static int spansion_read_any_reg(struct spi_nor *nor, u32 addr, u8 dummy, | ||||
| 				 u8 *val) | ||||
| { | ||||
| 	struct spi_mem_op op = | ||||
| 			SPI_MEM_OP(SPI_MEM_OP_CMD(SPINOR_OP_RDAR, 1), | ||||
| 				   SPI_MEM_OP_ADDR(nor->addr_width, addr, 1), | ||||
| 				   SPI_MEM_OP_DUMMY(dummy / 8, 1), | ||||
| 				   SPI_MEM_OP_DATA_IN(1, NULL, 1)); | ||||
| 		SPI_MEM_OP(SPI_MEM_OP_CMD(SPINOR_OP_RDAR, 1), | ||||
| 			   SPI_MEM_OP_ADDR(nor->addr_mode_nbytes, addr, 1), | ||||
| 			   SPI_MEM_OP_DUMMY(dummy / 8, 1), | ||||
| 			   SPI_MEM_OP_DATA_IN(1, NULL, 1)); | ||||
|  | ||||
| 	return spi_nor_read_write_reg(nor, &op, val); | ||||
| } | ||||
| @@ -340,10 +340,10 @@ static int spansion_read_any_reg(struct spi_nor *nor, u32 addr, u8 dummy, | ||||
| static int spansion_write_any_reg(struct spi_nor *nor, u32 addr, u8 val) | ||||
| { | ||||
| 	struct spi_mem_op op = | ||||
| 			SPI_MEM_OP(SPI_MEM_OP_CMD(SPINOR_OP_WRAR, 1), | ||||
| 				   SPI_MEM_OP_ADDR(nor->addr_width, addr, 1), | ||||
| 				   SPI_MEM_OP_NO_DUMMY, | ||||
| 				   SPI_MEM_OP_DATA_OUT(1, NULL, 1)); | ||||
| 		SPI_MEM_OP(SPI_MEM_OP_CMD(SPINOR_OP_WRAR, 1), | ||||
| 			   SPI_MEM_OP_ADDR(nor->addr_mode_nbytes, addr, 1), | ||||
| 			   SPI_MEM_OP_NO_DUMMY, | ||||
| 			   SPI_MEM_OP_DATA_OUT(1, NULL, 1)); | ||||
|  | ||||
| 	return spi_nor_read_write_reg(nor, &op, &val); | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user