AM2432: Why Pin Y4 (GPIO0_63) is toggled after power-up (in RBL?) ?

Part Number: AM2432

Tool/software:

Hi,

 

My customer has a problem on GPIO of AM2432 ALX package.

They have implemented the warm reset circuit with GPIO for the Ethernet PHY (DP83822) referring to the schematics of TI LaunchPad_PROC109E3. However, the behaviors of GPIO0_63 (Pin Y4) at power-on are different from their expectation.

 

Please see the attached waveform observed by the oscilloscope.

CH1 (Yellow) : RESETSTATz,    CH2 (Blue) : GPIO0_63 (Pin Y4)

  

 

1.  After power-up, pin Y4 goes to High because there is the pull-up register.

2.  But it goes down to Low after approx. 4ms from releasing RESETSTATz.

3.  After that, it goes to High after 200us, and goes down to Low after 100us.

4.  After 500 ms, it changes Low -> High -> Low.

5.  When the secondary bootloader starts, it changes from low to high again.

6.  The application software controls GPIO0_63 (Pin Y4) to reset the PHY (High -> Low -> High).

 

The behaviors are that the GPIO pin goes Low (twice) after resetting.

Could you let them know the reason why this behavior occurred ?

 

Does RBL operate these toggling on the pin Y4 ? because these phenomena are occurred before SBL start-up.

 

There is external pull-up resistor on the line of GPIO0_63 (Pin Y4).

They tried both internal PU and PD, but this phenomenon is not changed.

 

The above is in the case of SPI boot.

If the boot mode is set as xSPI boot, GPIO0_63 (Pin Y4) keeps HIGH.

Do you know why the behavior on pin Y4 is changed by these boot modes ?

 

Thanks and regards,

Hideaki

  • Hi,

    Could I have any response ?

    Regards,

    Hideaki

  • Hello Hideaki-san,

    This thread was incorrectly assigned to me. Please let me re-assign to a team member and let them respond.

    Thanks,

    Anshu

  • Hello Hideaki-san,

    Can you please share the bootmode configuration used.

    Regards

    Sreenivasa

  • Hello Hideaki-san,

    is customer seeing toggle on this specific IO.

    Can customer check some other random IOs to confirm

    Regards,

    Sreenivasa

  • Hi Sreenivasa,

    Thank you for your reply.

    is customer seeing toggle on this specific IO.

    Yes, because they're using this IO (GPIO0_63 (Pin Y4)) for resetting Ethernet PHY. They don't want this pin to be toggled before starting application code for resetting the phy. 

     

    Can you please share the bootmode configuration used.

     

    They tried two modes as follows.

     

    The above is in the case of SPI boot.

    If the boot mode is set as xSPI boot, GPIO0_64 (Pin Y4) keeps HIGH.

     

    As mentinoed above, they want to use GPIO0_63 (Pin Y4) for resetting the phy, so they want this pin to keep High until the application software start up.

    They want to know why this pin is toggled before starting SBL.

    Thanks and regards,

    Hideaki

  • Hello Hideaki

    Thank you for the inputs.

    I am checking with the ROM team internally.

    I will update when i hear back.

    Regards,

    Sreenivasa

  • Hi Hideaki-san,

    Firstly, as per the AM243x datasheet manual, PIN Y4 is not connected to GPIO0_63 as shown below.

    Secondly, I've confirmed with the ROM code that no changes were done to PIN Y4/ PRG0_PRU1_GPO12/ PADCONFIG120 (as shown in the image) during the entire boot process

    Regards,

    Trupthi

  • Hello Trupti,

    Thank you for replying.

    I suspect you may be looking at AM64x.

    Please refer to AM2432 and the ALX package.

    Pls refer below capture

    Can you pls verify the AM243x rom code (for ALX, in case ROM code is different)

    Regards,

    Sreenivasa

  • Hi Sreenivasa,

    Same ROM code is being used for AM243x and AM64x as AM243x is a cutdown version of AM64x.

    Regards,

    Trupthi

  • Hello Trupti,

    Thank you.

    Example signal description:

    FYI, please refer the signal description capture where the pin mapping changes for the packages.

    Regards,

    Sreenivasa

  • Hi Trupti,

    Thank you for confirming the RBL.

    As Sreenivasa mentioned, I guess that the RBL of AM243x ALX is different from that of AM64x ALV, because the pin configuration is quite different between ALV and ALX like below.

       

    Could you verify the ROM code of AM243x ALX ?

    Thanks and regards,

    Hideaki

  • Hello Hideaki

    Thank you.

    Trupti, A quick verification regarding the ROM code would help.

    Regards,

    Sreenivasa

  • Hi Sreenivasa,

    Confirmed the below from ROM - 

    1. Code for AM64x and AM243x is the same, meaning all the configurations (including pinmux) also remains the same

    2. No extra changes/patch was applied for AM243x on the top of AM64x code as a part of ROM drop

    3. GPOI0_63 is touched by ROM code but only in GPMC boot mode and ideally should not have an impact here. Might need an involvement from H/W Apps team to comment on this behavior 

    Regards,

    Trupthi

  • Hi Trupthi,

    Thank you for confirming the ROM code. OK, I understood that the code for AM64x and AM243x is the same including pinmux.

    However, I think that the operation should be different between ALV package and ALX, I guess there is a condition branch with the package type even if the code is the same..

    As Sreenivasa mentioned, the pin configuration is quite different between ALV and ALX like below.

      

     

    Regards,

    Hideaki

  • Hello Hideaki

    I am checking with the team internally if we have some additional inputs.

    Regards,

    Sreenivasa

  • Hello Hideaki

    We tested with the below configuration and do not see any activity on the GPIO.

    AM243x SPI (15:0): 0000 0000 0001 1011

    AM243x QSPI (15:0): 0000 0001 0001 0011

    AM243x xSPI (15:0): 0000 0000 0111 0011

     

    AM64x EVM SPI (15:0): 0001 1000 0001 1011

    AM64x EVM xSPI (15:0): 0001 1000 0111 0011

     

     custom board with AM2432 ALX

    Booting is performed using SPI Flash (1S-1S-1S), and the CPU starts up normally.

     

    BOOTMODE is set as follows 15:0 (0001 1000 0001 1011).

     

    At this time, when the main power is turned on, the pulled-up GPO (Y4) will drop automatically.

     

    However, if I set the boot mode to xSPI, it works fine.

     

    BOOTMODE is set as follows 15:0 (0001 1000 0011 1011).

    Refer below assesment by the team

    The AM243x LaunchPad does not have the option to configure secondary bootmode via switch and so any secondary bootmode settings would need to be done with a hardware mod. I don’t believe that secondary bootmode would have any impact on the Y4 pad as the secondary bootmode option of SPI does not make use of any signals muxed on Y4.

     

    “However, if I set the boot mode to xSPI, it works fine. BOOTMODE is set as follows 15:0 (0001 1000 0011 1011).” Note that this bootmode string is for UART primary boot.

     

    • Since there is some potential confusion on bootmode values for primary bootmode settings, it is possible that the customer has the orientation for primary bootmode flipped.
      • I.E. xSPI boot should be B[3:6] = 0111 and the e2e thread cites xSPI boot as 1110 (UART boot)
      • If this is true, the customer is configuring GPMC NOR boot rather than SPI boot
        • In GPMC NOR boot, Y4 is used for GPMC0_A1 which could be holding the signal low despite the external pull up.
        • Karam observed no behavior on Y4 with GPMC NOR boot but we did not have an external pull up on the line.

    Would you able to share the relevant schematics for me to do a quick check.

    Regards,

    Sreenivasa

  • Hello Hideaki

    Please refer additional analysis that has been done internally.

    Erik tested with a 10k Ohm pull-up resistor and saw the pin pulled low at power-up in GPMC NOR mode on his digital analyzer. I confirmed the same on my bench with an oscilloscope. SPI mode showed no activity on the scope, but GPMC NOR mode consistently pulls the signal low shortly after power-up (refer to scope shot images).

     

    Since this occurs only in GPMC boot and not SPI, it’s likely the customer is mistakenly in the wrong boot mode. Given SPI and GPMC configurations are reversed BOOTMODE6:3 (SPI) 0011 vs (GPMC NOR) 1100, we should verify the customer’s boot mode before proceeding.

    We will need the schematics to verify the configuration.

    Regards,

    Sreenivasa

  • Hi Sreenivasa,

    Thank you for confirming Y4 pin on each boot mode. 

    Let me confirm. The following description came from customer's test, not from your test, correct ? 

     custom board with AM2432 ALX

    Booting is performed using SPI Flash (1S-1S-1S), and the CPU starts up normally.

     

    BOOTMODE is set as follows 15:0 (0001 1000 0001 1011).

     

    At this time, when the main power is turned on, the pulled-up GPO (Y4) will drop automatically.

     

    However, if I set the boot mode to xSPI, it works fine.

     

    BOOTMODE is set as follows 15:0 (0001 1000 0011 1011).

    Regards,

    Hideaki

  • Hello Hideaki

    Thank you.

    The description you referenced is under custom board and your assessment is correct.

    custom board with AM2432 ALX

    Booting is performed using SPI Flash (1S-1S-1S), and the CPU starts up normally.

     

    BOOTMODE is set as follows 15:0 (0001 1000 0001 1011).

     

    At this time, when the main power is turned on, the pulled-up GPO (Y4) will drop automatically.

     

    However, if I set the boot mode to xSPI, it works fine.

     

    BOOTMODE is set as follows 15:0 (0001 1000 0011 1011).

    Regards,

    Sreenivasa

  • Hello Hideaki

    Reply from customer.

    I was confusing SPI boot with GPMC NOR boot.

    I didn't notice this because my board still works in GPMC boot mode.

    Thank you for identifying the cause of this issue.

    Regards,

    Sreenivasa