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.

Some clarification needed with "Keystone 66AK2E02" and "MCSDK"



Dear E2E,

We are looking into the TI's "Keystone 66AK2E02" (which consist of 1 C66x DSP Core and 1 ARM Core at up to 1.4 GHz) for one of our customer design.

Basically, we need to make use of both DSP core as well as the ARM core of Keystone 66AK2E02. We also looking into the Multicore Software Development Kit (MCSDK 3_01_03_06) and trying to customize it for our purpose.

As part of our initial study we would like to get clarification on the items listed below:

1) "Keystone 66AK2E02" supports 2 UARTS. UART is been used for the debugging purpose in our design. 2 UARTs are preferred in such a way that one is dedicated for ARM side and another one is for DSP side debugging. I would like to know, Whether this set-up already supporting in the "MCSDK 3_01_03_06" ? If not, then how the UART has configured in "MCSDK 3_01_03_06" by default?

2) The preferred boot medium is USB/ SD card for us. With respect to ARM core, whether USB device/SD card can be configured as boot medium and file system storage device? Is this feature supported in the "MCSDK 3_01_03_06" ?

3) With respect to ARM core, EMAC/Ethernet and PHY support for packet transfer is supported in the "MCSDK 3_01_03_06" ?

4) From DSP’s point of view, we would like to know the following peripheral supports are already present or not in the "MCSDK 3_01_03_06"?
a) I2C
b) SPI
c) EMEIF16 for memory mapping purpose
d) EDMA
e) PHY driver
f) GPIO interrupt handler support
g) UART for debugging console.

Looking forward to your reply...

Best Regards,
Ajith P V

  • Hi,

    Welcome to the TI E2E forum. I hope you will find many good answers here and in the TI.com documents and in the TI Wiki Pages (for processor issues). Be sure to search those for helpful information and to browse for the questions others may have asked on similar topics (e2e.ti.com).

    Ans1: Yes, MCSDK package support uart the source driver is available on the following path (\ti\pdk_keystone2_3_01_01_04\packages\ti\platform\evmk2e\platform_lib\src\evmc66x_uart.c)

    Ans4: It supports all the peripherals, refer following MCSDK path (\ti\pdk_keystone2_3_01_01_04\packages\ti\platform\evmk2e\platform_lib\src)

    ARM experts will answer other questions.

    Thanks,
  • Hi Ajith,


    2) The preferred boot medium is USB/ SD card for us. With respect to ARM core, whether USB device/SD card can be configured as boot medium and file system storage device? Is this feature supported in the "MCSDK 3_01_03_06" ?

    Yes, USB boot support is available.
    processors.wiki.ti.com/.../MCSDK_UG_Chapter_Exploring

    1) "Keystone 66AK2E02" supports 2 UARTS. UART is been used for the debugging purpose in our design. 2 UARTs are preferred in such a way that one is dedicated for ARM side and another one is for DSP side debugging. I would like to know, Whether this set-up already supporting in the "MCSDK 3_01_03_06" ? If not, then how the UART has configured in "MCSDK 3_01_03_06" by default?

    Yes, we have a support for DSP side, and we have support for ARM too.
    /opt/ti/pdk_keystone2_3_01_03_06/packages/ti/platform/evmk2e/platform_lib/src/evmc66x_uart.c


    3) With respect to ARM core, EMAC/Ethernet and PHY support for packet transfer is supported in the "MCSDK 3_01_03_06" ?

    We have a support in Linux.

    Do you want to run Linux on ARM core or simply ARM application ?


    4) From DSP’s point of view, we would like to know the following peripheral supports are already present or not in the "MCSDK 3_01_03_06"?
    a) I2C
    b) SPI
    c) EMEIF16 for memory mapping purpose
    d) EDMA
    e) PHY driver
    f) GPIO interrupt handler support
    g) UART for debugging console.


    Please refer to the available examples in the following location.

    /opt/ti/pdk_keystone2_3_01_03_06/packages/exampleProjects
  • Hi Ajith,

    2) The preferred boot medium is USB/ SD card for us. With respect to ARM core, whether USB device/SD card can be configured as boot medium and file system storage device? Is this feature supported in the "MCSDK 3_01_03_06" ?

    One clarification on the USB boot. Although Linux can boot from a USB drive as shown in the wiki link, it cannot be used as the primary boot device for the 66AK2E02. A primary boot device must be used to initialize the 66AK2E02 and to configure the USB interface before the Linux boot can be started. The boot devices supported by the 66AK2E02 are shown in Table 9-3. Boot Mode Pins: Boot Device Values in the data manual.

    The K2E EVM uses an SPI memory device for primary boot.

    Regards,

    Bill

  • Hi Titus,

    Thank you for your wonderful support! Please see my further clarification/doubt below:

    Yes, we have a support for DSP side, and we have support for ARM too./opt/ti/pdk_keystone2_3_01_03_06/packages/ti/platform/evmk2e/platform_lib/src/evmc66x_uart.c

    Is this "evmc66x_uart.c" UART source is for DSP side or ARM side or for both? If it is for DSP, then could you please tell me, where the UART source present for ARM in "MCSDK 3_01_03_06" ? Sorry I'm new to "MCSDK 3_01_03_06".

    Do you want to run Linux on ARM core or simply ARM application ?

    We are planning to run Linux on ARM core and SYS/BIOS in DSP.

    Looking forward to your reply...

    Thank you in advance,
    Ajith P V

  • Hi Bill,
    Thank you for your support and clarification on the USB boot.
    We are planning to run Linux on ARM core and SYS/BIOS in DSP core of the 66AK2E02 . Could you please tell me, how we can use USB boot in this case? Whether we should use USB boot as secondary boot medium which boots immediately after the primary boot of SPI/NAND devices?
    Is this kind of support already available in the "MCSDK 3_01_03_06"?

    Looking forward to your reply...

    Thank you in advance,
    Ajith PV

  • Hi Ajith,

    Is this "evmc66x_uart.c" UART source is for DSP side or ARM side or for both? If it is for DSP, then could you please tell me, where the UART source present for ARM in "MCSDK 3_01_03_06" ? Sorry I'm new to "MCSDK 3_01_03_06".

    Its only for DSP core.


    We are planning to run Linux on ARM core and SYS/BIOS in DSP.

    You have to clone the keystone linux kernel using the following command.

    git clone git://git.ti.com/keystone-linux/linux.git linux-keystone

    We have UART debug support in linux kernel for ARM core.

    I think, ARM and DSP uses the UART instance port (UART0)
    You may have to change the UART code either in Linux or DSP platform code.
    Let me do one test and will confirm.
  • Hi Ganapathi,

    Thank you for your support and the link to the source code.

    Ans4: It supports all the peripherals, refer following MCSDK path (\ti\pdk_keystone2_3_01_01_04\packages\ti\platform\evmk2e\platform_lib\src)

    I have checked the MCSDK path (i.e. opt/ti/pdk_keystone2_3_01_03_06/packages/ti/platform/evmk2e/platform_lib/src/) and found the source code for I2C, SPI, PHY, GPIO and UART.

    But, I could not find the source code for EDMA and EMEIF16 . Could you please help me to find where these source code present inside "MCSDK 3_01_03_06"? is it available in the same path? which files?

    PS: sorry I'm new to "MCSDK 3_01_03_06".

    Looking forward to your reply...

    Thank you in advance,
    Ajith P V

  • Hi Ajith,


    But, I could not find the source code for EDMA and EMEIF16 . Could you please help me to find where these source code present inside "MCSDK 3_01_03_06"? is it available in the same path? which files?


    For EDMA support, we can use EDMA3 LLD packages that you may get it installed when you install MCSDK under "ti" folder.

    For EMIF16 support,
    please refer to the following source file, "evm66x_nand.c"
  • Hi Titus,
    Thank you so much for your quick reply.
    I have checked my "MCSDK 3_01_03_06" source and found one EDMA3 LLD path (i.e. /opt/ti/edma3_lld_02_11_13_17). Could you please confirm whether I can use this one for the EDMA task in DSP SYS/BIOS ?

    Also, I would like to get clarification for my below queries too:

    1. With respect to ARM Linux, could you please tell me the path for UART driver, EMAC/Ethernet and PHY driver(s) and USB driver?
    2. I have roughly gone through the DSP source code. Some of the drivers such as I2C ( i.e pdk_keystone2_3_01_03_06/packages/ti/platform/evmk2e/platform_lib/src/evm66x_i2c.c) have only initialization procedure in it's driver. I couldn't find any I2C read/write procedure for it (But, I have seen it present in i2c eeprom driver (evmc66x_i2c_eeprom.c)). Should I write the read/write procedure for evm66x_i2c.c? Is it full fledged driver?
    3. I think, ARM and DSP uses the UART instance port (UART0)
      You may have to change the UART code either in Linux or DSP platform code.
      Let me do one test and will confirm.
      Could you please tell me whether you have confirmed this one ?

    Looking forward to your reply...

    Thank you in advance,
    Ajith P V

  • 1. With respect to ARM Linux, could you please tell me the path for UART driver, EMAC/Ethernet and PHY driver(s) and USB driver?
    Please refer the linux driver information from below link,
    processors.wiki.ti.com/.../MCSDK_UG_Chapter_Exploring

    2. The platform directory of MCSDK will have K2E EVM specific source files, you can re-write based on the custom hardware design.

    3. I recommend you to check the EVM schematic or address used in the low level driver.

    Thank you.