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.

J721EXSOMXEVM: Processors forum

Part Number: J721EXSOMXEVM

Tool/software:

We have a J721EXSOMXEVM processor board as well as a GESI expansion board on our carrier board. We would like to access the I2C5 bus that is listed on the GESI board (spruit1b Table 4-8). It seems that these signals, I2C5_SCL and I2C5_SDA, are muxed with the MDIO0_MDIO signals through chip U34.  This chip in turn is controlled by a select signal, MDIO_MDC_SEL0 that comes from the carrier board EXP_MUX2 signal. 

This signal is set or cleared by I2C GPIO EXPANDER1 (U126) on the carrier board.  

Our question is do we have to manually set or clear this bit by writting our own I2C application to set the values or is there a utility or example program that can do this for us?

Seems like a silly question but we cannot find anything in the j721e-evm 10_01_00_04 pdk for RTOS or the J721e-evm 11_00_00_00 for Linux that shows us how to do this.

Thank you

  • Hi Randy,

    Seems like a silly question but we cannot find anything in the j721e-evm 10_01_00_04 pdk for RTOS or the J721e-evm 11_00_00_00 for Linux that shows us how to do this.

    Are you running Linux+RTOS?

    On the Linux side, we do have a device tree overlay that will automatically set EXP_MUX2 high using a GPIO hog and select I2C5_SCL and I2C5_SDA within the mux.

    We do not have a similar example like this on the RTOS PDK side. You would have to manually set the bit at the beginning of your I2C application everytime.

    Do you plan to adjust this mux select at runtime?

    Thanks,

    Neehar

  • Thank you for pointing out the overlay file. 

    Doing this on the linux side would be fine. We do not need to change it at runtime.

    Can I ask a couple of follow up questions? 

    1. Is this overlay already applied if I have compiled the kernel for this particular board (j721e-evm) or do I need to add this overlay in addition to what is already there? If so, any hints where the overlay needs to be added?

    I mean there is the the boot stuff inside the kernel and then a separate ti-uboot that has that dtso file as well. I do see in the uEnv.txt where an overlay is applied. is that the right place for this overlay?

    2. I understand that the gpio-hog can set the GPIO value but what I don't understand is that I thought the source of the mux was a GPIO from an I2C0 expander device that would have to be written with I2C to set the bit high?  Does the uboot or linux system see this gpio-hog signals and know to write the i2C message or is there a direct GPIO connection to the signal (EXP_MUX2) that I am not seeing?

  • Hi Randy,

    I have reassigned your thread to the Linux expert who will be able to assist with your queries. They will follow up on the thread.

    Thanks,

    Neehar

  • Hi Randy,

    I do see in the uEnv.txt where an overlay is applied. is that the right place for this overlay?

    Yes

    Does the uboot or linux system see this gpio-hog signals and know to write the i2C message

    Yes

    Regards,

    Takuma