AnsweredAssumed Answered

connect pci wifi intel Advenced-6205 to imx.6 with android

Question asked by Anton Ivanushkin on Mar 1, 2017
Latest reply on Mar 3, 2017 by igorpadykov

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?

Outcomes