OSDN Git Service

ARM: dts: Use better omap GPMC timings for LAN9220
authorTony Lindgren <tony@atomide.com>
Tue, 4 Nov 2014 00:48:16 +0000 (16:48 -0800)
committerTony Lindgren <tony@atomide.com>
Tue, 4 Nov 2014 00:48:16 +0000 (16:48 -0800)
With the GPMC warnings now enabled, I noticed the LAN9220 timings
can overflow the GPMC registers with 200MHz L3 speed. Earlier we
were just skipping the bad timings and would continue with the
bootloader timings. Now we no longer allow to continue with bad
timings as we have the timings in the .dts files.

We could start using the GPMC clock divider, but let's instead
use the u-boot timings that are known to be working and a bit
faster. These are basically the u-boot NET_GPMC_CONFIG[1-6]
defines deciphered. Except that we don't set gpmc,burst-length
as that's only partially configured and does not seem to work
if fully enabled.

[tony@atomide.com: updated to remove gpmc,burst-length]
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/boot/dts/omap-gpmc-smsc911x.dtsi
arch/arm/boot/dts/omap3-sb-t35.dtsi

index 521c587..445fafc 100644 (file)
        ethernet@gpmc {
                compatible = "smsc,lan9221", "smsc,lan9115";
                bank-width = <2>;
-               gpmc,mux-add-data;
-               gpmc,cs-on-ns = <1>;
-               gpmc,cs-rd-off-ns = <180>;
-               gpmc,cs-wr-off-ns = <180>;
-               gpmc,adv-rd-off-ns = <18>;
-               gpmc,adv-wr-off-ns = <48>;
-               gpmc,oe-on-ns = <54>;
-               gpmc,oe-off-ns = <168>;
-               gpmc,we-on-ns = <54>;
-               gpmc,we-off-ns = <168>;
-               gpmc,rd-cycle-ns = <186>;
-               gpmc,wr-cycle-ns = <186>;
-               gpmc,access-ns = <144>;
-               gpmc,page-burst-access-ns = <24>;
-               gpmc,bus-turnaround-ns = <90>;
-               gpmc,cycle2cycle-delay-ns = <90>;
-               gpmc,cycle2cycle-samecsen;
-               gpmc,cycle2cycle-diffcsen;
+               gpmc,device-width = <1>;
+               gpmc,cycle2cycle-samecsen = <1>;
+               gpmc,cycle2cycle-diffcsen = <1>;
+               gpmc,cs-on-ns = <5>;
+               gpmc,cs-rd-off-ns = <150>;
+               gpmc,cs-wr-off-ns = <150>;
+               gpmc,adv-on-ns = <0>;
+               gpmc,adv-rd-off-ns = <15>;
+               gpmc,adv-wr-off-ns = <40>;
+               gpmc,oe-on-ns = <45>;
+               gpmc,oe-off-ns = <140>;
+               gpmc,we-on-ns = <45>;
+               gpmc,we-off-ns = <140>;
+               gpmc,rd-cycle-ns = <155>;
+               gpmc,wr-cycle-ns = <155>;
+               gpmc,access-ns = <120>;
+               gpmc,page-burst-access-ns = <20>;
+               gpmc,bus-turnaround-ns = <75>;
+               gpmc,cycle2cycle-delay-ns = <75>;
+               gpmc,wait-monitoring-ns = <0>;
+               gpmc,clk-activation-ns = <0>;
+               gpmc,wr-data-mux-bus-ns = <0>;
+               gpmc,wr-access-ns = <0>;
                vddvario-supply = <&vddvario>;
                vdd33a-supply = <&vdd33a>;
                reg-io-width = <4>;
index d59e3de..28e16a6 100644 (file)
                interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
                reg = <4 0 0xff>;
                bank-width = <2>;
-               gpmc,mux-add-data;
-               gpmc,cs-on-ns = <1>;
-               gpmc,cs-rd-off-ns = <180>;
-               gpmc,cs-wr-off-ns = <180>;
-               gpmc,adv-rd-off-ns = <18>;
-               gpmc,adv-wr-off-ns = <48>;
-               gpmc,oe-on-ns = <54>;
-               gpmc,oe-off-ns = <168>;
-               gpmc,we-on-ns = <54>;
-               gpmc,we-off-ns = <168>;
-               gpmc,rd-cycle-ns = <186>;
-               gpmc,wr-cycle-ns = <186>;
-               gpmc,access-ns = <144>;
-               gpmc,page-burst-access-ns = <24>;
-               gpmc,bus-turnaround-ns = <90>;
-               gpmc,cycle2cycle-delay-ns = <90>;
-               gpmc,cycle2cycle-samecsen;
-               gpmc,cycle2cycle-diffcsen;
+               gpmc,device-width = <1>;
+               gpmc,cycle2cycle-samecsen = <1>;
+               gpmc,cycle2cycle-diffcsen = <1>;
+               gpmc,cs-on-ns = <5>;
+               gpmc,cs-rd-off-ns = <150>;
+               gpmc,cs-wr-off-ns = <150>;
+               gpmc,adv-on-ns = <0>;
+               gpmc,adv-rd-off-ns = <15>;
+               gpmc,adv-wr-off-ns = <40>;
+               gpmc,oe-on-ns = <45>;
+               gpmc,oe-off-ns = <140>;
+               gpmc,we-on-ns = <45>;
+               gpmc,we-off-ns = <140>;
+               gpmc,rd-cycle-ns = <155>;
+               gpmc,wr-cycle-ns = <155>;
+               gpmc,access-ns = <120>;
+               gpmc,page-burst-access-ns = <20>;
+               gpmc,bus-turnaround-ns = <75>;
+               gpmc,cycle2cycle-delay-ns = <75>;
+               gpmc,wait-monitoring-ns = <0>;
+               gpmc,clk-activation-ns = <0>;
+               gpmc,wr-data-mux-bus-ns = <0>;
+               gpmc,wr-access-ns = <0>;
                vddvario-supply = <&vddvario>;
                vdd33a-supply = <&vdd33a>;
                reg-io-width = <4>;