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.

AM2434: Please provide the CC3351 SDIO communication guide

Part Number: AM2434
Other Parts Discussed in Thread: CC3351, SYSCONFIG

Dear Sir,
The AM2434 platform is connected to the CC3351 WiFi module via SDIO. Currently, the SDKs provided on the official website (e.g., cc33xx_rtos_mcu_package_R8_1) only support SPI communication.
image.png

The corresponding SPI adaptation layer code is as follows:
image.png
Items to be implemented as planned:
1.Configure the SDIO hardware (HW) settings.
It is intended to first disable MCSPI and then enable MMCSD, as SDIO and SPI share the same pins.
image.png

2.Whether the corresponding driver for MMCSD is compiled and enabled by default? If not, how to compile and make it take effect?
3.For the adaptation layer, are there any implementation examples for files such as spi_adapt.c (for the SPI bus) and mmc_adapt.c?
4.How to migrate the WiFi driver's SPI communication APIs to SDIO communication APIs?
Could you please provide guidance on the above matters? Additionally, if there are any relevant documents or patches available, could you please provide them as well?

Thanks!

  • Hi,

    I have assigned the query to the correct expert, please expect responses in sometime.

    Regards,

    Vaibhav

  • Hi Vaibhav,
    Any update? Does AM2434 support SDIO? Can mmcsd be used for SDIO communication? Please provide guidance.
    Thanks!

  • Hello Lijun,

    The SDIO mode is not supported in the MCU+SDK.
    However, with some modifications to the eMMC code, we should be able to make it work.
    I will route this query to my teammate, who has experience with SDIO on different devices.
    He can guide you through the process, but please note that this must be tested on the customer's side since it is not officially supported in the MCU+SDK.

    Regards,

    Anil.

  • Hi Swargam,
    Got it. Could we please request the experts specializing in the TI FreeRTOS SDIO driver to provide some guidance and support?
    Thanks!

  • Hi Lijun,

    Let me have a look at the AM243 SDK regarding the questions you have asked and I'll update in a couple of days.

    With Regards

    Yashraj

  • Hi Yashraj,
    I have successfully compiled the SDIO lib library. I plan to add the file sdio_adapt.c, with its header file located at:
    C:\ti\cc33xx_rtos_mcu_package_R8_1\source\ti\drivers\net\wifi\wifi_platform\cc33xx\inc_adapt\sdio_adapt.h.
    My current approach is to implement it by referring to the TI Linux SDIO driver (note: the MCU FreeRTOS only has implementations for eMMC and SD, see details in: C:\ti\mcu_plus_sdk_am243x_08_05_00_24\source\drivers\mmcsd\v0\mmcsd_v0.c).
    If your team has internal implementations for the following functions, could you kindly provide them?
    int sdioAdapt_Init();
    int sdioAdapt_read(uint32_t address, uint8_t *data, uint32_t length);
    int sdioAdapt_write(uint32_t address, uint8_t *data, uint32_t length);
    int sdioAdapt_deInit();

    Additionally, the SysConfig configurations are as follows:

    Thanks!

  • Hi Lijun, 

    For the SDIO protocol, you need to use AM243 MCU+SDK and not the CC33xx SDK. 

    the MCU FreeRTOS only has implementations for eMMC and SD

    For SDIO, you would need to follow the same implementation as SD that is already present in the MCU+SDK. You would need to make changes to the sysconfig and the pinmux to enable the SDIO.

    Also, are you using a custom board for this?

    With Regards,

    Yashraj

  • Hi Yashraj,
    I am currently using the AM2434 MCU paired with the CC3351 WiFi module, hence the need to utilize the CC33XX SDK.
    mcu_plus_sdk_am243x_08_05_00_24 + cc33xx_rtos_mcu_package_R8_1,
    The CC33XX SDK has already implemented SPI communication, and its code framework is compatible with SDIO/UART. If switching to SDIO communication, it appears that only the sdio_adapt.c file is currently missing. Of course, the init/read/write functions need to be implemented, and we can refer to the SD module code flow in mmcsd_v0.c (which only implements eMMC and SD modules). I have switched to SDIO mode as shown in the screenshot I attached earlier—are there any issues with this?
    I am debugging on TI’s AM2434 development board.
    Thanks!

  • Hi Lijun,

    I do not think there will be any issue with the setup that you have done. 

    Do refer to the User guide of the CC33xx SDK documentation regarding the setup for the CC3351 wifi chip: CC33XX-RTOS-MCU+SDK-Doc

    With Regards,

    Yashraj