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.

Linux/AM5708: Custom AM5708 boot fails

Part Number: AM5708
Other Parts Discussed in Thread: AM5718, TPS65916

Tool/software: Linux

Hello Experts,

We are trying to boot custom board based on AM5708 but nothing shown in serial console.

All pin mux changes commented and just changed default debug console from UART3 to UART1. Is it only enough to see at least U-Boot banner console?

Thanks,

Gourav

  • Hello Gourav,

    Can you share the details about your DDR and PMIC configuration? Do you have an EEPROM on that board?

    Best regards,
    Kemal
  • Kemal,

    We don't have EEPROM on the board.

    I have pin mux configuration information with us.

    {, (M3 | PIN_OUTPUT_PULLDOWN)}, /* N/A.N/A */
    {GPMC_AD0, (M0 | PIN_INPUT)}, /* gpmc_ad0.gpmc_ad0 */
    {GPMC_AD1, (M0 | PIN_INPUT)}, /* gpmc_ad1.gpmc_ad1 */
    {GPMC_AD2, (M0 | PIN_INPUT)}, /* gpmc_ad2.gpmc_ad2 */
    {GPMC_AD3, (M0 | PIN_INPUT)}, /* gpmc_ad3.gpmc_ad3 */
    {GPMC_AD4, (M0 | PIN_INPUT)}, /* gpmc_ad4.gpmc_ad4 */
    {GPMC_AD5, (M0 | PIN_INPUT)}, /* gpmc_ad5.gpmc_ad5 */
    {GPMC_AD6, (M0 | PIN_INPUT)}, /* gpmc_ad6.gpmc_ad6 */
    {GPMC_AD7, (M0 | PIN_INPUT)}, /* gpmc_ad7.gpmc_ad7 */
    {GPMC_AD8, (M0 | PIN_INPUT)}, /* gpmc_ad8.gpmc_ad8 */
    {GPMC_AD9, (M0 | PIN_INPUT)}, /* gpmc_ad9.gpmc_ad9 */
    {GPMC_AD10, (M0 | PIN_INPUT)}, /* gpmc_ad10.gpmc_ad10 */
    {GPMC_AD11, (M0 | PIN_INPUT)}, /* gpmc_ad11.gpmc_ad11 */
    {GPMC_AD12, (M0 | PIN_INPUT)}, /* gpmc_ad12.gpmc_ad12 */
    {GPMC_AD13, (M0 | PIN_INPUT)}, /* gpmc_ad13.gpmc_ad13 */
    {GPMC_AD14, (M0 | PIN_INPUT)}, /* gpmc_ad14.gpmc_ad14 */
    {GPMC_AD15, (M0 | PIN_INPUT)}, /* gpmc_ad15.gpmc_ad15 */
    {GPMC_A0, (M14 | PIN_OUTPUT)}, /* gpmc_a0.gpmc_a16 */
    {GPMC_A1, (M0 | PIN_OUTPUT)}, /* gpmc_a1.gpmc_a1 */
    {GPMC_A2, (M0 | PIN_OUTPUT)}, /* gpmc_a2.gpmc_a2 */
    {GPMC_A3, (M0 | PIN_OUTPUT)}, /* gpmc_a3.gpmc_a3 */
    {GPMC_A4, (M0 | PIN_OUTPUT)}, /* gpmc_a4.gpmc_a4 */
    {GPMC_A5, (M0 | PIN_OUTPUT)}, /* gpmc_a5.gpmc_a5 */
    {GPMC_A6, (M0 | PIN_OUTPUT)}, /* gpmc_a6.gpmc_a6 */
    {GPMC_A7, (M0 | PIN_OUTPUT)}, /* gpmc_a7.gpmc_a7 */
    {GPMC_A8, (M0 | PIN_OUTPUT)}, /* gpmc_a8.gpmc_a8 */
    {GPMC_A9, (M0 | PIN_OUTPUT)}, /* gpmc_a9.gpmc_a9 */
    {GPMC_A10, (M0 | PIN_OUTPUT)}, /* gpmc_a10.gpmc_a10 */
    {GPMC_A11, (M0 | PIN_OUTPUT)}, /* gpmc_a11.gpmc_a11 */
    {GPMC_A12, (M0 | PIN_OUTPUT)}, /* gpmc_a12.gpmc_a12 */
    {GPMC_A13, (M0 | PIN_OUTPUT)}, /* gpmc_a13.gpmc_a13 */
    {GPMC_A14, (M0 | PIN_OUTPUT)}, /* gpmc_a14.gpmc_a14 */
    {GPMC_A15, (M0 | PIN_OUTPUT)}, /* gpmc_a15.gpmc_a15 */
    {GPMC_A17, (M0 | PIN_OUTPUT)}, /* gpmc_a17.gpmc_a17 */
    {GPMC_A18, (M0 | PIN_OUTPUT)}, /* gpmc_a18.gpmc_a18 */
    {GPMC_A19, (M0 | PIN_OUTPUT)}, /* gpmc_a19.gpmc_a19 */
    {GPMC_A20, (M0 | PIN_OUTPUT)}, /* gpmc_a20.gpmc_a20 */
    {GPMC_A21, (M0 | PIN_OUTPUT)}, /* gpmc_a21.gpmc_a21 */
    {GPMC_A22, (M0 | PIN_OUTPUT)}, /* gpmc_a22.gpmc_a22 */
    {GPMC_A23, (M0 | PIN_OUTPUT)}, /* gpmc_a23.gpmc_a23 */
    {GPMC_A24, (M0 | PIN_OUTPUT)}, /* gpmc_a24.gpmc_a24 */
    {GPMC_A25, (M0 | PIN_OUTPUT)}, /* gpmc_a25.gpmc_a25 */
    {GPMC_A26, (M0 | PIN_OUTPUT)}, /* gpmc_a26.gpmc_a26 */
    {GPMC_A27, (M0 | PIN_OUTPUT)}, /* gpmc_a27.gpmc_a27 */
    {GPMC_CS1, (M0 | PIN_OUTPUT)}, /* gpmc_cs1.gpmc_cs1 */
    {GPMC_CS0, (M0 | PIN_OUTPUT)}, /* gpmc_cs0.gpmc_cs0 */
    {GPMC_CS2, (M0 | PIN_OUTPUT)}, /* gpmc_cs2.gpmc_cs2 */
    {GPMC_CS3, (M0 | PIN_OUTPUT)}, /* gpmc_cs3.gpmc_cs3 */
    {GPMC_CLK, (M8 | PIN_INPUT)}, /* gpmc_clk.i2c3_scl */
    {GPMC_ADVN_ALE, (M8 | PIN_INPUT)}, /* gpmc_advn_ale.i2c3_sda */
    {GPMC_OEN_REN, (M0 | PIN_OUTPUT)}, /* gpmc_oen_ren.gpmc_oen_ren */
    {GPMC_WEN, (M0 | PIN_OUTPUT)}, /* gpmc_wen.gpmc_wen */
    {GPMC_BEN0, (M0 | PIN_OUTPUT)}, /* gpmc_ben0.gpmc_ben0 */
    {GPMC_BEN1, (M0 | PIN_OUTPUT)}, /* gpmc_ben1.gpmc_ben1 */
    {GPMC_WAIT0, (M0 | PIN_INPUT_PULLUP | SLEWCONTROL)}, /* gpmc_wait0.gpmc_wait0 */
    {VIN2A_VSYNC0, (M14 | PIN_INPUT_PULLUP)}, /* vin2a_vsync0.gpio4_0 */
    {VIN2A_D0, (M11 | PIN_INPUT)}, /* vin2a_d0.pr1_uart0_rxd */
    {VIN2A_D1, (M11 | PIN_OUTPUT)}, /* vin2a_d1.pr1_uart0_txd */
    {VIN2A_D4, (M14 | PIN_INPUT_PULLUP)}, /* vin2a_d4.gpio4_5 */
    {VIN2A_D5, (M14 | PIN_INPUT_PULLUP)}, /* vin2a_d5.gpio4_6 */
    {VIN2A_D6, (M14 | PIN_INPUT_PULLUP)}, /* vin2a_d6.gpio4_7 */
    {VIN2A_D7, (M14 | PIN_INPUT_PULLUP)}, /* vin2a_d7.gpio4_8 */
    {VIN2A_D8, (M14 | PIN_OUTPUT_PULLUP)}, /* vin2a_d8.gpio4_9 */
    {VIN2A_D9, (M14 | PIN_OUTPUT_PULLUP)}, /* vin2a_d9.gpio4_10 */
    {VIN2A_D10, (M3 | PIN_OUTPUT)}, /* vin2a_d10.mdio_mclk */
    {VIN2A_D11, (M3 | PIN_INPUT)}, /* vin2a_d11.mdio_d */
    {VIN2A_D12, (M14 | PIN_OUTPUT_PULLUP)}, /* vin2a_d12.gpio4_13 */
    {VIN2A_D13, (M14 | PIN_OUTPUT_PULLUP)}, /* vin2a_d13.gpio4_14 */
    {VIN2A_D14, (M14 | PIN_INPUT_PULLUP)}, /* vin2a_d14.gpio4_15 */
    {VIN2A_D15, (M14 | PIN_INPUT_PULLUP)}, /* vin2a_d15.gpio4_16 */
    {VIN2A_D16, (M14 | PIN_INPUT_PULLUP)}, /* vin2a_d16.gpio4_24 */
    {VIN2A_D17, (M14 | PIN_INPUT_PULLUP)}, /* vin2a_d17.gpio4_25 */
    {VIN2A_D18, (M14 | PIN_INPUT_PULLUP)}, /* vin2a_d18.gpio4_26 */
    {VIN2A_D19, (M14 | PIN_INPUT_PULLUP)}, /* vin2a_d19.gpio4_27 */
    {VIN2A_D20, (M14 | PIN_INPUT_PULLUP)}, /* vin2a_d20.gpio4_28 */
    {VIN2A_D21, (M14 | PIN_INPUT_PULLUP)}, /* vin2a_d21.gpio4_29 */
    {VIN2A_D22, (M14 | PIN_INPUT_PULLUP)}, /* vin2a_d22.gpio4_30 */
    {VIN2A_D23, (M14 | PIN_INPUT_PULLUP)}, /* vin2a_d23.gpio4_31 */
    {MDIO_MCLK, (M3 | PIN_INPUT | SLEWCONTROL)}, /* mdio_mclk.mii0_col */
    {MDIO_D, (M3 | PIN_OUTPUT | SLEWCONTROL)}, /* mdio_d.mii0_txer */
    {RMII_MHZ_50_CLK, (M14 | PIN_INPUT_PULLUP)}, /* RMII_MHZ_50_CLK.gpio5_17 */
    {UART3_RXD, (M3 | PIN_INPUT | SLEWCONTROL)}, /* uart3_rxd.mii0_rxdv */
    {UART3_TXD, (M3 | PIN_INPUT | SLEWCONTROL)}, /* uart3_txd.mii0_rxclk */
    {RGMII0_TXC, (M3 | PIN_INPUT)}, /* rgmii0_txc.mii0_rxd3 */
    {RGMII0_TXCTL, (M3 | PIN_INPUT)}, /* rgmii0_txctl.mii0_rxd2 */
    {RGMII0_TXD3, (M3 | PIN_INPUT)}, /* rgmii0_txd3.mii0_crs */
    {RGMII0_TXD2, (M3 | PIN_INPUT)}, /* rgmii0_txd2.mii0_rxer */
    {RGMII0_TXD1, (M3 | PIN_INPUT)}, /* rgmii0_txd1.mii0_rxd1 */
    {RGMII0_TXD0, (M3 | PIN_INPUT)}, /* rgmii0_txd0.mii0_rxd0 */
    {RGMII0_RXC, (M3 | PIN_INPUT)}, /* rgmii0_rxc.mii0_txclk */
    {RGMII0_RXCTL, (M3 | PIN_OUTPUT)}, /* rgmii0_rxctl.mii0_txd3 */
    {RGMII0_RXD3, (M3 | PIN_OUTPUT)}, /* rgmii0_rxd3.mii0_txd2 */
    {RGMII0_RXD2, (M3 | PIN_OUTPUT)}, /* rgmii0_rxd2.mii0_txen */
    {RGMII0_RXD1, (M3 | PIN_OUTPUT)}, /* rgmii0_rxd1.mii0_txd1 */
    {RGMII0_RXD0, (M3 | PIN_OUTPUT)}, /* rgmii0_rxd0.mii0_txd0 */
    {GPIO6_14, (M3 | PIN_INPUT)}, /* gpio6_14.uart10_rxd */
    {GPIO6_15, (M3 | PIN_OUTPUT)}, /* gpio6_15.uart10_txd */
    {XREF_CLK0, (M11 | PIN_INPUT)}, /* xref_clk0.pr2_mii1_col */
    {XREF_CLK1, (M11 | PIN_INPUT)}, /* xref_clk1.pr2_mii1_crs */
    {MCASP1_ACLKX, (M11 | PIN_OUTPUT)}, /* mcasp1_aclkx.pr2_mdio_mdclk */
    {MCASP1_FSX, (M11 | PIN_INPUT | SLEWCONTROL)}, /* mcasp1_fsx.pr2_mdio_data */
    {MCASP1_ACLKR, (M14 | PIN_INPUT_PULLUP)}, /* mcasp1_aclkr.gpio5_0 */
    {MCASP1_FSR, (M14 | PIN_INPUT_PULLUP)}, /* mcasp1_fsr.gpio5_1 */
    {MCASP1_AXR0, (M11 | PIN_INPUT | SLEWCONTROL)}, /* mcasp1_axr0.pr2_mii0_rxer */
    {MCASP1_AXR1, (M11 | PIN_INPUT | SLEWCONTROL)}, /* mcasp1_axr1.pr2_mii_mt0_clk */
    {MCASP1_AXR2, (M14 | PIN_INPUT_PULLUP)}, /* mcasp1_axr2.gpio5_4 */
    {MCASP1_AXR3, (M14 | PIN_INPUT_PULLUP)}, /* mcasp1_axr3.gpio5_5 */
    {MCASP1_AXR4, (M14 | PIN_INPUT_PULLUP)}, /* mcasp1_axr4.gpio5_6 */
    {MCASP1_AXR5, (M14 | PIN_INPUT_PULLUP)}, /* mcasp1_axr5.gpio5_7 */
    {MCASP1_AXR6, (M14 | PIN_INPUT_PULLUP)}, /* mcasp1_axr6.gpio5_8 */
    {MCASP1_AXR7, (M14 | PIN_INPUT_PULLUP)}, /* mcasp1_axr7.gpio5_9 */
    {MCASP1_AXR8, (M11 | PIN_OUTPUT | SLEWCONTROL)}, /* mcasp1_axr8.pr2_mii0_txen */
    {MCASP1_AXR9, (M11 | PIN_OUTPUT | SLEWCONTROL)}, /* mcasp1_axr9.pr2_mii0_txd3 */
    {MCASP1_AXR10, (M11 | PIN_OUTPUT | SLEWCONTROL)}, /* mcasp1_axr10.pr2_mii0_txd2 */
    {MCASP1_AXR11, (M11 | PIN_OUTPUT | SLEWCONTROL)}, /* mcasp1_axr11.pr2_mii0_txd1 */
    {MCASP1_AXR12, (M11 | PIN_OUTPUT | SLEWCONTROL)}, /* mcasp1_axr12.pr2_mii0_txd0 */
    {MCASP1_AXR13, (M11 | PIN_INPUT | SLEWCONTROL)}, /* mcasp1_axr13.pr2_mii_mr0_clk */
    {MCASP1_AXR14, (M11 | PIN_INPUT | SLEWCONTROL)}, /* mcasp1_axr14.pr2_mii0_rxdv */
    {MCASP1_AXR15, (M11 | PIN_INPUT | SLEWCONTROL)}, /* mcasp1_axr15.pr2_mii0_rxd3 */
    {MCASP2_ACLKX, (M11 | PIN_INPUT)}, /* mcasp2_aclkx.pr2_mii0_rxd2 */
    {MCASP2_FSX, (M11 | PIN_INPUT | SLEWCONTROL)}, /* mcasp2_fsx.pr2_mii0_rxd1 */
    {MCASP2_AXR2, (M11 | PIN_INPUT | SLEWCONTROL)}, /* mcasp2_axr2.pr2_mii0_rxd0 */
    {MCASP2_AXR4, (M14 | PIN_INPUT_PULLUP)}, /* mcasp2_axr4.gpio1_4 */
    {MCASP2_AXR7, (M14 | PIN_INPUT_PULLUP)}, /* mcasp2_axr7.gpio1_5 */
    {MCASP3_ACLKX, (M11 | PIN_INPUT)}, /* mcasp3_aclkx.pr2_mii0_crs */
    {MCASP3_FSX, (M11 | PIN_INPUT | SLEWCONTROL)}, /* mcasp3_fsx.pr2_mii0_col */
    {MCASP3_AXR0, (M11 | PIN_INPUT | SLEWCONTROL)}, /* mcasp3_axr0.pr2_mii1_rxer */
    {MCASP5_AXR0, (M4 | PIN_INPUT)}, /* mcasp5_axr0.uart3_rxd */
    {MCASP5_AXR1, (M4 | PIN_OUTPUT)}, /* mcasp5_axr1.uart3_txd */
    {MMC1_CLK, (M0 | PIN_INPUT_PULLUP)}, /* mmc1_clk.mmc1_clk */
    {MMC1_CMD, (M0 | PIN_INPUT_PULLUP)}, /* mmc1_cmd.mmc1_cmd */
    {MMC1_DAT0, (M0 | PIN_INPUT_PULLUP)}, /* mmc1_dat0.mmc1_dat0 */
    {MMC1_DAT1, (M0 | PIN_INPUT_PULLUP)}, /* mmc1_dat1.mmc1_dat1 */
    {MMC1_DAT2, (M0 | PIN_INPUT_PULLUP)}, /* mmc1_dat2.mmc1_dat2 */
    {MMC1_DAT3, (M0 | PIN_INPUT_PULLUP)}, /* mmc1_dat3.mmc1_dat3 */
    {MMC1_SDCD, (M0 | PIN_INPUT_PULLUP | SLEWCONTROL)}, /* mmc1_sdcd.mmc1_sdcd */
    {MMC1_SDWP, (M0 | PIN_INPUT | SLEWCONTROL)}, /* mmc1_sdwp.mmc1_sdwp */
    {GPIO6_10, (M11 | PIN_INPUT)}, /* gpio6_10.pr2_mii_mt1_clk */
    {GPIO6_11, (M11 | PIN_OUTPUT)}, /* gpio6_11.pr2_mii1_txen */
    {MMC3_CLK, (M11 | PIN_OUTPUT)}, /* mmc3_clk.pr2_mii1_txd3 */
    {MMC3_CMD, (M11 | PIN_OUTPUT)}, /* mmc3_cmd.pr2_mii1_txd2 */
    {MMC3_DAT0, (M11 | PIN_OUTPUT)}, /* mmc3_dat0.pr2_mii1_txd1 */
    {MMC3_DAT1, (M11 | PIN_OUTPUT)}, /* mmc3_dat1.pr2_mii1_txd0 */
    {MMC3_DAT2, (M11 | PIN_INPUT)}, /* mmc3_dat2.pr2_mii_mr1_clk */
    {MMC3_DAT3, (M11 | PIN_INPUT)}, /* mmc3_dat3.pr2_mii1_rxdv */
    {MMC3_DAT4, (M11 | PIN_INPUT)}, /* mmc3_dat4.pr2_mii1_rxd3 */
    {MMC3_DAT5, (M11 | PIN_INPUT)}, /* mmc3_dat5.pr2_mii1_rxd2 */
    {MMC3_DAT6, (M11 | PIN_INPUT)}, /* mmc3_dat6.pr2_mii1_rxd1 */
    {MMC3_DAT7, (M11 | PIN_INPUT)}, /* mmc3_dat7.pr2_mii1_rxd0 */
    {SPI1_SCLK, (M0 | PIN_OUTPUT)}, /* spi1_sclk.spi1_sclk */
    {SPI1_D1, (M0 | PIN_OUTPUT)}, /* spi1_d1.spi1_d1 */
    {SPI1_D0, (M0 | PIN_INPUT)}, /* spi1_d0.spi1_d0 */
    {SPI1_CS0, (M0 | PIN_OUTPUT)}, /* spi1_cs0.spi1_cs0 */
    {SPI1_CS2, (M4 | PIN_OUTPUT | SLEWCONTROL)}, /* spi1_cs2.dcan2_tx */
    {SPI1_CS3, (M15 | PIN_INPUT)}, /* spi1_cs3.dcan2_rx */
    {DCAN1_TX, (M14 | PIN_INPUT_PULLUP | SLEWCONTROL)}, /* dcan1_tx.gpio1_14 */
    {DCAN1_RX, (M14 | PIN_INPUT_PULLUP | SLEWCONTROL)}, /* dcan1_rx.gpio1_15 */
    {UART1_RXD, (M0 | PIN_INPUT | SLEWCONTROL)}, /* uart1_rxd.uart1_rxd */
    {UART1_TXD, (M0 | PIN_OUTPUT | SLEWCONTROL)}, /* uart1_txd.uart1_txd */
    {UART1_CTSN, (M0 | PIN_INPUT)}, /* uart1_ctsn.uart1_ctsn */
    {UART1_RTSN, (M0 | PIN_OUTPUT)}, /* uart1_rtsn.uart1_rtsn */
    {UART2_RXD, (M5 | PIN_INPUT)}, /* uart2_rxd.uart1_dcdn */
    {UART2_CTSN, (M14 | PIN_INPUT_PULLUP)}, /* uart2_ctsn.gpio1_16 */
    {UART2_RTSN, (M14 | PIN_INPUT_PULLUP)}, /* uart2_rtsn.gpio1_17 */
    {I2C1_SDA, (M0 | PIN_INPUT)}, /* i2c1_sda.i2c1_sda */
    {I2C1_SCL, (M0 | PIN_INPUT)}, /* i2c1_scl.i2c1_scl */
    {I2C2_SDA, (M0 | PIN_INPUT)}, /* i2c2_sda.i2c2_sda */
    {I2C2_SCL, (M0 | PIN_INPUT)}, /* i2c2_scl.i2c2_scl */
    {WAKEUP0, (M14 | PIN_INPUT_PULLUP)}, /* Wakeup0.gpio1_0 */
    {WAKEUP3, (M14 | PIN_INPUT_PULLUP)}, /* Wakeup3.gpio1_3 */

    Thanks,
    Gourav
  • Can you share the information about your DDR and PMIC configuration? We need to select the proper DDR and PMIC settings in U-Boot suitably.
  • Kemal,

    We are using TPS65916 as PMIC and same DDR configurations as AM5718 IDK.

    Thanks,
    Gourav

  • You need to apply this patch to see the messages from U-Boot console.

    cd <Processor SDK>/board-support/u-boot-<version>/
    git apply 0001-AM57xx-Setup-board-name-to-AM571IDK-if-EEPROM-init-f.patch

  • Thanks Kemal,

    We already hardcoded the stuff to make detect custom board as "AM571 IDK" similar to your shared patch.

    From my understanding When trying to boot with SD card, to get boot logs at least initial u-boot banner on console we need proper
    1. DDR configurations
    2. MMC configurations
    3. Debug console(UART) configurations.
    is it right? or do we need to stretch on any other configs?

    We tried to debug u-boot with CCS and JTAG. Loaded u-boot-spl and u-boot-spl.bin binaries with debug symbols to Custom board and started debug session by activating "Run in Line" debug option in disassembly view. Here we expected debug logs on console but unlucky.

    If we think issue with either DDR or MMC configurations while booting with SD card, at least it should work with CCS and JTAG debug session and throw some log on console as in this case no need of DDR and MMC configs.

    Note: In custom board default debug console assigned with UART1. In AM5718 IDK we verified debug console related code changes to get logs on UART1 instead of default UART3 by h/w changes on AM5718 IDK.

    Thanks,
    Gourav
  • gourav roy said:
    1. DDR configurations
    2. MMC configurations
    3. Debug console(UART) configurations.


    Yes, make sure that your DDR configurations are correct, you have the proper MMC and UART pinmux in <Processor SDK>/board-support/u-boot-<version>/board/ti/am57xx/mux_data.h, <Processor SDK>/board-support/u-boot-<version>/arch/arm/dts/dra72x-mmc-iodelay.dtsi, <Processor SDK>/board-support/u-boot-<version>/arch/arm/dts/am571x-idk.dts and you have the &uart1 status = "okay"; and the stdout-path in chosen node in <Processor SDK>/board-support/u-boot-<version>/arch/arm/dts/am57xx-idk-common.dtsi is set to &uart1 and have the &uart1 node in <Processor SDK>/board-support/u-boot-<version>/arch/arm/dts/omap5-u-boot.dtsi populated with this content.

    &uart1 {
        u-boot,dm-spl;
        reg-shift = <2>;
    };
  • Hello Gourav,

    Was you able to bring up your board?

    Best regards,
    Kemal
  • Hello Kemal,

    I am still unable to bringup the board.

    To understand the complete boot sequence i tried to debug using CCS and JTAG by loading u-boot-spl.bin and u-boot-spl to SRAM on both custom board based on AM5708 and AM5718 IDK.

    In AM5718 IDK i am able to see initial boot banner
    "U-Boot SPL 2018.01-gcdb1cc0a9e (Oct 06 2018 - 08:46:44)
    DRA722-GP ES2.0"

    In custom board i tried to debug by setting break points but at some point it is throwing like "unable to find source for do_fat_write" in the board_init_r function. I don't have any clue from where do_fat_write triggered.

    Do we need to consider any other modifications at least to print boot banner on console.

    Thanks,
    Gourav
  • Can you #define DEBUG line in the very beginning of the <Processor SDK>/board-support/u-boot-<version>/include/configs/am57xx_evm.h file and see if this change will print something on the console? You can refer to the attached patch in this post, where I have changed the debug prints from UART3 to UART9 and make sure that you have made all the necessary modifications to reroute the debug prints in your board from UART3 to UART1.

  • Hello Kemal,

    We were able to up the board up to u-boot and got u-boot logs on console. Issue is not related to UART muxing and clock settings.

    Before going to invoke serial_init(for console settings and initialization) board hung up due to improper configurations in boot up sequence.

    Thanks,
    Gourav
  • Hi Kemal,

    We loaded SPL to the custom board from CCS-JTAG and SPL is able to pick the u-boot image present in sd card and we clearly see board halted at u-boot prompt.

    But not able to up the board when tried to boot completely with SD card(MLO and u-boot.img).

    Could you please let me know what are the things may wrong for this behavior.

    Thanks,
    Gourav
  • Sounds like the MMC in your board is not selected as first boot device. What are your SYSBOOT settings? Is the MMC selected as first boot device?
  • Thanks Kemal for your support. Now we are able to up the board up to u-boot by using SD card.

    During JTAG debugging we hard coded parameters related to configuration header this causing issue. We resolved this by making MLO read configuration header from ROM code by removing hard coded values.

    Thanks,
    Gourav
  • I'm glad to hear that you were able to resolve this issue.