summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorTom Rini <[email protected]>2022-09-13 15:55:33 -0400
committerTom Rini <[email protected]>2022-09-13 15:55:33 -0400
commitc2238fcf0c4567bbd581882e5952047e71406f58 (patch)
tree2af9998be92eae0ac3676e9f75be4b1a910e75a1 /include/linux
parentb3d9c0b6d5895e91b3e6b3566423d09e5a4d5ee8 (diff)
parentc184aca7b061f81681fc10d777c936f9a787a317 (diff)
Merge branch '2022-09-13-add-aspeed-spi-controller' into next
To quote the author: This patch series aims to porting ASPEED FMC/SPI memory controller driver with spi-mem interface. spi-mem dirmap framework is also synchronized from Linux. These patches have been verified on AST2600, AST2500 and AST2400 EVBs.
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/mtd/spi-nor.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/linux/mtd/spi-nor.h b/include/linux/mtd/spi-nor.h
index 2595bad9dfe..638d807ee55 100644
--- a/include/linux/mtd/spi-nor.h
+++ b/include/linux/mtd/spi-nor.h
@@ -11,6 +11,7 @@
#include <linux/bitops.h>
#include <linux/mtd/cfi.h>
#include <linux/mtd/mtd.h>
+#include <spi-mem.h>
/*
* Manufacturer IDs
@@ -522,6 +523,7 @@ struct spi_flash {
* @quad_enable: [FLASH-SPECIFIC] enables SPI NOR quad mode
* @octal_dtr_enable: [FLASH-SPECIFIC] enables SPI NOR octal DTR mode.
* @ready: [FLASH-SPECIFIC] check if the flash is ready
+ * @dirmap: pointers to struct spi_mem_dirmap_desc for reads/writes.
* @priv: the private data
*/
struct spi_nor {
@@ -572,6 +574,11 @@ struct spi_nor {
int (*octal_dtr_enable)(struct spi_nor *nor);
int (*ready)(struct spi_nor *nor);
+ struct {
+ struct spi_mem_dirmap_desc *rdesc;
+ struct spi_mem_dirmap_desc *wdesc;
+ } dirmap;
+
void *priv;
char mtd_name[MTD_NAME_SIZE(MTD_DEV_TYPE_NOR)];
/* Compatibility for spi_flash, remove once sf layer is merged with mtd */
@@ -596,6 +603,17 @@ device_node *spi_nor_get_flash_node(struct spi_nor *nor)
#endif /* __UBOOT__ */
/**
+ * spi_nor_setup_op() - Set up common properties of a spi-mem op.
+ * @nor: pointer to a 'struct spi_nor'
+ * @op: pointer to the 'struct spi_mem_op' whose properties
+ * need to be initialized.
+ * @proto: the protocol from which the properties need to be set.
+ */
+void spi_nor_setup_op(const struct spi_nor *nor,
+ struct spi_mem_op *op,
+ const enum spi_nor_protocol proto);
+
+/**
* spi_nor_scan() - scan the SPI NOR
* @nor: the spi_nor structure
*