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.

Question about FFTC

Other Parts Discussed in Thread: TMS320C6678, TMS320C6670

Hi All,
I have small question about FFTC.
I run the example from ti/pdk_keystone2_3_00_04_18/packages/exampleProjects/fftcMCK2H66BiosExampleProject
and received message:
[Core 3]: FFTC Power enable failed
[Core 2]: FFTC Power enable failed
[Core 1]: FFTC Power enable failed
[Core 0]: FFTC Power enable failed
I looked at the text of proram:
static Int32 enable_fftc (void)
{
#ifndef SIMULATOR_SUPPORT
/* FFTC power domain is turned OFF by default. It
* needs to be turned on before doing any FFTC device
* register access.
*/
/* Set FFTC Power domain to ON */
CSL_PSC_enablePowerDomain (CSL_PSC_PD_FFTC_01);

/* Enable the clocks too for FFTC */
CSL_PSC_setModuleNextState (CSL_PSC_LPSC_FFTC_0, PSC_MODSTATE_ENABLE);

/* Start the state transition */
CSL_PSC_startStateTransition (CSL_PSC_PD_FFTC_01);

/* Wait until the state transition process is completed. */
while (!CSL_PSC_isStateTransitionDone (CSL_PSC_PD_FFTC_01));

/* Return FFTC PSC status */
if ((CSL_PSC_getPowerDomainState(CSL_PSC_PD_FFTC_01) == PSC_PDSTATE_ON) &&
(CSL_PSC_getModuleState (CSL_PSC_LPSC_FFTC_0) == PSC_MODSTATE_ENABLE))
{
/* FFTC ON. Ready for use */
System_printf("Power on FFTC domain on successful\n");
return 0;
}
else
{
/* FFTC Power on failed. Return error */
System_printf("Power on FFTC domain is failed!\n");
return -1;
}

}

where CSL_PSC_PD_FFTC_01 has a value - 19

I looked text ti/pdk_C6678_1_1_2_6/packages/ti/csl/cslr_device.h
/* PSC Power Domain Assignment Definitions */
#define CSL_PSC_PD_ALWAYSON 0
#define CSL_PSC_PD_DEBUG_TRC 1
#define CSL_PSC_PD_PASS 2
#define CSL_PSC_PD_PCIEX 3
#define CSL_PSC_PD_SRIO 4
#define CSL_PSC_PD_HYPERBRIDGE 5
#define CSL_PSC_PD_L2SRAM 6
#define CSL_PSC_PD_MSMCSRAM 7
#define CSL_PSC_PD_GEM0 8
#define CSL_PSC_PD_GEM1 9
#define CSL_PSC_PD_GEM2 10
#define CSL_PSC_PD_GEM3 11
#define CSL_PSC_PD_GEM4 12
#define CSL_PSC_PD_GEM5 13
#define CSL_PSC_PD_GEM6 14
#define CSL_PSC_PD_GEM7 15

not PSC Power Domain number 19!

I don't understand where my error?
PS I use TMS320C6678 with emulator SEED-XDS560v2 and CCSv5.2

Best regards,
Oleg

  • I found of next strangeness. Into ti/pdk_keystone2_3_00_04_18 - it has includes file
    - ti/pdk_keystone2_3_00_04_18/packages/ti/csl/device/k2k/scr/cslr_device.h,
    and this file has tne necessary code.
    /*
    * Auto-generated CSL section
    */
    #define CSL_PSC_PD_ALWAYSON 0
    #define CSL_PSC_PD_DEBUG_TRC 1
    #define CSL_PSC_PD_NETCP 2
    #define CSL_PSC_PD_PCIE 3
    #define CSL_PSC_PD_SRIO 4
    #define CSL_PSC_PD_HYPERLINK_0 5
    #define CSL_PSC_PD_SR 6
    #define CSL_PSC_PD_MSMCSRAM 7
    #define CSL_PSC_PD_C66X_COREPAC_0 8
    #define CSL_PSC_PD_C66X_COREPAC_1 9
    #define CSL_PSC_PD_C66X_COREPAC_2 10
    #define CSL_PSC_PD_C66X_COREPAC_3 11
    #define CSL_PSC_PD_C66X_COREPAC_4 12
    #define CSL_PSC_PD_C66X_COREPAC_5 13
    #define CSL_PSC_PD_C66X_COREPAC_6 14
    #define CSL_PSC_PD_C66X_COREPAC_7 15
    #define CSL_PSC_PD_DDR 16
    #define CSL_PSC_PD_TAC_RAC_01 17
    #define CSL_PSC_PD_RAC_23 18
    #define CSL_PSC_PD_FFTC_01 19

    And I And I looked to code from
    ti/pdk_C6670_1_1_2_6/packages/ti/drv/exampleProject/FFTC_Multicore_exampleProject
    - this project also has code

    CSL_PSC_enablePowerDomain (CSL_PSC_PD_FFTC_01);

    but file cslr_device.h to pdk 6670 equivalent to cslr_device.h. I don't test this project -
    I have not TMS320C6670
    I'm at a loss
    Oleg
  • Hi All,
    I has verified three file cslr_device.h from
    1.pdk_C6670_1_1_2_6/packages/ti/csl,
    2.pdk_C6678_1_1_2_6/packages/ti/csl and
    3.pdk_keystone2_3_00_04_18/packages/ti/csl/device/src/k2k. All this files is different.
    File cslr_device.h from pdk_C6678 ... not contains CSL_PSC_PD_FFTC...
    File cslr_device.h from pdk_c6670... have

    #define CSL_PSC_PD_FFTC_AB 9 and
    . . .
    #define CSL_PSC_PD_BCP_FFTC_C_TCP3D_C 18

    File pdk_keystone2_3_00_04_18 have

    #define CSL_PSC_PD_FFTC_01 19
    #define CSL_PSC_PD_FFTC_2345 20

    in this regard, I have three questions
    1. Does this mean that С6678 don't have FFT controller?
    2. or this means that C6678 don't have drivers for FFT controller?
    3. or this means that C6678 does not require special driver for to work with FFTC?
    Maybe I should rebuilding library to C6678?

    I will attempt to verifying last hypothesis


    Oleg

  • Hi Oleg,
    The FFTC is not avilable on C6678. Please go through device data manual for more information.
    The MCSDK 2.x is compatible with keystone I devices such as C6657/C6670/C6678.

    Thank you.
  • Hi Rajasekaran,
    Thank for your answer. It very help for me.
    Best regards,
    Oleg