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.

TDA4VM: How to pull down GPIO0_26 in tiboot3

Part Number: TDA4VM

SDK --- 0804

freeRTOS + linux

start up mode --- SPL

We want to pull down GPIO0_26 at startup for some reason

1.We tried to change it in tiboot3, but it didn't work, you can refer to 0001-Fix-dtb-for-tiboot3-GPIO0-26.patch

0001-Fix-dtb-for-tiboot3-GPIO0-26.zip

2.We tried to pull down GPIO0_26 in MCU1_0 through the GPIO interface or action register, but still failed, you can refer to 0002-pull-down-GPIO0-26-in-mcu1_0.patch (but succeeded in MCU2_1 )

0002-pull-down-GPIO0-26-in-mcu1_0.zip

3.We can successfully pull down GPIO0_26 by manipulating the register in uboot or after linux boot with the mw and devmem2 commands

Finally, I want to know why the changes to tiboot3 and MCU1_0 didn't work, or What should I do if I want to pull down GPIO0_26 in tiboot3 or mcu1_0

  • Hi,

    In U-Boot you also need to change the pinmux.

    2.We tried to pull down GPIO0_26 in MCU1_0 through the GPIO interface or action register, but still failed, you can refer to 0002-pull-down-GPIO0-26-in-mcu1_0.patch (but succeeded in MCU2_1 )

    Again. The pinmux must be set to 0x40007.

    1.We tried to change it in tiboot3, but it didn't work, you can refer to 0001-Fix-dtb-for-tiboot3-GPIO0-26.patch

    Finally, I want to know why the changes to tiboot3 and MCU1_0 didn't work, or What should I do if I want to pull down GPIO0_26 in tiboot3 or mcu1_0

    Need to add the pinmux to one of the nodes that get probed.

    - Keerthy

  • Again. The pinmux must be set to 0x40007.

    I want to set this pin as output, but 0x40007 is configured as input, why?

    Need to add the pinmux to one of the nodes that get probed.

    yes, i did, I tried using pinmux to configure and pull down GPIO, but failed

  • I want to set this pin as output, but 0x40007 is configured as input, why?

    Okay. This is a common confusion. There are 2 levels. One at the pad level and the other at the GPIO level.

    At the pad level bit18 must be set. Hence I suggested the value 0x40007.
    At the GPIO level it needs to be set to output.

    Hope I am clear.

    - Keerthy 

  • now, i set GPIO0_26 pad config register 0x0011C06C to 0x40007, set dir register  0x00600010 to 0xFBFFFBDF,then i build j7-mcu-r5f0_0-fw for tispl.bin

    but when i stop in uboot, the register value be chanaged, So, I suspect that some operation in uboot configures the 0x0011C06C and 0x00600010 registers

    Can you help me find the operation for registers 0x0011C06C and 0x00600010 in uboot

  • Hi,

    I am a bit lost here. Are you trying entirely from U-Boot/SPL or from SBL? What is your boot loader?
    I suggest adding debug prints to read the pin mux register as soon as your write. I suspect if the original
    writes are happening or not.

    Because:

    The above values that you are reading are reset values mostly. So no one is likely over writing but my suspicion is that your write did not go through
    or the other possibility is that your firmware write happens after the firmware is loaded by U-Boot.

    - Keerthy

  • hi

    my board used SPL boot mode,then i build mcu1_0 firmware for R5-DM-FW in tispl.bin

  • I suggest adding debug prints to read the pin mux register as soon as your write. I suspect if the original
    writes are happening or not.

    Can you double confirm on this?