Re: [PATCH v3 2/2] mtd: spi-nor: add rockchip serial flash controller driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 2016/12/6 11:08, Marek Vasut wrote:
On 12/06/2016 03:56 AM, Shawn Lin wrote:

[...]

+static inline void rockchip_sfc_setup_transfer(struct spi_nor *nor,
+                           loff_t from_to,
+                           size_t len, u8 op_type)
+{
+    struct rockchip_sfc_chip_priv *priv = nor->priv;
+    struct rockchip_sfc *sfc = priv->sfc;
+    u32 reg;
+    u8 if_type = 0;
+
+    if_type = get_if_type(sfc, nor->flash_read);
+    writel_relaxed((if_type << SFC_CTRL_DATA_BITS_SHIFT) |
+               (if_type << SFC_CTRL_ADDR_BITS_SHIFT) |
+               (if_type << SFC_CTRL_CMD_BITS_SHIFT) |

Hm, looking at this, does the controller only support n-n-n mode (1-1-1,
2-2-2, 4-4-4) ? Or why don't you allow 1-1-n/1-n-n/2-n-n ?

No, it also could support 1-1-n, etc.
By looking at the cadence-quadspi.c,  it only allows
CQSPI_INST_TYPE_SINGLE for f_pdata->addr_width and f_pdata->inst_width,
so finally it only supports 1-1-1, 1-1-2, 1-1-4?

I would like to hear some input from Cyrille on this one.

The CQSPI driver indeed does only 1-1-x read thus far.
I am not sure whether support for the other modes in the SPI NOR
subsystem landed already, which is why I'd like to hear from
Cyrille here.

[...]

+#ifdef CONFIG_PM
+int rockchip_sfc_runtime_suspend(struct device *dev)
+{
+    struct rockchip_sfc *sfc = dev_get_drvdata(dev);
+
+    clk_disable_unprepare(sfc->hclk);
+    return 0;
+}

Was the suspend ever really tested with this block ? Is disabling clock
really enough ?

It was tested and we could do more, for instance power off the genpd,
but disabling clcok should be enough.

What about putting the controller into some reset state , is that possible?

yup, there are two reset control for sfc for some Socs.
I will include them as optional properties to put the controller
into reset state.


+int rockchip_sfc_runtime_resume(struct device *dev)
+{
+    struct rockchip_sfc *sfc = dev_get_drvdata(dev);
+
+    clk_prepare_enable(sfc->hclk);
+    return 0;
+}
+#endif /* CONFIG_PM */

[...]







--
Best Regards
Shawn Lin

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux