Re: [PATCH linux-next v4 5/5] mtd: atmel-quadspi: add driver for Atmel QSPI controller
From: Cyrille Pitchen <hidden>
Date: 2015-08-25 11:24:28
Also in:
linux-arm-kernel, linux-spi, lkml
Hi! Le 25/08/2015 03:44, Bean Huo 霍斌斌 (beanhuo) a écrit :
quoted
+ nor->read_reg = atmel_qspi_read_reg; + nor->write_reg = atmel_qspi_write_reg; + nor->read = atmel_qspi_read; + nor->write = atmel_qspi_write; + nor->erase = atmel_qspi_erase; + nor->set_protocol = atmel_qspi_set_protocol;This is very good, the structure of spi_nor should add a hook function to notify spi controller That spi nor transfer protocol already changed.quoted
+ + if (of_modalias_node(child, modalias, sizeof(modalias)) < 0) { + err = -ENODEV; + goto release_channel; + } + + err = of_property_read_u32(child, "spi-max-frequency", &aq->clk_rate); + if (err < 0) + goto release_channel; + + err = atmel_qspi_init(aq); + if (err) + goto release_channel; + + nor->dev->of_node = child; + err = spi_nor_scan(nor, modalias, SPI_NOR_QUAD); goto release_channel; +.......quoted
static inline struct spi_nor *mtd_to_spi_nor(struct mtd_info *mtd) {return mtd->priv;quoted
@@ -944,6 +960,11 @@ static int micron_quad_enable(struct spi_nor *nor)return ret; } + /* switch protocol to Quad CMD 4-4-4 */ + ret = spi_nor_set_protocol(nor, SPI_PROTO_4_4_4); + if (ret) + return ret; +This make sense,from spi nor side,once its protocol being changed, Mtd layer must notify this status to spi nor controller immediately, And spi nor controller also should re-adjust its protocol. Otherwise, following reading SR operation will fail.quoted
ret = spi_nor_wait_till_ready(nor); if (ret) return ret;If my ack has any value in here, feel free to add it. Acked-by: Bean Huo <redacted>
Since your comments deal with the protocol change, I'll add your ack to the first patch of the series: "mtd: spi-nor: notify (Q)SPI controller about protocol change" Thanks for your review! Best regards, Cyrille -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html