Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b510051c authored by Aaro Koskinen's avatar Aaro Koskinen Committed by Greg Kroah-Hartman
Browse files

ARM: OMAP: dts: N950/N9: fix onenand timings



[ Upstream commit 8443e4843e1c2594bf5664e1d993a1be71d1befb ]

Commit a758f50f ("mtd: onenand: omap2: Configure driver from DT")
started using DT specified timings for GPMC, and as a result the
OneNAND stopped working on N950/N9 as we had wrong values in the DT.
Fix by updating the values to bootloader timings that have been tested
to be working on both Nokia N950 and N9.

Fixes: a758f50f ("mtd: onenand: omap2: Configure driver from DT")
Signed-off-by: default avatarAaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 2cc84e2e
Loading
Loading
Loading
Loading
+28 −14
Original line number Diff line number Diff line
@@ -370,6 +370,19 @@
		compatible = "ti,omap2-onenand";
		reg = <0 0 0x20000>;	/* CS0, offset 0, IO size 128K */

		/*
		 * These timings are based on CONFIG_OMAP_GPMC_DEBUG=y reported
		 * bootloader set values when booted with v4.19 using both N950
		 * and N9 devices (OneNAND Manufacturer: Samsung):
		 *
		 *   gpmc cs0 before gpmc_cs_program_settings:
		 *   cs0 GPMC_CS_CONFIG1: 0xfd001202
		 *   cs0 GPMC_CS_CONFIG2: 0x00181800
		 *   cs0 GPMC_CS_CONFIG3: 0x00030300
		 *   cs0 GPMC_CS_CONFIG4: 0x18001804
		 *   cs0 GPMC_CS_CONFIG5: 0x03171d1d
		 *   cs0 GPMC_CS_CONFIG6: 0x97080000
		 */
		gpmc,sync-read;
		gpmc,sync-write;
		gpmc,burst-length = <16>;
@@ -379,26 +392,27 @@
		gpmc,device-width = <2>;
		gpmc,mux-add-data = <2>;
		gpmc,cs-on-ns = <0>;
		gpmc,cs-rd-off-ns = <87>;
		gpmc,cs-wr-off-ns = <87>;
		gpmc,cs-rd-off-ns = <122>;
		gpmc,cs-wr-off-ns = <122>;
		gpmc,adv-on-ns = <0>;
		gpmc,adv-rd-off-ns = <10>;
		gpmc,adv-wr-off-ns = <10>;
		gpmc,oe-on-ns = <15>;
		gpmc,oe-off-ns = <87>;
		gpmc,adv-rd-off-ns = <15>;
		gpmc,adv-wr-off-ns = <15>;
		gpmc,oe-on-ns = <20>;
		gpmc,oe-off-ns = <122>;
		gpmc,we-on-ns = <0>;
		gpmc,we-off-ns = <87>;
		gpmc,rd-cycle-ns = <112>;
		gpmc,wr-cycle-ns = <112>;
		gpmc,access-ns = <81>;
		gpmc,we-off-ns = <122>;
		gpmc,rd-cycle-ns = <148>;
		gpmc,wr-cycle-ns = <148>;
		gpmc,access-ns = <117>;
		gpmc,page-burst-access-ns = <15>;
		gpmc,bus-turnaround-ns = <0>;
		gpmc,cycle2cycle-delay-ns = <0>;
		gpmc,wait-monitoring-ns = <0>;
		gpmc,clk-activation-ns = <5>;
		gpmc,wr-data-mux-bus-ns = <30>;
		gpmc,wr-access-ns = <81>;
		gpmc,sync-clk-ps = <15000>;
		gpmc,clk-activation-ns = <10>;
		gpmc,wr-data-mux-bus-ns = <40>;
		gpmc,wr-access-ns = <117>;

		gpmc,sync-clk-ps = <15000>; /* TBC; Where this value came? */

		/*
		 * MTD partition table corresponding to Nokia's MeeGo 1.2