This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

How to use TIWI5 on embedded linux based on DM8168?

Other Parts Discussed in Thread: TMS320DM8168, WL1283, WL1271, WL1281, AM5728

Hi,

anyone to help!

I have put an embedded linux OS to my board which is based on the core processer called TMS320DM8168. The core processer and TIWI5 modules are both bought from TI, but I do not know how use the TIWI5 on my board. Can anyone experienced tell me?

I know that I need to get the drivers for bluetooth and wlan, but do not know how to get and how to use. Anyone knows?

Thank you indeed.

  • I think, you can get the linux driver for WL12xx (TIWI5-WL1273) from the below link.
    linuxwireless.sipsolutions.net/.../

    Also please check with wireless TI's e2e forum.
    e2e.ti.com/.../
  • hi,
    Sorry to disturbe you again. I am a newbie for this wifi chipset as TIWI5 and wl1273. Can you explain me more about how to make the TIWI5 work on my linux embedded board?
  • You may need to add the WL1273 linux drivers into DM8168 kernel if that support is not avaiable.
    processors.wiki.ti.com/.../WL127x_Software_Releases

    To know more, please do check with wireless folks in wireless e2e forum.
  • hi,

    Titusrathinaraj Stalin said:
    You may need to add the WL1273 linux drivers into DM8168 kernel if that support is not avaiable.
    processors.wiki.ti.com/.../WL127x_Software_Releases

    I can only see AM335X  AM37X AM18X in the page you suggest. So what should I use for my DM8168 EVM?

    And then I find another valuable page site as below, is it useful?

    processors.wiki.ti.com/.../WL12xx_NLCP_Build_Instructions

  • Hi Fire Lord,

    The WL1273-TIWI5 is enabled and tested for AM335x device, thus SW support is available in the AM335x SDK.

    See for example the below files/folders:

    ti-sdk-am335x-evm-06.00.00.00/board-support/linux-3.2.0-psp04.06.00.11/drivers/net/wireless/wl12xx/Kconfig

    "TI wl12xx driver support" - This will enable TI wl12xx driver support for the following chips:
    wl1271, wl1273, wl1281 and wl1283.

    "TI wl12xx support" - This module adds support for wireless adapters based on TI wl1271 and TI wl1273 chipsets.

    ti-sdk-am335x-evm-06.00.00.00/board-support/linux-3.2.0-psp04.06.00.11/drivers/net/wireless/wl12xx/

    So I will suggest to port the WL1273 driver from AM335x SDK to DM816x SDK.

    Regards,
    Pavel

  • Hi,
    I just want to confirm that are the Wl1273L drivers included in the file of "ezsdk_dm816x-evm_5_05_02_00_setuplinux"?
  • Seems like WL1271 and WL1273 share one common driver in DM816x EZSDK:

    drivers/net/wireless/wl12xx/wl1271_main.c

    You can try use that one. The difference between WL1273 and WL1271 is:

    - 5GHz band is supported by WL1273

    - WL1271 supports only 2.4GHz band

    If drivers/net/wireless/wl12xx/wl1271_main.c driver doesn't work for you, you should use AM335x SDK6 driver drivers/net/wireless/wl12xx/main.c

    The WL1273-TIWI5 is test and has support by default in the AM335x SDK (Linux and Android). You might re-use the approach from the AM335x SDK6:

    board-support/extra-drivers/ti-compat-wireless-wl12xx-r5.sp4.01/drivers/net/wireless/wl12xx/Kconfig
    board-support/extra-drivers/ti-compat-wireless-wl12xx-r5.sp4.01/drivers/net/wireless/wl12xx/main.c

    board-support/extra-drivers/ti-compat-bluetooth-r5.sp3.05/drivers/net/wireless/wl12xx/Kconfig
    board-support/extra-drivers/ti-compat-bluetooth-r5.sp3.05/drivers/net/wireless/wl12xx/main.c

    board-support/linux-3.2.0-psp04.06.00.11/drivers/net/wireless/wl12xx/Kconfig
    board-support/linux-3.2.0-psp04.06.00.11/drivers/net/wireless/wl12xx/main.c

    On latest AM335x PSDK 3.2, the files are:

    drivers/net/wireless/ti/wl12xx/Kconfig
    drivers/net/wireless/ti/wlcore/sdio.c
    drivers/net/wireless/ti/wlcore/main.c
    Documentation/devicetree/bindings/net/wireless/ti,wlcore.txt

    Regards,
    Pavel
  • Thank you for the answer.
    Sorry to disturbe you again. I just want to ask how to use the 1273? I have checked the file drivers/net/wireless/wl12xx/wl1271_main.c in my DM8168 ezsdk. So when I boot the system, how could know the 1273 is on and how could I use it to connect to other wifi?
  • Fire Lord said:
    I just want to ask how to use the 1273? I have checked the file drivers/net/wireless/wl12xx/wl1271_main.c in my DM8168 ezsdk. So when I boot the system, how could know the 1273 is on and how could I use it to connect to other wifi?

    You should add wl1273 in the DM8168 board file. For example see how wl1251 and wl127x are added in

    linux-2.6.37-psp04.04.00.01/arch/arm/mach-omap2/board-omap3pandora.c

    linux-3.2.0-psp04.06.00.11/arch/arm/mach-omap2/board-omap4panda.c

    linux-3.2.0-psp04.06.00.11/arch/arm/mach-omap2/board-am335xevm.c

    linux-3.2.0-psp04.06.00.11/arch/arm/configs/tisdk_am335x-evm_defconfig

    See also the below link:

    - Linux Driver

    Regards,
    Pavel

  • Pavel Botev said:

    You should add wl1273 in the DM8168 board file. For example see how wl1251 and wl127x are added in 


    linux-2.6.37-psp04.04.00.01/arch/arm/mach-omap2/board-omap3pandora.c

    linux-3.2.0-psp04.06.00.11/arch/arm/mach-omap2/board-omap4panda.c

    linux-3.2.0-psp04.06.00.11/arch/arm/mach-omap2/board-am335xevm.c

    linux-3.2.0-psp04.06.00.11/arch/arm/configs/tisdk_am335x-evm_defconfig

    Hi,

    Some questions again.

    I checked the files you listed. But question comes. Firstly, I only saw wl1251 but no 127x in the file board-omap3pandora.c. Of course, I can add WL1273L based on 1251. And secondly, I could not find any "wl12" words in the files of board-omap4panda.c、board-ti8168evm.c、tisdk_dm816x-evm_defconfig.

    So did I get into a wrong way?

    Another question is that: Do you know wilink6 or wilink8? Could I use that?(I don't know what's that and even how to use. But I saw it in the form. )

  • WL1257 is just for example. There is nothing ready to use, I am afraid you should make some porting efforts.

    Regards,
    Pavel
  • What means porting efforts? So any instruction to read or any procedure to follow?

    Under the words of yours, it is impossible to make the WL1273L's driver ready in one month as a new bee? It's important to me to make it ready in one month, please help me indeed.
  • Regarding Wl127x porting in DM816x EZSDK, check all the previous posts in this e2e thread plus below wiki pages:

    processors.wiki.ti.com/.../WL127x_Porting_Guide
    processors.wiki.ti.com/.../OMAP_Wireless_Connectivity_Hardware_Porting_for_IPNC_DM8148x_Platform

    Regards,
    Pavel
  • Pavel Botev said:
    Regarding Wl127x porting in DM816x EZSDK, check all the previous posts in this e2e thread plus below wiki pages:

    processors.wiki.ti.com/.../WL127x_Porting_Guide
    processors.wiki.ti.com/.../OMAP_Wireless_Connectivity_Hardware_Porting_for_IPNC_DM8148x_Platform

    Regards,
    Pavel

    Hi,

    These two wiki pages are not DM8168 and the file of arch/arm/mach-(omap2/davinci)/board-xxxx.c do not have the functions for wl12xx. So I could do nothing to help to support wl127X for DM8168. Can you explain me more specific?

    Another question, if I use the platform based on am5728, would the psp for am5728 support the TIWI5?

  • Fire Lord said:
    These two wiki pages are not DM8168 and the file of arch/arm/mach-(omap2/davinci)/board-xxxx.c do not have the functions for wl12xx. So I could do nothing to help to support wl127X for DM8168. Can you explain me more specific?

    These are examples. You should make similar changes in the DM8168 board file.

    Fire Lord said:
    Another question, if I use the platform based on am5728, would the psp for am5728 support the TIWI5?

    No. WL1273-TIWI5 is supported in PSP for AM335x, AM37x and AM18x devices.

    Regards,
    Pavel

  • Hi,
    Is the wl18xx supported in PSP for AM5728 device?
  • Hi,

    What means to the below figures?

    1.

    2.

    3.

    Does these mean that dm8168 only support 1271 and 1251?

    As you said the DM8168 could not support 1273, can I design a .ko driver for this device(without the files to make function like the figures showed above)? Or I need to make 1273 to be supported(like the figures above?) before designing the .ko driver?

    See the figure below. You said the am572x can support 18xx. So is that mean the PSP of 572x support 1251 and all the 12xx and 18xx? So why could not 1273L be supported?

    regards 

    firelord

  • Fire Lord said:
    Does these mean that dm8168 only support 1271 and 1251?

    Yes

    Fire Lord said:
    As you said the DM8168 could not support 1273

    I said DM8168 SDK do not support WL127x by default and you should add this support.

    Fire Lord said:
    can I design a .ko driver for this device(without the files to make function like the figures showed above)? Or I need to make 1273 to be supported(like the figures above?) before designing the .ko driver?

    You can do whatever you want, this is open source.

    Fire Lord said:
    You said the am572x can support 18xx. So is that mean the PSP of 572x support 1251 and all the 12xx and 18xx?

    No, that mean AM57x can support wl18xx.

    Fire Lord said:
    So why could not 1273L be supported?

    wl127x can be supported in AM57x SDK, but you should add this support by yourself (same as DM8168 SDK).

    Regards,
    Pavel

  • Hi,
    So as discussed before, wl1251 and wl1271 can be used with DM8168 PSP by default, but wl1273 and wl18xx need to add the support. Similarly, wl1251 can be used with AM572x PSP by default, but all wl12xx and wl18xx series need to add the support. That means the PSP of AM572x support wl12xx and wl18xx in the same level, right? However, WiLink 8 could make the work of supporting more easier for wl18xx but wl12xx is still difficult as DM8168? Have I got all the points?
  • DM816x EZSDK have by default drivers for WL1271 and WL1251. The driver for WL1271 can be also used for WL1273. But DM8168 TI EVM do not have any WLAN module attached to its SDIO, so these module WL1271/WL1273/WL1251 are not enabled in the DM816x board files (devices.c and board-ti8168evm.c) and not tested.

    See also if the below e2e threads will be in help:

    e2e.ti.com/.../142454
    e2e.ti.com/.../191782
    e2e.ti.com/.../108501

    Regards,
    Pavel
  • Regarding AM572x PSDK, it have drivers for WL12xx (WL1251 and WL1271). The driver for WL1271 can also be used for WL1273. But AM572x TI EVM do not have any WL12xx WLAN module attached to its MMC, so these module WL1271/WL1273/WL1251 are not enabled in the AM572x DTS files and not tested.

    AM572x PSDK has also driver for WL18xx and support in DTS file:

    linux-4.4.32/arch/arm/boot/dts/am57xx-evm-common.dtsi

    Regards,
    Pavel
  • Pavel Botev said:
    DM816x EZSDK have by default drivers for WL1271 and WL1251. The driver for WL1271 can be also used for WL1273. But DM8168 TI EVM do not have any WLAN module attached to its SDIO, so these module WL1271/WL1273/WL1251 are not enabled in the DM816x board files (devices.c and board-ti8168evm.c) and not tested.

    Hi,
    As you said, the driver for 1271 and 1273 is the same. So if I want to test 1273 on Dm8168, I just need to make devices.c and board_ti8168-evm.c to support 1273, right? Does that enough?

    Do I need to get a DTS file for 1273?

    Could you give me some directions about how and what to debug after I boot the DM8168 system with the module of TiWi5 and the driver of 1273?

  • Regarding AM572x PSDK, it have drivers for WL12xx (WL1251 and WL1271). The driver for WL1271 can also be used for WL1273. But AM572x TI EVM do not have any WL12xx WLAN module attached to its MMC, so these module WL1271/WL1273/WL1251 are not enabled in the AM572x DTS files and not tested.

    AM572x PSDK has also driver for WL18xx and support in DTS file:

    linux-4.4.32/arch/arm/boot/dts/am57xx-evm-common.dtsi

    Hi,
    Look at the picture, there are something different among wl1251 and wl12xx and wl18xx. The 1251 driver support has more choices than 12xx and 18xx. So does that mean the driver for 1251 is more complete?

    And what's difference between '18xx driver support' and '18xx support'?

    You told me that the PSP of AM572x can support 18xx. Does that because of its' DTS file is easier to download?

  • Fire Lord said:
    As you said, the driver for 1271 and 1273 is the same. So if I want to test 1273 on Dm8168, I just need to make devices.c and board_ti8168-evm.c to support 1273, right? Does that enough?

    This should be enough.

    Fire Lord said:
    Do I need to get a DTS file for 1273?

    No

  • Fire Lord said:
    Look at the picture, there are something different among wl1251 and wl12xx and wl18xx. The 1251 driver support has more choices than 12xx and 18xx. So does that mean the driver for 1251 is more complete?

    No

    Fire Lord said:
    And what's difference between '18xx driver support' and '18xx support'?

    None

    Fire Lord said:
    You told me that the PSP of AM572x can support 18xx. Does that because of its' DTS file is easier to download?

    No

  • Pavel Botev said:

    Hi Fire Lord,

    The WL1273-TIWI5 is enabled and tested for AM335x device, thus SW support is available in the AM335x SDK.

    See for example the below files/folders:

    ti-sdk-am335x-evm-06.00.00.00/board-support/linux-3.2.0-psp04.06.00.11/drivers/net/wireless/wl12xx/Kconfig

    "TI wl12xx driver support" - This will enable TI wl12xx driver support for the following chips:
    wl1271, wl1273, wl1281 and wl1283.

    "TI wl12xx support" - This module adds support for wireless adapters based on TI wl1271 and TI wl1273 chipsets.

    ti-sdk-am335x-evm-06.00.00.00/board-support/linux-3.2.0-psp04.06.00.11/drivers/net/wireless/wl12xx/

    So I will suggest to port the WL1273 driver from AM335x SDK to DM816x SDK.

    Regards,
    Pavel

    Hi, 

    Sorry ro disturbe you that I couldn't find the AM335x PSP of version 06.00.00.00, what I could find for AM335x is 03.02.00.05. 

     

    This is listed as the latest version. So could you give me a link to the SDK6 of AM335x. I want to how it supported wl1273.

    regards

    firelord

  • Hi,
    Could you explain me what's the difference between the SDK6 and SDK3.2?
  • SDK6 is based on kernel 3.2, u-boot-2013.01, and use board files (i.e. board-am335xevm.c, devices.c)

    PSDK3.2 is based on kernel 4.4.32, u-boot-2016.05, and use DTS files (i.e. am33xx.dtsi, am335x-evm.dts)

  • Hi,
    Pavel,

    So if I want to add 1273 support to 8168, I should refer to SDK6 but not SDK3.2, is it right? The SDK3.2 for am572x has much difference from dm8168, is it right?

    regards
    firelord
  • Yes, refer to AM335x SDK6
  • Hi,

    At first

    Pavel Botev said:

    The WL1273-TIWI5 is enabled and tested for AM335x device, thus SW support is available in the AM335x SDK.

    See for example the below files/folders:

    ti-sdk-am335x-evm-06.00.00.00/board-support/linux-3.2.0-psp04.06.00.11/drivers/net/wireless/wl12xx/Kconfig

    "TI wl12xx driver support" - This will enable TI wl12xx driver support for the following chips:
    wl1271, wl1273, wl1281 and wl1283.

    "TI wl12xx support" - This module adds support for wireless adapters based on TI wl1271 and TI wl1273 chipsets.

    ti-sdk-am335x-evm-06.00.00.00/board-support/linux-3.2.0-psp04.06.00.11/drivers/net/wireless/wl12xx/

    So I will suggest to port the WL1273 driver from AM335x SDK to DM816x SDK.

    I can find the directory of drivers/net/wireless/wl12xx/ in the PSP of DM8168. So do I need to porting this from AM335x?

    And second,

    board_ti8168evm.c
    mach_omap2/devices.c
    board_omap3pandora.c
    board_omap4panda.c
    Do I need to porting all of the above four files? Or just several of them?

  • Hi,

    Pavel Botev said:

    If drivers/net/wireless/wl12xx/wl1271_main.c driver doesn't work for you, you should use AM335x SDK6 driver drivers/net/wireless/wl12xx/main.c

    The WL1273-TIWI5 is test and has support by default in the AM335x SDK (Linux and Android). You might re-use the approach from the AM335x SDK6:

    board-support/extra-drivers/ti-compat-wireless-wl12xx-r5.sp4.01/drivers/net/wireless/wl12xx/Kconfig
    board-support/extra-drivers/ti-compat-wireless-wl12xx-r5.sp4.01/drivers/net/wireless/wl12xx/main.c

    board-support/extra-drivers/ti-compat-bluetooth-r5.sp3.05/drivers/net/wireless/wl12xx/Kconfig
    board-support/extra-drivers/ti-compat-bluetooth-r5.sp3.05/drivers/net/wireless/wl12xx/main.c

    board-support/linux-3.2.0-psp04.06.00.11/drivers/net/wireless/wl12xx/Kconfig
    board-support/linux-3.2.0-psp04.06.00.11/drivers/net/wireless/wl12xx/main.c

    ti-compat-wireless-wl12xx-r5.sp4.01/drivers/net/wireless/wl12xx/----Could I use wifi only by this driver?
    /ti-compat-bluetooth-r5.sp3.05/drivers/net/wireless/wl12xx/----Could I use BT only by this driver?
    /drivers/net/wireless/wl12xx/----Could not I use wifi and BT by this driver?
    If I want to use wifi and BT, should I combine all of them? right?

    PS:

    And then, could you tell me if this would help me to make driver for DM8168? And where to download this package?

    regards

    firelord

  • Hi Pavel,
    Could you help me explain the above two questions?
    Thank you very very very much.

    sincerely
    firelord
  • Hi Pavel,

    Any further update for the above posts?


    sincerely

    firelord