Uploaded image for project: 'Embedded Software & Tools'
  1. Embedded Software & Tools
  2. EXT_EP-10776

[Board] Board_init() fails when called from mcu2_0

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: High High
    • PDK
    • PDK-11149
    • PROCESSOR_SDK_08.01.00
    • PROCESSOR_SDK_08.02.00
    • j7200-evm

      Board_init() fails when called from mcu2_0 and the init flags has BOARD_INIT_UART_STDIO.

      This issue is causing EthFw to fail when performing board initialization in the image built for CCS where UART logging is enabled.

      In Ethernet Firmware case, the issue is reproducible when building EthFw as follows:

      $ cd <psdk>/pdk/packages/ti/build
      $ make -s -j custom_target BUILD_TARGET_LIST_ALL=all_libs BOARD=j7200_evm BUILD_PROFILE_LIST_ALL=release
      $ cd <psdk>/ethfw
      $ make -s -j8 ethfw_all BUILD_SOC_LIST=J7200

      This issue is NOT reproducible when building EthFw alone as follows:

      $ cd <psdk>/ethfw
      $ make -s -j8 ethfw_all BUILD_SOC_LIST=J7200

       The I2C library is a core independent component, hence no core checks should be done in source code. I2C j7200 SoC data (i2c/soc/j7200/I2C_soc.c) does have BUILD_MCU2_x, BUILD_MCU1_x checks which are incorrect in core agnostic libraries.

      If PDK is built for mcu1_0 first (like it would do in case of "all_libs"), then SoC data is correct for MCU1_0. When PDK is built for mcu2_0, the I2C library is not recompiled as it's core agnostic, ending up with wrong SoC data for apps running from cores other than mcu1_0.

      Please refer to the attached CCS snapshots:

      • Pass case - I2C HwAttrs are correct for Main domain I2C instances 
      • Fail case - I2C HwAttrs are incorrect as they refer to MCU domain I2C instances 

      It's worth noting that this issue is not only affecting I/O mux setup done via I2C for UART, but any other I2C from mcu2_0 is also broken. For instance, when EthFw tries to set the I2C-based GPIO for QSGMII PHY reset, those I2C transactions also fail.

      In summary, I2C is not functional on J7200 mcu2_x core.

            syncuser TI User
            syncuser TI User
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: