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.

DRA746: How to handle two interrupts of same GPIO bank in A15 and M4?

Part Number: DRA746
Other Parts Discussed in Thread: SYSBIOS,

Tool/software:

Hi TI team,

We are using DRA74x SoC where two GPIO pins (GPIO7_24 and GPIO7_10) of the same GPIO bank (GPIO7) are being used as an interrupt.

Is it possible to register ISR of GPIO7_10 at A15 core(Running with Linux) while registering ISR of GPIO7_24 at M4 core(Running with SysBios)?

If yes, Could you please help how can we achieve that?

Note: We are using TI_VISION_SDK_03_04

  • Hello Parshv,

    Can you provide details on the background of this project? Is this a new program or an existing one?

    Also, give us more details on the problem space, what you are trying to do, and why this is required.

    Thanks.

  • Hi Praveen,

    This is an existing IVI program in Harman for one of the OEM where DRA746 SoC is used.

    GPIO7_10 is connected to interrupt pin of Tuner DAB IC & already being handled as GPIO interrupt in A15 core which is Running on Linux.

    GPIO7_24 is connected to interrupt pin of ADV7182(Video Decoder) IC & currently it is not used in the software.

    Now the requirement has come in such a way that we want to use GPIO7_24 pin as GPIO interrupt in M4 core(Running on SysBios) because all other ADV7182 operations(Read/Write registers) are directly executed from M4 core (and not from A15 core) over i2c interface.

    Our intention is to know how can we register ISR for GPIO7_24 in M4 code (VisionSDK) and if it is allowed to have two interrupts of the same GPIO bank to be handled in A15(Linux) and M4(SysBios) individually.

  • Hi Parshv,

    Thanks for the details.

    Our answer to this will be no. It is not recommended to control the same hardware from two different drivers & core  (A15 & M4) independently.

    If you want to use the GPIO lines from M4 , you should send an IPC call and let the Linux side change those pins.
    This is the cleaner approach.

    Thanks.

  • Hi Praveen,

    Thanks for the providing information. Could you please help us if this will be applicable for Input GPIO Interrupt because we want to use GPIO7_10 & GPIO7_24 as interrupt for Input Direction (and not the output direction) .

  • Hi Parshv,

    As previously mentioned, if the interrupt for  GPIO instance is on the same bank, they have to be configured from the core that owns this GPIO bank. You can look into the SDK example code to learn how to do this. 

    Thanks.