AM6422: Processors forum

Part Number: AM6422
Other Parts Discussed in Thread: SYSCONFIG, AM6442

Tool/software:

I have a similar issue as the OP in the previous thread. The solution looks straightforward, but I cannot figure out how to implement it with the TI tools.

I am using CCS 12.8.1.00005 on Linux with MCU+ SDK AM64x 10.00.00.20.

The example project that I'm using is enet_icssg_loopback_am64x-evm_r5fss0-0_nortos_ti-arm-clang.

From within CCS I have been unable to figure out how to make the new pinmux assignments. I have been unable to find anywhere in the Sysconfig tool (within CCS) to change the pin mapping for EXT_REFCLK1 (A19), and I unfortunately can't just make the changes directly to the ti_pinmux_config.c source as it is auto-generated. I've looked through the drivers and devices in the tree in the sysconfig GUI a dozen times, but I just don't see where to make that clock assignment change. I've also tried the online and standalone versions, with the same issue.  

This seems like an easy question, but I may be misunderstanding something fundamental. Any help is appreciated.

  • Hi ,

    Thanks for your query.

    I will check on this and get back to you.

    Regards

    Ashwani

  • Thanks Ashwani.  

    I think maybe I am misunderstanding sysconfig and how to use it properly. It appears to be a framework capable of running various tools. From the AM6442 product page,

           

    And then I get the following:

    I notice especially the SYSTEM selection in the left pane, which enables control of CLKOUT0 and EXT_REFCLK1, which is exactly what I want.

    However, within the context of CCS IDE editing an MCU+ SDK example for R5F0, I get a very different view.  Opening "example.sysconfig" from within the project I get:

    Without the SYSTEM selections that would enable changing the PLLs and pinmux.

    I'm new to CCS and sysconfig and I suspect I'm misunderstanding the context of the tool - which might be separately for SOC initialization (pinmux) vs R5F application development? If so, how do these parts work together in an asymmetric multicore processor like the AM64x (forex: does pinmux happen earlier in the boot sequence, not from the R5F application).  Or maybe put more directly, how does one get the required pinmux changes to be reflected onto my processor when building only an R5F core application?  Confused  TIA.

  • Hi,

    I am re-assigning thread to sysconfig expert.

    Regards

    Ashwani 

  • Hi James,

    I can see that the EXT_REFCLK1 does not belong to any peripheral and is not configurable from MCU+SDK. But you can use the Pinmux tool to configure the EXT_REFCLK1 functionality. 

    The above screenshot shared shows difference because one is used without MCU+SDK(i.e. Pinmux tool) as software product and other with MCU+SDK as software product in Sysconfig.

    You can create your own function to configure the EXT_REFCLK1 pin and configure it after the System_init() call in main.

    Please refer the below code.

    #include <drivers/pinmux.h>
    
    void system_config()
    {
        Pinmux_PerCfg_t gPinMuxMainDomainCfg[] = {
    
            /* MySYSTEM1 -> EXT_REFCLK1 -> A19 */
              {
                  PIN_EXT_REFCLK1,
                  PIN_MODE(0) | ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))
              },
    
            {PINMUX_END, PINMUX_END}
        };
    
        Pinmux_config(gPinMuxMainDomainCfg, PINMUX_DOMAIN_ID_MAIN);
    }
    
    int main()
    {
        System_init();
        system_config();
        
        /* other code */
        
        System_deinit();
        return 0;
    }

    Hope the above helps.

    Regards,

    Tushar