[Armadillo:08140] Re: Armadillo-460 LANポート増設
佐藤
email@hidden
2012年 7月 18日 (水) 14:33:54 JST
佐藤です。
1ポート毎は動作するようになりました。
2ポート同時に使用したいのですが、
どのようにすれば良いでしょうか?
arch/arm/mach-mx25/armadillo460.c を下記のように
変更しました。
結果は、
・起動時に認識されている。
smsc911x: Driver version 2008-10-21.
smsc911x-mdio: probed
eth1: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:01, irq=-1)
net eth1: MAC Address: 0a:79:c5:b6:60:fa
smsc911x: Driver version 2008-10-21.
smsc911x-mdio: probed
eth2: attached PHY driver [Generic PHY] (mii_bus:phy_addr=1:01, irq=-1)
net eth2: MAC Address: 62:11:ed:2c:73:04
・eth1、eth2 どちらか一方を ifup した場合は、動作OK。
・eth1、eth2 の両方を ifup すると、先に ifup した方のポートのみ動作。
eth1、eth2 の順で ifup すると、eth1 のポートのみ有効で
eth2 も eth1 のリソースを使用している感じです。
----- armadillo460.c -------------------------
#include <linux/platform_device.h>
#include <linux/smsc911x.h>
static struct resource ext_smsc9118_resources[] = {
[0] = {
.start = CS3_BASE_ADDR,
.end = CS3_BASE_ADDR + 0xff,
.flags = IORESOURCE_MEM,
},
[1] = {
.start = MXC_EXT_INT_BASE + 3,
.end = MXC_EXT_INT_BASE + 3,
.flags = IORESOURCE_IRQ,
},
};
static struct smsc911x_platform_config smsc9118_config = {
.irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
.irq_type = SMSC911X_IRQ_TYPE_PUSH_PULL,
.flags = SMSC911X_USE_16BIT,
};
static struct platform_device ext_smsc9118_device = {
.name = "smsc911x",
.id = 0,
.dev = {
.platform_data = &smsc9118_config,
},
.num_resources = ARRAY_SIZE(ext_smsc9118_resources),
.resource = ext_smsc9118_resources,
};
static struct resource ext_smsc9118_resources2[] = {
[0] = {
.start = CS3_BASE_ADDR + 0x100,
.end = CS3_BASE_ADDR + 0x1ff,
.flags = IORESOURCE_MEM,
},
[1] = {
.start = MXC_EXT_INT_BASE + 4,
.end = MXC_EXT_INT_BASE + 4,
.flags = IORESOURCE_IRQ,
},
};
static struct smsc911x_platform_config smsc9118_config2 = {
.irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
.irq_type = SMSC911X_IRQ_TYPE_PUSH_PULL,
.flags = SMSC911X_USE_16BIT,
};
static struct platform_device ext_smsc9118_device2 = {
.name = "smsc911x",
.id = 1,
.dev = {
.platform_data = &smsc9118_config2,
},
.num_resources = ARRAY_SIZE(ext_smsc9118_resources2),
.resource = ext_smsc9118_resources2,
};
static int __init armadillo460_with_smsc9118_init(void)
{
platform_device_register(&ext_smsc9118_device);
platform_device_register(&ext_smsc9118_device2);
return 0;
}
arch_initcall(armadillo460_with_smsc9118_init);
----- armadillo460.c -------------------------
以上、よろしくお願いします。
On Tue, 17 Jul 2012 20:19:33 +0900
佐藤 <email@hidden> wrote:
> お世話になっております。佐藤と申します。
>
> Armadillo-460にLANポートを2ポート増設することは可能でしょうか?
>
> Howto http://armadillo.atmark-techno.com/howto/a460-lan9118 を参考に、
> 1ポート増設することはできました。
>
> 以上、よろしくお願いします。
>
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
armadillo メーリングリストの案内