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.

PROCESSOR-SDK-AM437X: OSC chip ID doesn't exist

Part Number: PROCESSOR-SDK-AM437X


Hello everyone,

I have OSC chip on my board and I describe it in PinMUX:

Generated configuration is here:

pinmuxBoardCfg_t gGpevmPinmuxData[] =
{
#if defined(BUILDCFG_MOD_UART)
    {CHIPDB_MOD_ID_UART, gUartPinCfg},
#endif /* if defined(BUILDCFG_MOD_UART) */
#if defined(BUILDCFG_MOD_PRU_ICSS)
    {CHIPDB_MOD_ID_PRU_ICSS, gPru_icssPinCfg},
#endif /* if defined(BUILDCFG_MOD_PRU_ICSS) */
#if defined(BUILDCFG_MOD_I2C)
    {CHIPDB_MOD_ID_I2C, gI2cPinCfg},
#endif /* if defined(BUILDCFG_MOD_I2C) */
#if defined(BUILDCFG_MOD_CPSW)
    {CHIPDB_MOD_ID_CPSW, gCpswPinCfg},
#endif /* if defined(BUILDCFG_MOD_CPSW) */
#if defined(BUILDCFG_MOD_MMCSD)
    {CHIPDB_MOD_ID_MMCSD, gMmcsdPinCfg},
#endif /* if defined(BUILDCFG_MOD_MMCSD) */
#if defined(BUILDCFG_MOD_QSPI)
    {CHIPDB_MOD_ID_QSPI, gQspiPinCfg},
#endif /* if defined(BUILDCFG_MOD_QSPI) */
#if defined(BUILDCFG_MOD_GPIO)
    {CHIPDB_MOD_ID_GPIO, gGpioPinCfg},
#endif /* if defined(BUILDCFG_MOD_GPIO) */
#if defined(BUILDCFG_MOD_RTC)
    {CHIPDB_MOD_ID_RTC, gRtcPinCfg},
#endif /* if defined(BUILDCFG_MOD_RTC) */
#if defined(BUILDCFG_MOD_OSC)
    {CHIPDB_MOD_ID_OSC, gOscPinCfg}, /*!!!!!!!!!!!! OSC Chip is described here !!!!!!!!!!!*/
#endif /* if defined(BUILDCFG_MOD_OSC) */
    {CHIPDB_MOD_ID_INVALID}
};

But when I try to compile I get the error that  CHIPDB_MOD_ID_OSC is undefined.

I'm looking in: 

C:\ti\pdk_am437x_1_0_14\packages\ti\starterware\include\am43xx\chipdb_defs.h

And indeed this Chip ID is not present!

Any ideas why is that?

What is the correct fix?

Thank you in advance!

  • Part Number: PROCESSOR-SDK-AM437X

    I have several ADCs on my board and I describe them in the PinMUX:

    But in the generated configuration there is NO any information about ADC:

    pinmuxBoardCfg_t gGpevmPinmuxData[] =
    {
    #if defined(BUILDCFG_MOD_UART)
        {CHIPDB_MOD_ID_UART, gUartPinCfg},
    #endif /* if defined(BUILDCFG_MOD_UART) */
    #if defined(BUILDCFG_MOD_PRU_ICSS)
        {CHIPDB_MOD_ID_PRU_ICSS, gPru_icssPinCfg},
    #endif /* if defined(BUILDCFG_MOD_PRU_ICSS) */
    #if defined(BUILDCFG_MOD_I2C)
        {CHIPDB_MOD_ID_I2C, gI2cPinCfg},
    #endif /* if defined(BUILDCFG_MOD_I2C) */
    #if defined(BUILDCFG_MOD_CPSW)
        {CHIPDB_MOD_ID_CPSW, gCpswPinCfg},
    #endif /* if defined(BUILDCFG_MOD_CPSW) */
    #if defined(BUILDCFG_MOD_MMCSD)
        {CHIPDB_MOD_ID_MMCSD, gMmcsdPinCfg},
    #endif /* if defined(BUILDCFG_MOD_MMCSD) */
    #if defined(BUILDCFG_MOD_QSPI)
        {CHIPDB_MOD_ID_QSPI, gQspiPinCfg},
    #endif /* if defined(BUILDCFG_MOD_QSPI) */
    #if defined(BUILDCFG_MOD_GPIO)
        {CHIPDB_MOD_ID_GPIO, gGpioPinCfg},
    #endif /* if defined(BUILDCFG_MOD_GPIO) */
    #if defined(BUILDCFG_MOD_RTC)
        {CHIPDB_MOD_ID_RTC, gRtcPinCfg},
    #endif /* if defined(BUILDCFG_MOD_RTC) */
    #if defined(BUILDCFG_MOD_OSC)
        {CHIPDB_MOD_ID_OSC, gOscPinCfg},
    #endif /* if defined(BUILDCFG_MOD_OSC) */
        {CHIPDB_MOD_ID_INVALID}
    };
    

    I tried both online and offline versions of the PinMUX, result is the same - NO ADC pins configured, no ADC chips is described.

    Is it by design?

    How do I read my ADC? I see examples for IDK_AM437x board and there IS ADC present!

    pinmuxBoardCfg_t gIdkevmPinmuxData[] =
    {
    #if defined(BUILDCFG_MOD_UART)
    	{CHIPDB_MOD_ID_UART, gUartPinCfg},
    #endif /* if defined(BUILDCFG_MOD_UART) */
    #if defined(BUILDCFG_MOD_USB)
    	{CHIPDB_MOD_ID_USB, gUsbPinCfg},
    #endif /* if defined(BUILDCFG_MOD_USB) */
    #if defined(BUILDCFG_MOD_PWMSS)
    	{CHIPDB_MOD_ID_PWMSS, gPwmssPinCfg},
    #endif /* if defined(BUILDCFG_MOD_PWMSS) */
    #if defined(BUILDCFG_MOD_PRU_ICSS)
    	{CHIPDB_MOD_ID_PRU_ICSS, gPru_icssPinCfg},
    #endif /* if defined(BUILDCFG_MOD_PRU_ICSS) */
    #if defined(BUILDCFG_MOD_CPSW)
    	{CHIPDB_MOD_ID_CPSW, gCpswPinCfg},
    #endif /* if defined(BUILDCFG_MOD_CPSW) */
    #if defined(BUILDCFG_MOD_MCASP)
    	{CHIPDB_MOD_ID_MCASP, gMcaspPinCfg},
    #endif /* if defined(BUILDCFG_MOD_MCASP) */
    #if defined(BUILDCFG_MOD_I2C)
    	{CHIPDB_MOD_ID_I2C, gI2cPinCfg},
    #endif /* if defined(BUILDCFG_MOD_I2C) */
    #if defined(BUILDCFG_MOD_MMCSD)
    	{CHIPDB_MOD_ID_MMCSD, gMmcsdPinCfg},
    #endif /* if defined(BUILDCFG_MOD_MMCSD) */
    #if defined(BUILDCFG_MOD_QSPI)
    	{CHIPDB_MOD_ID_QSPI, gQspiPinCfg},
    #endif /* if defined(BUILDCFG_MOD_QSPI) */
    #if defined(BUILDCFG_MOD_VPFE)
    	{CHIPDB_MOD_ID_VPFE, gVpfePinCfg},
    #endif /* if defined(BUILDCFG_MOD_VPFE) */
    #if defined(BUILDCFG_MOD_MCSPI)
    	{CHIPDB_MOD_ID_MCSPI, gMcspiPinCfg},
    #endif /* if defined(BUILDCFG_MOD_SPI) */
    #if defined(BUILDCFG_MOD_GPIO)
    	{CHIPDB_MOD_ID_GPIO, gGpioPinCfg},
    #endif /* if defined(BUILDCFG_MOD_GPIO) */
    #if defined(BUILDCFG_MOD_ADC)
    	{CHIPDB_MOD_ID_ADC0, gAdcPinCfg},  /*!!!!!!!!!!!! HERE IT IS PRESENT FOR IDK_AM437x !!!!!!!!!!!!!!!!!!!!!!!*/
    #endif /* if defined(BUILDCFG_MOD_ADC) */
        {CHIPDB_MOD_ID_INVALID}
    };
    

  • Oleg,

    I have looped in our HW expert to help with the question relating the TI Pinmux tool configuration of the ADC interface.

    Regards,
    Rahul
  • Thanks Rahul!
    Hopefully they will be able to help
  • You can remove OSC from the pin mux tool to get around this. The Tool does not export anything for the OSC module anyway so there is no need to have it added in your pinmux config. 

    Regards,
    Ahmad

  • Thanks for the clarification, Ahmad!

  • Sorry, I marked thread resolved by mistake. My question about OSC is resolved but I still have to know how to work with ADC
  • Hi Oleg,

    The ADC is missing from the Tool output intentionally. Reason is that ADC pins do not have a pad configuration register. The mux mode is always ADC so we removed it in a recent update. I hope that explains it.

    Regards,
    Ahmad

  • Hi Ahmad,

    Thanks for your reply.

    It is quite weird that question about OSC is merged with question about ADC. It is totally confusing now, is it me who did this? I'm sure I created a separate topic!

    So I created another topic, only about ADC:

    https://e2e.ti.com/support/processors/f/791/t/805543

    You can reply here or there.

    Any examples how can I read those 7 measurements and do not mix them up?

    Should I trigger the AD conversion or is it done automatically?

    Any help will be  highly appreciated!

  • Hi Oleg,

    You created two threads on OSC and ADC. They were both on the topic of pin muxing similar enough that we merged them and it got assigned to me. Creating a third thread is not necessary if you are satisfied with my previous reply. 

    Now you have questions on how to use the ADC, this is a new topic that I am unfamiliar with. For that question it does require a new thread so it can be assigned to the correct person.

  • Thanks Ahmad!
    Indeed it is answers my question about PIN configuration.
    Now I have to know how to use them and it is a different topic.
    So I'm closing this one, Thank you very much!