All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ARM: OMAP: DTS: N900: fix onenand timings
@ 2020-03-08 19:19 Arthur Demchenkov
  2020-03-09  9:28 ` Merlijn Wajer
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Arthur Demchenkov @ 2020-03-08 19:19 UTC (permalink / raw)
  Cc: Arthur Demchenkov, Benoît Cousson, Tony Lindgren,
	Rob Herring, Mark Rutland, Peter Ujfalusi, Roger Quadros,
	Boris Brezillon, Ladislav Michl, linux-omap, devicetree,
	linux-kernel

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

Fixes: a758f50f10cf ("mtd: onenand: omap2: Configure driver from DT")
Signed-off-by: Arthur Demchenkov <spinal.by@gmail.com>
---
 arch/arm/boot/dts/omap3-n900.dts | 44 +++++++++++++++++++++++++---------------
 1 file changed, 28 insertions(+), 16 deletions(-)

diff --git a/arch/arm/boot/dts/omap3-n900.dts b/arch/arm/boot/dts/omap3-n900.dts
index c3c6d7d04a76..4089d97405c9 100644
--- a/arch/arm/boot/dts/omap3-n900.dts
+++ b/arch/arm/boot/dts/omap3-n900.dts
@@ -854,34 +854,46 @@
 		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 v5.1
+		 * (OneNAND Manufacturer: Samsung):
+		 *
+		 *   cs0 GPMC_CS_CONFIG1: 0xfb001202
+		 *   cs0 GPMC_CS_CONFIG2: 0x00111100
+		 *   cs0 GPMC_CS_CONFIG3: 0x00020200
+		 *   cs0 GPMC_CS_CONFIG4: 0x11001102
+		 *   cs0 GPMC_CS_CONFIG5: 0x03101616
+		 *   cs0 GPMC_CS_CONFIG6: 0x90060000
+		 */
 		gpmc,sync-read;
 		gpmc,sync-write;
 		gpmc,burst-length = <16>;
 		gpmc,burst-read;
 		gpmc,burst-wrap;
 		gpmc,burst-write;
-		gpmc,device-width = <2>; /* GPMC_DEVWIDTH_16BIT */
-		gpmc,mux-add-data = <2>; /* GPMC_MUX_AD */
+		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 = <102>;
+		gpmc,cs-wr-off-ns = <102>;
 		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 = <12>;
+		gpmc,adv-wr-off-ns = <12>;
+		gpmc,oe-on-ns = <12>;
+		gpmc,oe-off-ns = <102>;
 		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,page-burst-access-ns = <15>;
+		gpmc,we-off-ns = <102>;
+		gpmc,rd-cycle-ns = <132>;
+		gpmc,wr-cycle-ns = <132>;
+		gpmc,access-ns = <96>;
+		gpmc,page-burst-access-ns = <18>;
 		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,clk-activation-ns = <6>;
+		gpmc,wr-data-mux-bus-ns = <36>;
+		gpmc,wr-access-ns = <96>;
 		gpmc,sync-clk-ps = <15000>;
 
 		/*
-- 
2.11.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] ARM: OMAP: DTS: N900: fix onenand timings
  2020-03-08 19:19 [PATCH] ARM: OMAP: DTS: N900: fix onenand timings Arthur Demchenkov
@ 2020-03-09  9:28 ` Merlijn Wajer
  2020-03-09  9:43 ` Roger Quadros
  2020-03-09 16:59 ` Tony Lindgren
  2 siblings, 0 replies; 4+ messages in thread
From: Merlijn Wajer @ 2020-03-09  9:28 UTC (permalink / raw)
  To: Arthur Demchenkov
  Cc: Benoît Cousson, Tony Lindgren, Rob Herring, Mark Rutland,
	Peter Ujfalusi, Roger Quadros, Boris Brezillon, Ladislav Michl,
	linux-omap, devicetree, linux-kernel


[-- Attachment #1.1: Type: text/plain, Size: 696 bytes --]

Hi,

On 08/03/2020 20:19, Arthur Demchenkov wrote:
> Commit a758f50f10cf ("mtd: onenand: omap2: Configure driver from DT")
> started using DT specified timings for GPMC, and as a result the
> OneNAND stopped working on N900 as we had wrong values in the DT.
> Fix by updating the values to bootloader timings that have been tested
> to be working on Nokia N900 with OneNAND manufacturers: Samsung,
> Numonyx.
> 
> Fixes: a758f50f10cf ("mtd: onenand: omap2: Configure driver from DT")
> Signed-off-by: Arthur Demchenkov <spinal.by@gmail.com>

I've successfully tested this on my Nokia N900, so feel free to add:

Tested-by: Merlijn Wajer <merlijn@wizzup.org>

Cheers,
Merlijn


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] ARM: OMAP: DTS: N900: fix onenand timings
  2020-03-08 19:19 [PATCH] ARM: OMAP: DTS: N900: fix onenand timings Arthur Demchenkov
  2020-03-09  9:28 ` Merlijn Wajer
@ 2020-03-09  9:43 ` Roger Quadros
  2020-03-09 16:59 ` Tony Lindgren
  2 siblings, 0 replies; 4+ messages in thread
From: Roger Quadros @ 2020-03-09  9:43 UTC (permalink / raw)
  To: Arthur Demchenkov
  Cc: Benoît Cousson, Tony Lindgren, Rob Herring, Mark Rutland,
	Peter Ujfalusi, Boris Brezillon, Ladislav Michl, linux-omap,
	devicetree, linux-kernel



On 08/03/2020 21:19, Arthur Demchenkov wrote:
> Commit a758f50f10cf ("mtd: onenand: omap2: Configure driver from DT")
> started using DT specified timings for GPMC, and as a result the
> OneNAND stopped working on N900 as we had wrong values in the DT.
> Fix by updating the values to bootloader timings that have been tested
> to be working on Nokia N900 with OneNAND manufacturers: Samsung,
> Numonyx.
> 
> Fixes: a758f50f10cf ("mtd: onenand: omap2: Configure driver from DT")
> Signed-off-by: Arthur Demchenkov <spinal.by@gmail.com>

Reviewed-by: Roger Quadros <rogerq@ti.com>

> ---
>   arch/arm/boot/dts/omap3-n900.dts | 44 +++++++++++++++++++++++++---------------
>   1 file changed, 28 insertions(+), 16 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/omap3-n900.dts b/arch/arm/boot/dts/omap3-n900.dts
> index c3c6d7d04a76..4089d97405c9 100644
> --- a/arch/arm/boot/dts/omap3-n900.dts
> +++ b/arch/arm/boot/dts/omap3-n900.dts
> @@ -854,34 +854,46 @@
>   		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 v5.1
> +		 * (OneNAND Manufacturer: Samsung):
> +		 *
> +		 *   cs0 GPMC_CS_CONFIG1: 0xfb001202
> +		 *   cs0 GPMC_CS_CONFIG2: 0x00111100
> +		 *   cs0 GPMC_CS_CONFIG3: 0x00020200
> +		 *   cs0 GPMC_CS_CONFIG4: 0x11001102
> +		 *   cs0 GPMC_CS_CONFIG5: 0x03101616
> +		 *   cs0 GPMC_CS_CONFIG6: 0x90060000
> +		 */
>   		gpmc,sync-read;
>   		gpmc,sync-write;
>   		gpmc,burst-length = <16>;
>   		gpmc,burst-read;
>   		gpmc,burst-wrap;
>   		gpmc,burst-write;
> -		gpmc,device-width = <2>; /* GPMC_DEVWIDTH_16BIT */
> -		gpmc,mux-add-data = <2>; /* GPMC_MUX_AD */
> +		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 = <102>;
> +		gpmc,cs-wr-off-ns = <102>;
>   		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 = <12>;
> +		gpmc,adv-wr-off-ns = <12>;
> +		gpmc,oe-on-ns = <12>;
> +		gpmc,oe-off-ns = <102>;
>   		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,page-burst-access-ns = <15>;
> +		gpmc,we-off-ns = <102>;
> +		gpmc,rd-cycle-ns = <132>;
> +		gpmc,wr-cycle-ns = <132>;
> +		gpmc,access-ns = <96>;
> +		gpmc,page-burst-access-ns = <18>;
>   		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,clk-activation-ns = <6>;
> +		gpmc,wr-data-mux-bus-ns = <36>;
> +		gpmc,wr-access-ns = <96>;
>   		gpmc,sync-clk-ps = <15000>;
>   
>   		/*
> 

-- 
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] ARM: OMAP: DTS: N900: fix onenand timings
  2020-03-08 19:19 [PATCH] ARM: OMAP: DTS: N900: fix onenand timings Arthur Demchenkov
  2020-03-09  9:28 ` Merlijn Wajer
  2020-03-09  9:43 ` Roger Quadros
@ 2020-03-09 16:59 ` Tony Lindgren
  2 siblings, 0 replies; 4+ messages in thread
From: Tony Lindgren @ 2020-03-09 16:59 UTC (permalink / raw)
  To: Arthur Demchenkov
  Cc: Benoît Cousson, Rob Herring, Mark Rutland, Peter Ujfalusi,
	Roger Quadros, Boris Brezillon, Ladislav Michl, linux-omap,
	devicetree, linux-kernel

* Arthur Demchenkov <spinal.by@gmail.com> [200308 12:21]:
> Commit a758f50f10cf ("mtd: onenand: omap2: Configure driver from DT")
> started using DT specified timings for GPMC, and as a result the
> OneNAND stopped working on N900 as we had wrong values in the DT.
> Fix by updating the values to bootloader timings that have been tested
> to be working on Nokia N900 with OneNAND manufacturers: Samsung,
> Numonyx.
> 
> Fixes: a758f50f10cf ("mtd: onenand: omap2: Configure driver from DT")

Applying into fixes thanks.

Tony

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-03-09 16:59 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-08 19:19 [PATCH] ARM: OMAP: DTS: N900: fix onenand timings Arthur Demchenkov
2020-03-09  9:28 ` Merlijn Wajer
2020-03-09  9:43 ` Roger Quadros
2020-03-09 16:59 ` Tony Lindgren

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.