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.

AM6412: Sysconfig problem while config GPMC to access external RAM(FPGA)

Part Number: AM6412
Other Parts Discussed in Thread: SYSCONFIG

Tool/software:

Hi TI Expert,

I need connect to FPGA(acted as a SRAM) via GPMC, I need config 16bit data width and Addr[22...1], I use SDK:mcu_plus_sdk_am64x_10_00_00_20, have two questions:

1. I configured GPMC's device type as 'PSRAM' , all GPMC0_Ax is configured properly, except GPMC0_A22. My question is why only A22 is missed, is there any special consideration? and even After I modify the address size from '16MB' to 256MB, nothing changes.

2. another question is that I need to add some special configuration, like add '.readType', 'writeType' into the 'gGpmcAttrs', which is automatically generated by '.syscfg', how can we add it and still enable .syscfg to automatically generate configurations?

GPMC but I failed to 

  • Hello Jenny,

    I am looking at your queries and you may expect reply by EOD .

    Regards,

    Anil.

  • Hello Jenny,

    I configured GPMC's device type as 'PSRAM' , all GPMC0_Ax is configured properly, except GPMC0_A22. My question is why only A22 is missed, is there any special consideration? and even After I modify the address size from '16MB' to 256MB, nothing changes

    For the 16 bit PSRAM non-Multiplexed address and data mode, we need to use address lines from A1 to A22 lines and the A1 line of SOC should be connected to the A0 memory side. But, in the current example, we connected connect A0 line of SOC to an A0 connection to memory.

    This configuration is specific to our GPMC PCB board and not valid for 16 bit standard GPMC connection.

    We need to provide an address line configuration from A1 to A22 lines in the system cfg rather than A0 to A21.

    I have raised the bug for fixing this issue in the next releases.

    So, now to enable A22 line simply configure Pin mux for manually  similar to the AX address line configuration .

        /* GPMC0 pin config */
        /* GPMC0_A22 -> PIN_GPMC0_WPN (N16) */
        {
            PIN_GPMC0_WPN,
            ( PIN_MODE(4) | PIN_PULL_DISABLE )
        },

    another question is that I need to add some special configuration, like add '.readType', 'writeType' into the 'gGpmcAttrs', which is automatically generated by '.syscfg', how can we add it and still enable .syscfg to automatically generate configurations?

    Users can't modify the generated code.

    If you really want to change the generated code,  the GPMC_HWattr type needs to be changed according to your requirement.

    Next, then define the same variable type gGpmcHwAttrs and configure all parameters as per your requirement instead of generated code.

    Finally, call the GPMC_timing parameters API to update timing parameters according to the above variable.

    Regards,

    Anil.

  • Hi Swargam,

    thanks very much for your reply.

    I see, due to customized 'readType', I can not use sysconfig to automatically generated all 'driver config' code.

    Would you add 'readType', 'writeType' setting inside GPMC config page in next release?

    Also, for a quick support, Is there other way to support this? for example, change related SDK code? could you tell me where to change?

  • Hi Jenny,

    Currently, the subject matter expert is out of office. Response to this thread will be delayed. Please expect responses in several business days.

    Thanks for your cooperation.

    Regards,

    Tushar

  • Hello Jenny ,

    The above read and write type support is not available in the MCU+SDK.

    We do support only asynchronous mode and don't have any plans to support synch mode.

    I am not sure, based on this read type and write type, are you modifying  GPMC driver in either asynch or synch mode?

    Regards,

    Anil.

  • Hi Anil,

    I need config the GPMC driver in synch mode, which would generate gpmc_clk to external RAM.

    My question would be:

    Is it possible I changed my local SDK folder's config file to add those configuration(readType, write/Type), so I can still use sysconfig to automatically generated all driver and configuration code?

  • Is it possible I changed my local SDK folder's config file to add those configuration(readType, write/Type), so I can still use sysconfig to automatically generated all driver and configuration code?

    Hello Jenny,

    Yes, this seems OK.

    But, make sure that your changes do not affect the current implementation.

    If you want to change the auto-gen file , then you can do the procedure below.

    Copy the gpmc driver changes from the autogen files and paste them into the one .c file.

    Next, remove the GPMC peripheral in the system cfg and generate code .

    This way you are configuring a GPMC peripheral from the .c file instead of an autogen file.

    Regards,

    Anil.