ARM: dts: Fix gpmc regression for omap 2430sdp smc91x
authorTony Lindgren <tony@atomide.com>
Wed, 10 Dec 2014 16:21:56 +0000 (08:21 -0800)
committerTony Lindgren <tony@atomide.com>
Wed, 10 Dec 2014 16:26:25 +0000 (08:26 -0800)
Commit f4d809ec55b6 ("ARM: dts: Fix gpmc timings for omap 2430sdp")
added GPMC timings for 2430sdp. This however broke the Ethernet
for some versions of u-boot using a different L3 clock frequency:

set_gpmc_timing_reg: GPMC error! CS5: cs_rd_off: 233 ns, 39 ticks > 31
omap-gpmc 6e000000.gpmc: failed to set gpmc timings for: ethernet

This is because the smsc91x timings from 1.1.4 u-boot overflow the
GPMC registers when booted with 1.1.3 version of u-boot.

Let's fix this issue by using the better timings from u-boot 1.1.3
as they also work on 1.1.4 and are faster.

Note that so far the attempts over the years to calculate the GPMC
timings on the SDP boards have failed probably because of the
unknown latencies added by the FPGA on the debug boards.

Reported-by: Nishanth Menon <nm@ti.com>
Acked-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/boot/dts/omap2430-sdp.dts

index 05eca2e4430f1032b92caa0bd0651094e552a9f3..6b36ede58488fa4a57a2068b6d386e9f7d2ad0f3 100644 (file)
                gpmc,device-width = <1>;
                gpmc,cycle2cycle-samecsen = <1>;
                gpmc,cycle2cycle-diffcsen = <1>;
-               gpmc,cs-on-ns = <7>;
-               gpmc,cs-rd-off-ns = <233>;
-               gpmc,cs-wr-off-ns = <233>;
-               gpmc,adv-on-ns = <22>;
-               gpmc,adv-rd-off-ns = <60>;
-               gpmc,adv-wr-off-ns = <60>;
-               gpmc,oe-on-ns = <67>;
-               gpmc,oe-off-ns = <210>;
-               gpmc,we-on-ns = <67>;
-               gpmc,we-off-ns = <210>;
-               gpmc,rd-cycle-ns = <233>;
-               gpmc,wr-cycle-ns = <233>;
-               gpmc,access-ns = <233>;
-               gpmc,page-burst-access-ns = <30>;
-               gpmc,bus-turnaround-ns = <30>;
-               gpmc,cycle2cycle-delay-ns = <30>;
+               gpmc,cs-on-ns = <6>;
+               gpmc,cs-rd-off-ns = <187>;
+               gpmc,cs-wr-off-ns = <187>;
+               gpmc,adv-on-ns = <18>;
+               gpmc,adv-rd-off-ns = <48>;
+               gpmc,adv-wr-off-ns = <48>;
+               gpmc,oe-on-ns = <60>;
+               gpmc,oe-off-ns = <169>;
+               gpmc,we-on-ns = <66>;
+               gpmc,we-off-ns = <169>;
+               gpmc,rd-cycle-ns = <187>;
+               gpmc,wr-cycle-ns = <187>;
+               gpmc,access-ns = <187>;
+               gpmc,page-burst-access-ns = <24>;
+               gpmc,bus-turnaround-ns = <24>;
+               gpmc,cycle2cycle-delay-ns = <24>;
                gpmc,wait-monitoring-ns = <0>;
                gpmc,clk-activation-ns = <0>;
                gpmc,wr-data-mux-bus-ns = <0>;