Hi,
I need helps in adding i210 to imx6 sabrelite with boundary android l5 kernel (3.10.53).
I added the the I210 chip to the board, and it can be seen with 'lspci' as below
root@nitrogen6x:/ # busybox lspci -mk
00:00.0 "Class 0604" "16c3" "abcd" "0000" "0000" "pcieport"
01:00.0 "Class 0200" "8086" "1531" "8086" "0000"
or from yocto chroot (I added a yocto chroot into the android l5 release) as
root@10.211.190.154 ~# lspci -m
00:00.0 "PCI bridge" "Synopsys, Inc." "Device abcd" -r01 "" ""
01:00.0 "Ethernet controller" "Intel Corporation" "Device 1531" -r03 "Intel Corporation" "Device 0000"
I can also see it with 'cat /proc/bus/pci/devices'
root@10.211.190.154 ~# cat /proc/bus/pci/devices
0000 16c3abcd 180 1c00000 0 0 0 0 0 1d00000 100000 0 0 0 0 0 10000 pcieport
0100 80861531 9b 1000000 0 1001 1800000 0 0 0 800000 0 20 4000 0 0 0
dmesg also shows below:
imx6q-pcie 1ffc000.pcie: Link up, Gen=1
imx6q-pcie 1ffc000.pcie: PCI host bridge to bus 0000:00
pci_bus 0000:00: root bus resource [io 0x1000-0x10000]
pci_bus 0000:00: root bus resource [mem 0x01000000-0x01efffff]
pci_bus 0000:00: root bus resource [bus 00-ff]
pci 0000:00:00.0: [16c3:abcd] type 01 class 0x060400
pci 0000:00:00.0: reg 10: [mem 0x00000000-0x000fffff]
pci 0000:00:00.0: reg 38: [mem 0x00000000-0x0000ffff pref]
pci 0000:00:00.0: supports D1
pci 0000:00:00.0: PME# supported from D0 D1 D3hot D3cold
PCI: bus0: Fast back to back transfers disabled
pci 0000:01:00.0: [8086:1531] type 00 class 0x020000
pci 0000:01:00.0: reg 10: [mem 0x00000000-0x007fffff]
pci 0000:01:00.0: reg 18: [io 0x0000-0x001f]
pci 0000:01:00.0: reg 1c: [mem 0x00000000-0x00003fff]
pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
PCI: bus1: Fast back to back transfers disabled
pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
pci 0000:00:00.0: BAR 8: assigned [mem 0x01000000-0x01bfffff]
pci 0000:00:00.0: BAR 0: assigned [mem 0x01c00000-0x01cfffff]
pci 0000:00:00.0: BAR 6: assigned [mem 0x01d00000-0x01d0ffff pref]
pci 0000:00:00.0: BAR 7: assigned [io 0x1000-0x1fff]
pci 0000:01:00.0: BAR 0: assigned [mem 0x01000000-0x017fffff]
pci 0000:01:00.0: BAR 3: assigned [mem 0x01800000-0x01803fff]
pci 0000:01:00.0: BAR 2: assigned [io 0x1000-0x101f]
pci 0000:00:00.0: PCI bridge to [bus 01]
pci 0000:00:00.0: bridge window [io 0x1000-0x1fff]
pci 0000:00:00.0: bridge window [mem 0x01000000-0x01bfffff]
These information seems to me, the chip is detected and should be working, so I went on to download the mac address into the chip with the intel eepromARMtool. But the tools crashed with "Bus error" as below
root@10.211.190.154 ~/eepromARMTool# ./eepromARMtool
Intel(R) Eeprom ARM Tool ARM OTP Programming Tool
Provided under the terms of a CNDA. Do Not Distribute.
Copyright(C) 2013 by Intel(R) Corporation
NIC BUS DEV FUN Silicon Memory Type Present
=== === === === ===== ======================
Bus error
I looked thought information at I210 detection issues under embedded linux -- ... |Embedded Community
someone was saying, "We had to do modification on the Linux kernel driver to get ... to work", while the other was saying this is due to endian issue. I am wondering
1) anyone knows which Linux kernel driver they were talking about to modify? - since the lspci command above did not show any kernel driver loaded with the device.
2) how can endian cause this?
Thanks
Solved! Go to Solution.
Thanks everyone for helping.
The answer is simple, just run 'echo "1" >
/sys/bus/pci/devices/0000\:01\:00.0/enable' will fix the problem and the
intel eepromARMTool will work fine.
In my opinion, the eepromARMTool should do this within itself and should
not reply on external.
Cheers,
Damien
Hi all
I am the first time to porting Lan driver which is Intel WGI210IT (i210). I don't how to start and debug ?
Can anyone give me a hand ? I need to know how to start ?
thank you
Jeffrey
Hi Damien
one can try to add to imx_v7_defconfig : CONFIG_IGB=y
this will build igb driver :
linux/drivers/net/ethernet/intel/igb/e1000_i210.c
Also may be useful to check intel drivers:
https://downloadcenter.intel.com/download/13663/Intel-Network-Adapter-Driver-for-82575-6-82580-I350-...
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Igor,
adding of CONFIG_IGB did not fix the problem, the igb driver is still not loaded at runtime
please see below for 'lspci -k' output
root@nitrogen6x:/ # busybox lspci -k
00:00.0 Class 0604: 16c3:abcd pcieport
01:00.0 Class 0200: 8086:1531
do I need to add something into devicetree?
also, could you tell me what the below information from dmesg tells?
<7>pci 0000:01:00.0: [8086:1531] type 00 class 0x020000
<7>pci 0000:01:00.0: reg 10: [mem 0x00000000-0x007fffff]
<7>pci 0000:01:00.0: reg 18: [io 0x0000-0x001f]
<7>pci 0000:01:00.0: reg 1c: [mem 0x00000000-0x00003fff]
<7>pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
<7>pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
<6>pci 0000:01:00.0: BAR 0: assigned [mem 0x01000000-0x017fffff]
<6>pci 0000:01:00.0: BAR 3: assigned [mem 0x01800000-0x01803fff]
<6>pci 0000:01:00.0: BAR 2: assigned [io 0x1000-0x101f]
Cheers,
Damien
Hi Damien
probably i210 requires assitional programming before usage, one can try to ask on
I210 detection issues under embedded linux -- ... |Embedded Community
regarding something into devicetree I did not find such details, you can ask intel
about devicetree support for i210 drivers.
Best regards
igor
Still need helps, anyone had overcome this problem before?
Hi Damien,
Hope you have already seen these patches. But if you have not seen you can have a look.
[Intel-wired-lan] [next] igb: allow setting MAC address on i211 using a device tree blob V3
From the patch description it seems that they are using some blob file; don''t whether the same is required in your case.
Thanks,
Vinod Kumar
Thanks everyone for helping.
The answer is simple, just run 'echo "1" >
/sys/bus/pci/devices/0000\:01\:00.0/enable' will fix the problem and the
intel eepromARMTool will work fine.
In my opinion, the eepromARMTool should do this within itself and should
not reply on external.
Cheers,
Damien