]> git.baikalelectronics.ru Git - kernel.git/commit
mtd: rawnand: gpmi: fix controller timings setting
authorDario Binacchi <dario.binacchi@amarulasolutions.com>
Tue, 18 Jan 2022 09:54:32 +0000 (10:54 +0100)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Sun, 23 Jan 2022 15:38:35 +0000 (16:38 +0100)
commit607663bc3b1d1d822a213a6c29ffd944bb576060
treee9b4d98712a4cd1d78155e88a427abc08827753e
parent6abf21789129e5ab5956f9fc7b2280ebc2ed6319
mtd: rawnand: gpmi: fix controller timings setting

Set the controller registers according to the real clock rate. The
controller registers configuration (setup, hold, timeout, ... cycles)
depends on the clock rate of the GPMI. Using the real rate instead of
the ideal one, avoids that this inaccuracy (required_rate - real_rate)
affects the registers setting.

This patch has been tested on two custom boards with i.MX28 and i.MX6
SOCs:
- i.MX28:
  required rate 100MHz, real rate 99.3MHz
- i.MX6
  required rate 100MHz, real rate 99MHz

Fixes: 16c1b23db378 ("mtd: rawnand: gpmi: use core timings instead of an empirical derivation")
Co-developed-by: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Tested-by: Sascha Hauer <s.hauer@pengutronix.de>
Reviewed-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20220118095434.35081-3-dario.binacchi@amarulasolutions.com
drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c