Hello.
I've got some board based on imx.6 dual (I-wave iwg15s_pico_itx) and I need to connect wifi module Intel Andvenced N-6205 over pcie. BSP is android 5.0, kernel 3.10.
the Device tree structure described with several files .dts and .dtsi. at one of this files PCI-bus have following configuration:
pcie: pcie@0x01000000 {
compatible = "fsl,imx6q-pcie", "snps,dw-pcie";
reg = <0x01ffc000 0x4000>; /* DBI */
#address-cells = <3>;
#size-cells = <2>;
device_type = "pci";
ranges = <0x00000800 0 0x01f00000 0x01f00000 0 0x00080000 /* configuration space */
0x81000000 0 0 0x01f80000 0 0x00010000 /* downstream I/O */
0x82000000 0 0x01000000 0x01000000 0 0x00f00000>; /* non-prefetchable memory */
num-lanes = <1>;
interrupts = <0 123 0x04>;
clocks = <&clks 189>, <&clks 187>, <&clks 144>, <&clks 212>;
clock-names = "pcie_ref_125m", "sata_ref_100m", "pcie_axi", "lvds_gate";
status = "disabled";
};
in another file PCI is switched on :
&pcie {
wake-up-gpio = <&gpio2 6 0>;
reset-gpio = <&gpio2 7 0>;
status = "okay";
};
When I plug wifi-module and boot my android I can see that pci controller had detected some device:
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: bus0: Fast back to back transfers disabled
PCI: bus1: Fast back to back transfers disabled
pci 0000:00:00.0: BAR 0: assigned [mem 0x01000000-0x010fffff]
pci 0000:00:00.0: BAR 8: assigned [mem 0x01100000-0x011fffff]
pci 0000:00:00.0: BAR 6: assigned [mem 0x01200000-0x0120ffff pref]
pci 0000:01:00.0: BAR 0: assigned [mem 0x01100000-0x01101fff 64bit]
pci 0000:00:00.0: PCI bridge to [bus 01]
pci 0000:00:00.0: bridge window [mem 0x01100000-0x011fffff]
root@iWave_G15S_PICO:/ # busybox lspci
00:00.0 Class 0604: 16c3:abcd
01:00.0 Class 0280: 8086:0082
root@iWave_G15S_PICO:/ # dmesg | busybox grep pci
<6>imx6q-pcie 1ffc000.pcie: PCI host bridge to bus 0000:00
<6>pci_bus 0000:00: root bus resource [io 0x1000-0x10000]
<6>pci_bus 0000:00: root bus resource [mem 0x01000000-0x01efffff]
<7>pci 0000:00:00.0: [16c3:abcd] type 01 class 0x060400
<7>pci 0000:00:00.0: reg 10: [mem 0x00000000-0x000fffff]
<7>pci 0000:00:00.0: reg 38: [mem 0x00000000-0x0000ffff pref]
<7>pci 0000:00:00.0: supports D1
<7>pci 0000:00:00.0: PME# supported from D0 D1 D3hot D3cold
<7>pci_bus 0000:01: busn_res: can not insert [bus 01-ff] under [??? 0x00000000 flags 0x0] (conflicts with (null) [??? 0x00000000 flags 0x0])
<7>pci 0000:01:00.0: [8086:0082] type 00 class 0x028000
<7>pci 0000:01:00.0: reg 10: [mem 0x00000000-0x00001fff 64bit]
<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
<7>pci_bus 0000:01: busn_res: can not insert [bus 01] under [??? 0x00000000 flags 0x0] (conflicts with (null) [??? 0x00000000 flags 0x0])
<6>pci 0000:00:00.0: BAR 0: assigned [mem 0x01000000-0x010fffff]
<6>pci 0000:00:00.0: BAR 8: assigned [mem 0x01100000-0x011fffff]
<6>pci 0000:00:00.0: BAR 6: assigned [mem 0x01200000-0x0120ffff pref]
<6>pci 0000:01:00.0: BAR 0: assigned [mem 0x01100000-0x01101fff 64bit]
<6>pci 0000:00:00.0: PCI bridge to [bus 01]
<6>pci 0000:00:00.0: bridge window [mem 0x01100000-0x011fffff]
<7>pci_bus 0000:00: resource 4 [io 0x1000-0x10000]
<7>pci_bus 0000:00: resource 5 [mem 0x01000000-0x01efffff]
<7>pci_bus 0000:01: resource 1 [mem 0x01100000-0x011fffff]
<6>pcieport 0000:00:00.0: Signaling PME through PCIe PME interrupt
<6>pci 0000:01:00.0: Signaling PME through PCIe PME interrupt
<7>pcie_pme 0000:00:00.0:pcie01: service driver pcie_pme loaded
<6>ehci-pci: EHCI PCI platform driver
Also I've configured the kernel to add iwlwifi module as module ([M], it have no option [*])
But the kernel module iwlwifi not loaded.
I've uploaded iwlwifi.ko to root fs adn tried to instmod, and had this:
root@iWave_G15S_PICO:/ # busybox insmod /system/lib/modules/iwlwifi.ko
iwlwifi: Unknown symbol ieee80211_channel_to_frequency (err 0)
iwlwifi: Unknown symbol ieee80211_hdrlen (err 0)
Also wifi in Android OS don't terns up, ofcourse.
As I know there is a "compatible" property, that links driver and DTB...
What I need to do to make my wifi work with this all?