Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: omap: Add common file for SMSC9221

Some devices (SMSC9217, SMSC9218 and SMSC9221 at least) have better
timings, allowing a higher transfer speed. Create a common file
with these timings.

Performance results with iperf:

- omap-gpmc-smsc911x.dtsi => 54.9 Mbps
- omap-gpmc-smsc9221.dtsi => 92.7 Mbps

Signed-off-by: Florian Vaussard <florian.vaussard@epfl.ch>
Signed-off-by: Tony Lindgren <tony@atomide.com>

authored by

Florian Vaussard and committed by
Tony Lindgren
aac9aa37 dd4051bd

+58
+58
arch/arm/boot/dts/omap-gpmc-smsc9221.dtsi
··· 1 + /* 2 + * Common file for GPMC connected smsc9221 on omaps 3 + * 4 + * Compared to smsc911x, smsc9221 (and others like smsc9217 5 + * or smsc 9218) has faster timings, leading to higher 6 + * bandwidth. 7 + * 8 + * Note that the board specifc DTS file needs to specify 9 + * ranges, pinctrl, reg, interrupt parent and interrupts. 10 + */ 11 + 12 + / { 13 + vddvario: regulator-vddvario { 14 + compatible = "regulator-fixed"; 15 + regulator-name = "vddvario"; 16 + regulator-always-on; 17 + }; 18 + 19 + vdd33a: regulator-vdd33a { 20 + compatible = "regulator-fixed"; 21 + regulator-name = "vdd33a"; 22 + regulator-always-on; 23 + }; 24 + }; 25 + 26 + &gpmc { 27 + ethernet@gpmc { 28 + compatible = "smsc,lan9221","smsc,lan9115"; 29 + bank-width = <2>; 30 + 31 + gpmc,mux-add-data; 32 + gpmc,cs-on-ns = <0>; 33 + gpmc,cs-rd-off-ns = <42>; 34 + gpmc,cs-wr-off-ns = <36>; 35 + gpmc,adv-on-ns = <6>; 36 + gpmc,adv-rd-off-ns = <12>; 37 + gpmc,adv-wr-off-ns = <12>; 38 + gpmc,oe-on-ns = <0>; 39 + gpmc,oe-off-ns = <42>; 40 + gpmc,we-on-ns = <0>; 41 + gpmc,we-off-ns = <36>; 42 + gpmc,rd-cycle-ns = <60>; 43 + gpmc,wr-cycle-ns = <54>; 44 + gpmc,access-ns = <36>; 45 + gpmc,page-burst-access-ns = <0>; 46 + gpmc,bus-turnaround-ns = <0>; 47 + gpmc,cycle2cycle-delay-ns = <0>; 48 + gpmc,wr-data-mux-bus-ns = <18>; 49 + gpmc,wr-access-ns = <42>; 50 + gpmc,cycle2cycle-samecsen; 51 + gpmc,cycle2cycle-diffcsen; 52 + 53 + vddvario-supply = <&vddvario>; 54 + vdd33a-supply = <&vdd33a>; 55 + reg-io-width = <4>; 56 + smsc,save-mac-address; 57 + }; 58 + };