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.

AM5718: Reset issue for custom Board

Part Number: AM5718

Hi,

I have made a custom board based on AM5718. I have 10 of them. In one of the boards , I observe a reset issue.

Issue manifests as follows

1. When I try to boot Linux from SD card it reboots continuously

I have traced in hardware  source for reboot  and it is observed that processor issues RSTOUT_N while booting

2. I am able to connect to device using JTAG and perform DDR read and writes properly

3. I have checked the voltage rails of AM5718 . Rail voltages seems ok.

4. i do not observe this problem on other boards

5. On running code using JTAG, reset causing function is identified as 

----------##########----------

S16 S16_PinMux_Config()

{

    U32 size;

    /* i890: MMC1 IOs and PBIAS Must Be Powered-Up before Isolation:

     * Power-up the MMC1 IOs and PBIAS before starting the Isolation Sequence. This can be

     * done by setting the CTRL_CORE_CONTROL_PBIAS[27] SDCARD_BIAS_PWRDNZ

     * and CTRL_CORE_CONTROL_PBIAS[26] SDCARD_IO_PWRDNZ bits to 1.

     */

    CSL_control_core_padRegs *hCtrlCorePad =

           (CSL_control_core_padRegs *) CSL_MPU_CTRL_MODULE_CORE_CORE_PAD_REGISTERS_REGS;

    U32 regVal = hCtrlCorePad->CONTROL_PBIAS;

    CSL_FINST(regVal, CONTROL_CORE_PAD_CONTROL_PBIAS_SDCARD_BIAS_PWRDNZ, DISABLE);

    CSL_FINST(regVal, CONTROL_CORE_PAD_CONTROL_PBIAS_SDCARD_IO_PWRDNZ, DISABLE);

    hCtrlCorePad->CONTROL_PBIAS = regVal;

 

    /* Check to make sure IO Delay stack and functions are in local memory */

    if (((U32) &ioStack >= 0x80000000) || ((U32)BoardCtrlPadIoDelayConfig >= 0x80000000))

        return BOARD_PINMUX_BAD_MEM_REGION;

 

    size = boardPadGetSize();

 

    asm("STR r13, [%0]\n"::"r"(&ioStack[IO_DELAY_STACK_SIZE-1]));

    asm("MOV r13, %0\n"::"r"(&ioStack[IO_DELAY_STACK_SIZE-2]));

    /* Configure the pinmux and virtual/manual timing modes for all pads. */

    BoardCtrlPadIoDelayConfig(pad, size);

    asm("MOV r13, %0\n"::"r"(ioStack[IO_DELAY_STACK_SIZE-1]));

 

    return SDR_MP_NO_ERROR;

}

----------#########----------

When we call    “ BoardCtrlPadIoDelayConfig(pad, size);” in following code snippet using JTAG, it disconnects from JTAG with following error

 

“CortexA15_0: Error: (Error -1 @ 0x0) Internal error: Invalid error code. Restart the application. If error persists, please report the error. (Emulation package 8.4.0.00006)

CortexA15_0: JTAG Communication Error: (Error -1170 @ 0x0) Unable to access the DAP. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 8.4.0.00006)”

This is the point where AM5718 issues RSTOUT_N.

What could be the issue??