]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
mtd: rawnand: davinci: Add clock resource
authorBastien Curutchet <bastien.curutchet@bootlin.com>
Wed, 4 Dec 2024 09:43:18 +0000 (10:43 +0100)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Tue, 24 Dec 2024 14:48:00 +0000 (15:48 +0100)
NAND controller has a reference clock inherited from the AEMIF
(cf. Documentation/devicetree/bindings/memory-controllers/ti-aemif.txt)
This clock isn't used yet by the driver.

Add a struct clock in the struct davinci_nand_info so it can be used
to compute timings.

Signed-off-by: Bastien Curutchet <bastien.curutchet@bootlin.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
drivers/mtd/nand/raw/davinci_nand.c

index d1dfc0788e7492a681e95706c24694b0887ea29d..2a3957c15423a7c9dadd45e7a1078b3bd96eb4d6 100644 (file)
@@ -10,6 +10,7 @@
  *   Dirk Behme <Dirk.Behme@gmail.com>
  */
 
+#include <linux/clk.h>
 #include <linux/err.h>
 #include <linux/iopoll.h>
 #include <linux/kernel.h>
@@ -118,6 +119,8 @@ struct davinci_nand_info {
        uint32_t                mask_cle;
 
        uint32_t                core_chipsel;
+
+       struct clk              *clk;
 };
 
 static DEFINE_SPINLOCK(davinci_nand_lock);
@@ -826,6 +829,10 @@ static int nand_davinci_probe(struct platform_device *pdev)
                return -EADDRNOTAVAIL;
        }
 
+       info->clk = devm_clk_get_enabled(&pdev->dev, "aemif");
+       if (IS_ERR(info->clk))
+               return dev_err_probe(&pdev->dev, PTR_ERR(info->clk), "failed to get clock");
+
        info->pdev              = pdev;
        info->base              = base;
        info->vaddr             = vaddr;