On Tuesday 06 January 2015 00:02:29 Tony Lindgren wrote:
> Revert "ARM: dts: Disable smc91x on n900 until bootloader
> dependency is removed". We've now fixed the issues that
> caused problems with uninitialized hardware depending on
> the bootloader version. Mostly things got fixed with
> the following commits:
> 
> 9a894953a97b ("ARM: dts: Fix bootloader version dependencies
> by muxing n900 smc91x pins") 7d2911c43815 ("net: smc91x: Fix
> gpios for device tree based booting")
> 
> Note that this only affects the early development boards
> with Ethernet that we still have in a few automated boot
> test systems.
> 
> Signed-off-by: Tony Lindgren <t...@atomide.com>
> 
> --- a/arch/arm/boot/dts/omap3-n900.dts
> +++ b/arch/arm/boot/dts/omap3-n900.dts
> @@ -702,9 +702,6 @@
> 
>       ethernet@gpmc {
>               compatible = "smsc,lan91c94";
> -
> -             status = "disabled";
> -
>               interrupt-parent = <&gpio2>;
>               interrupts = <22 IRQ_TYPE_LEVEL_HIGH>;  /* gpio54 */
>               reg = <1 0x300 0xf>;            /* 16 byte IO range at offset 
> 0x300
> */

Hello Tony,

to make smc ethernet working in n900 qemu I needed to apply this patch:

diff --git a/arch/arm/boot/dts/omap3-n900.dts b/arch/arm/boot/dts/omap3-n900.dts
index ff36fbe..d96eeb8 100644
--- a/arch/arm/boot/dts/omap3-n900.dts
+++ b/arch/arm/boot/dts/omap3-n900.dts
@@ -770,7 +770,8 @@
                compatible = "smsc,lan91c94";
                interrupt-parent = <&gpio2>;
                interrupts = <22 IRQ_TYPE_LEVEL_HIGH>;  /* gpio54 */
-               reg = <1 0x300 0xf>;            /* 16 byte IO range at offset 
0x300 */
+//             reg = <1 0x300 0xf>;            /* 16 byte IO range at offset 
0x300 */
+               reg = <1 0x0 0xf>;              /* 16 byte IO range at offset 
0x300 */
                bank-width = <2>;
                pinctrl-names = "default";
                pinctrl-0 = <&ethernet_pins>;

With this patch I see in dmesg:

[   20.577911] smc91x 2000000.ethernet (unnamed net_device) (uninitialized): 
smc91x: smc_probe
[   20.580535] smc91x 2000000.ethernet (unnamed net_device) (uninitialized): 
smc91x: bank signature probe 
returned 0x3300
[   20.585327] smc91x 2000000.ethernet (unnamed net_device) (uninitialized): 
smc91x: revision = 0x3391
[   20.590087] smc91x.c: v1.1, sep 22 2004 by Nicolas Pitre <n...@fluxnic.net>
[   20.593627] smc91x 2000000.ethernet (unnamed net_device) (uninitialized): 
smc_reset
[   20.596832] smc91x 2000000.ethernet (unnamed net_device) (uninitialized): 
smc_phy_detect
[   20.611938] smc91x 2000000.ethernet (unnamed net_device) (uninitialized): 
smc91x: smc_shutdown
[   20.615875] smc91x 2000000.ethernet eth0: SMC91C11xFD (rev 1) at d08be000 
IRQ 166
[   20.618682] 
[   20.621124] smc91x 2000000.ethernet eth0: Ethernet addr: 52:54:00:12:34:56
[   20.624938] smc91x 2000000.ethernet eth0: No PHY found

(and eth0 exists in ifconfig)

If I do not apply my patch I got this error message:

[   22.134704] smc91x 2000300.ethernet (unnamed net_device) (uninitialized): 
smc91x: bank signature probe 
returned 0x0000
[   22.140014] smc91x: not found (-19).

and no ethernet device was registered.

With 2.6.28 kernel with N900 patches (but smc91x is unmodified!) ethernet 
device is working fine.

-- 
Pali Rohár
pali.ro...@gmail.com

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to