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.

AM5728: AM5728 :SD u-boot issue

Part Number: AM5728
Other Parts Discussed in Thread: BEAGLEBOARD-X15, PMP

Hi

We are not able to boot properly Custom Board based on am5728 from sd card.

we are getting Board: UNKNOWN(BeagleBoard X15?) REV UNKNOWN

U-Boot SPL 2021.01-00003-g16d964ac27-dirty (Dec 16 2023 - 20:17:00 +0530)
DRA752-GP ES2.0

U-Boot 2021.01-00003-g16d964ac27-dirty (Dec 16 2023 - 20:17:00 +0530)

CPU : DRA752-GP ES2.0
Model: TI AM5728 BeagleBoard-X15
Board: UNKNOWN(BeagleBoard X15?) REV UNKNOWN
DRAM: 2 GiB
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1

Net: Could not get PHY for ethernet@48484000: addr 1
eth2: ethernet@48484000
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
Failed to load 'boot.scr'
347 bytes read in 10 ms (33.2 KiB/s).

i check out following forum cases but not able get proper.

e2e.ti.com/.../am5728-u-boot-error-on-custom-board

  • also why this U-Boot SPL 2021.01-00003-g16d964ac27-dirty (specifically -dirty ) is coming?

  • Hi,

    Dirty typically comes up when you have some non committed changes in the guy repository.

    Also which SDK version are you using?

    Share the full logs. Are you able to get to U-Boot prompt?

    Best Regards,

    Keerthy 

  • this SDK version I'm using:

    ti-processor-sdk-linux-am57xx-evm-08_02_01_00/board-support/u-boot-2021.01+gitAUTOINC+44a87e3ab8-g44a87e3ab8

    Yes I can see the U-boot prompt as well.

    U-Boot SPL 2021.01-00003-g16d964ac27-dirty (Dec 19 2023 - 12:44:06 +0530)
    DRA752-GP ES2.0
    Trying to boot from MMC1
    Loading Environment from FAT... OK


    U-Boot 2021.01-00003-g16d964ac27-dirty (Dec 19 2023 - 12:44:06 +0530)

    CPU : DRA752-GP ES2.0
    Model: TI AM5728 IDK
    Board: UNKNOWN(BeagleBoard X15?) REV UNKNOWN
    DRAM: 2 GiB
    MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
    Loading Environment from FAT... OK
    Net: Could not get PHY for ethernet@48484000: addr 1
    eth2: ethernet@48484000
    Hit any key to stop autoboot: 0
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    Failed to load 'boot.scr'
    347 bytes read in 10 ms (33.2 KiB/s)
    Loaded env from uEnv.txt
    Importing environment from mmc0 ...
    Running uenvcmd ...
    32657816 bytes read in 1415 ms (22 MiB/s)
    5186624 bytes read in 233 ms (21.2 MiB/s)
    ## Starting application at 0x84100000 ...
    prefetch abort
    pc : [<00000140>] lr : [<841002f4>]
    reloc pc : [<8189d140>] lr : [<0599d2f4>]
    sp : 4037fd28 ip : 00000000 fp : 840ffff8
    r10: fefe4f10 r9 : fcf42ed0 r8 : 00000002
    r7 : 0003c07b r6 : 40300000 r5 : 4037f064 r4 : 00000001
    r3 : 00000004 r2 : 00000198 r1 : 80800041 r0 : 00000001
    Flags: nzcv IRQs off FIQs off Mode SVC_32 (T)
    Code: 0000 0000 0000 0000 (0000) 0000
    Resetting CPU ...

    resetting ...

    but its working with old u-boot version which is

    u-boot-2016.05+gitAUTOINC+2f757e5b2c-g2f757e5b2c

    below log is for old u-boot version

    U-Boot SPL 2016.05-00118-gdd926c6000-dirty (Dec 18 2023 - 18:34:54)
    DRA752-GP ES2.0
    Trying to boot from MMC1
    reading args
    spl_load_image_fat_os: error reading image args, err - -1
    reading u-boot.img
    reading u-boot.img
    reading u-boot.img
    reading u-boot.img


    U-Boot 2016.05-00118-gdd926c6000-dirty (Dec 18 2023 - 18:34:54 +0530)

    CPU : DRA752-GP ES2.0
    Model: TI AM5728 IDK
    Board: AM572x IDK REV <NULL>
    DRAM: 2 GiB
    MMC: no pinctrl for sdr104
    no pinctrl for ddr50
    no pinctrl for sdr50
    no pinctrl for sdr25
    no pinctrl for sdr12
    OMAP SD/MMC: 0, OMAP SD/MMC: 1
    reading uboot.env
    *** Warning - bad CRC, using default environment

    I2C chip 50: requested alen 2 does not match chip offset_len 1
    SCSI: SATA link 0 timeout.
    AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
    flags: 64bit ncq stag pm led clo only pmp pio slum part ccc apst
    scanning bus for devices...
    Found 0 device(s).
    Net: <ethaddr> not set. Validating first E-fuse MAC
    cpsw
    Hit any key to stop autoboot: 0
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    reading boot.scr
    ** Unable to read file boot.scr **
    reading uEnv.txt
    347 bytes read in 3 ms (112.3 KiB/s)
    Loaded env from uEnv.txt
    Importing environment from mmc0 ...
    Running uenvcmd ...
    reading vxWorks.bin

  • How to avoid  that "Dirty" suffix word (does that affects on functionality?)

  • Hi,

    In the U-Boot repository there are uncommitted changes. You can check using the below command:

    git diff

    - Keerthy

  • git diff

    Can you share the output of the above command from U-Boot repository of your SDK?

    Best Regards,

    Keerthy

  • diff --git a/arch/arm/dts/am57xx-beagle-x15.dts b/arch/arm/dts/am57xx-beagle-x15.dts
    index 8d9bdf10a7..a16cc152a9 100644
    --- a/arch/arm/dts/am57xx-beagle-x15.dts
    +++ b/arch/arm/dts/am57xx-beagle-x15.dts
    @@ -10,7 +10,9 @@
     
     / {
            /* NOTE: This describes the "original" pre-production A2 revision */
    -       model = "TI AM5728 BeagleBoard-X15";
    +       /*model = "TI AM5728 BeagleBoard-X15";*/
    +       model = "BeagleBoard-X15";
    +       
     };
     
     &tpd12s015 {
    diff --git a/arch/arm/mach-omap2/emif-common.c b/arch/arm/mach-omap2/emif-common.c
    index 312f868fbc..4764a1e4c4 100644
    --- a/arch/arm/mach-omap2/emif-common.c
    +++ b/arch/arm/mach-omap2/emif-common.c
    @@ -1448,7 +1448,7 @@ void dmm_init(u32 base)
             * memory is mapped on it. Using emif1_enabled
             * and emif2_enabled variables for this.
             */
    -       emif1_enabled = 0;
    +       emif1_enabled = 1;
            emif2_enabled = 0;
            for (i = 0; i < 4; i++) {
                    section = __raw_readl(DMM_BASE + i*4);
    diff --git a/arch/arm/mach-omap2/omap5/hw_data.c b/arch/arm/mach-omap2/omap5/hw_data.c
    index e6bee48dfc..6afe565342 100644
    --- a/arch/arm/mach-omap2/omap5/hw_data.c
    +++ b/arch/arm/mach-omap2/omap5/hw_data.c
    @@ -849,13 +849,22 @@ void __weak hw_data_init(void)
            *dplls_data = &dra72x_dplls;
            *ctrl = &dra7xx_ctrl;
            break;
    -
            default:
                    printf("\n INVALID OMAP REVISION ");
            }
     }
    -
    -void get_ioregs(const struct ctrl_ioregs **regs)
    +/*Newly added as per recommended
    + * I/O Settings*/
    +//const struct ctrl_ioregs AM572x_DDR3L_532MHz_TI_AM572x_IDK_ctrl_ioregs = {
    +//     .ctrl_ddr3ch = 0x80808080,
    +//     .ctrl_ddrch = 0x40404040,
    +//     .ctrl_ddrio_0 = 0x00094A40,
    +//     .ctrl_ddrio_1 = 0x04A52000,
    +//     .ctrl_lpddr2ch = 0x00404000,
    +//     .ctrl_emif_sdram_config_ext = 0x0000C123
    +//};
    +void __weak get_ioregs(const struct ctrl_ioregs **regs)// changed
    +//void get_ioregs(const struct ctrl_ioregs **regs)
     {
            u32 omap_rev = omap_revision();
     
    diff --git a/board/ti/am57xx/board.c b/board/ti/am57xx/board.c
    index c7231d183c..5f2d81dde6 100644
    --- a/board/ti/am57xx/board.c
    +++ b/board/ti/am57xx/board.c
    @@ -5,7 +5,7 @@
      * Author: Felipe Balbi <balbi@ti.com>
      *
      * Based on board/ti/dra7xx/evm.c
    - */
    + **/
     
     #include <common.h>
     #include <env.h>
    @@ -43,7 +43,7 @@
     
     #include "../common/board_detect.h"
     #include "mux_data.h"
    -
    +//#define board_is_am572x_idk()                1
     #ifdef CONFIG_SUPPORT_EMMC_BOOT
     static int board_bootmode_has_emmc(void);
     #endif
    @@ -93,6 +93,135 @@ DECLARE_GLOBAL_DATA_PTR;
     #define TPS65903X_PRIMARY_SECONDARY_PAD2       0xFB
     #define TPS65903X_PAD2_POWERHOLD_MASK          0x20
     
    +
    +/**Added Extra s per EMIF tool ****************/
    +/*I / O setting a*/
    +const struct ctrl_ioregs AM572x_DDR3L_532MHz_TI_AM572x_IDK_ctrl_ioregs = {
    +       .ctrl_ddr3ch = 0x80808080,
    +       .ctrl_ddrch = 0x40404040,
    +       .ctrl_ddrio_0 = 0x00094A40,
    +       .ctrl_ddrio_1 = 0x04A52000,
    +       .ctrl_lpddr2ch = 0x00404000,
    +       .ctrl_emif_sdram_config_ext = 0x0000C123
    +};
    +void get_ioregs(const struct ctrl_ioregs **regs)
    +{
    +       *regs = &AM572x_DDR3L_532MHz_TI_AM572x_IDK_ctrl_ioregs;
    +}
    +/*Lisa register configuration */
    +const struct dmm_lisa_map_regs AM572x_DDR3L_532MHz_TI_AM572x_IDK_dmm_regs = {
    +       .dmm_lisa_map_0 = 0x00000000,
    +       .dmm_lisa_map_1 = 0x00000000,
    +       .dmm_lisa_map_2 = 0x80700100,
    +       .dmm_lisa_map_3 = 0xFF020100,
    +       .is_ma_present = 0x1
    +};
    +
    +/*EMIF Registers*/
    +const struct emif_regs AM572x_DDR3L_532MHz_TI_AM572x_IDK_emif_regs = {
    +           .sdram_config_init = 0x61851BB2,
    +           .sdram_config = 0x61851BB2,
    +           .sdram_config2 = 0x00000000,
    +           .ref_ctrl = 0x000040F1,
    +           .ref_ctrl_final = 0x00001035,
    +           .sdram_tim1 = 0xCEEF2663,
    +           .sdram_tim2 = 0x30BF7FDA,
    +           .sdram_tim3 = 0x407F8BA8,
    +           .read_idle_ctrl = 0x00050000,
    +           .zq_config = 0x5007190B,
    +           .temp_alert_config = 0x00000000,
    +           .emif_rd_wr_lvl_rmp_ctl = 0x80000000,
    +           .emif_rd_wr_lvl_ctl = 0x00000000,
    +           .emif_ddr_phy_ctlr_1_init = 0x0024400B,
    +           .emif_ddr_phy_ctlr_1 = 0x0E24400B,
    +           .emif_rd_wr_exec_thresh = 0x00000305,
    +
    +//         .emif_ecc_ctrl_reg = 0x00000000,
    +//         .emif_ecc_address_range_1 = 0x3FFF0000,
    +//         .emif_ecc_address_range_2 = 0x00000000,
    +
    +//     .emif_ecc_ctrl_reg = 0x00000000,
    +//     .emif_ecc_address_range_1 = 0x3FFF0000,
    +//     .emif_ecc_address_range_2 = 0x00000000,
    +
    +};
    +
    +/*EMIF1 phy config*/
    +const unsigned int AM572x_DDR3L_532MHz_TI_AM572x_IDK_emif1_ext_phy_regs [] = {
    +           0x04040100, /* EMIF1_EXT_PHY_CTRL_1 */
    +           0x006B0086, /* EMIF1_EXT_PHY_CTRL_2 */
    +           0x006B0087, /* EMIF1_EXT_PHY_CTRL_3 */
    +           0x006B0092, /* EMIF1_EXT_PHY_CTRL_4 */
    +           0x006B0091, /* EMIF1_EXT_PHY_CTRL_5 */
    +           0x006B006B, /* EMIF1_EXT_PHY_CTRL_6 */
    +           0x00320032, /* EMIF1_EXT_PHY_CTRL_7 */
    +           0x00320032, /* EMIF1_EXT_PHY_CTRL_8 */
    +           0x00320032, /* EMIF1_EXT_PHY_CTRL_9 */
    +           0x00320032, /* EMIF1_EXT_PHY_CTRL_10 */
    +           0x00320032, /* EMIF1_EXT_PHY_CTRL_11 */
    +           0x00600067, /* EMIF1_EXT_PHY_CTRL_12 */
    +           0x00600067, /* EMIF1_EXT_PHY_CTRL_13 */
    +           0x00600068, /* EMIF1_EXT_PHY_CTRL_14 */
    +           0x00600069, /* EMIF1_EXT_PHY_CTRL_15 */
    +           0x00600060, /* EMIF1_EXT_PHY_CTRL_16 */
    +           0x00400047, /* EMIF1_EXT_PHY_CTRL_17 */
    +           0x00400047, /* EMIF1_EXT_PHY_CTRL_18 */
    +           0x00400048, /* EMIF1_EXT_PHY_CTRL_19 */
    +           0x00400049, /* EMIF1_EXT_PHY_CTRL_20 */
    +           0x00400040, /* EMIF1_EXT_PHY_CTRL_21 */
    +           0x00800080, /* EMIF1_EXT_PHY_CTRL_22 */
    +           0x00800080, /* EMIF1_EXT_PHY_CTRL_23 */
    +           0x40010080, /* EMIF1_EXT_PHY_CTRL_24 */
    +           0x08102040, /* EMIF1_EXT_PHY_CTRL_25 */
    +           0x00000076, /* EMIF1_EXT_PHY_CTRL_26 */
    +           0x00000077, /* EMIF1_EXT_PHY_CTRL_27 */
    +           0x00000082, /* EMIF1_EXT_PHY_CTRL_28 */
    +           0x00000081, /* EMIF1_EXT_PHY_CTRL_29 */
    +           0x00000000, /* EMIF1_EXT_PHY_CTRL_30 */
    +           0x00000037, /* EMIF1_EXT_PHY_CTRL_31 */
    +           0x00000037, /* EMIF1_EXT_PHY_CTRL_32 */
    +           0x00000038, /* EMIF1_EXT_PHY_CTRL_33 */
    +           0x00000039, /* EMIF1_EXT_PHY_CTRL_34 */
    +           0x00000000, /* EMIF1_EXT_PHY_CTRL_35 */
    +           0x00000077  /* EMIF1_EXT_PHY_CTRL_36 */
    +//     0x04040100,     /* EMIF1_EXT_PHY_CTRL_1 */
    +//     0x006B0086,     /* EMIF1_EXT_PHY_CTRL_2 */
    +//     0x006B0087,     /* EMIF1_EXT_PHY_CTRL_3 */
    +//     0x006B0092,     /* EMIF1_EXT_PHY_CTRL_4 */
    +//     0x006B0091,     /* EMIF1_EXT_PHY_CTRL_5 */
    +//     0x006B006B,     /* EMIF1_EXT_PHY_CTRL_6 */
    +//     0x00320032,     /* EMIF1_EXT_PHY_CTRL_7 */
    +//     0x00320032,     /* EMIF1_EXT_PHY_CTRL_8 */
    +//     0x00320032,     /* EMIF1_EXT_PHY_CTRL_9 */
    +//     0x00320032,     /* EMIF1_EXT_PHY_CTRL_10 */
    +//     0x00320032,     /* EMIF1_EXT_PHY_CTRL_11 */
    +//     0x00600067,     /* EMIF1_EXT_PHY_CTRL_12 */
    +//     0x00600067,     /* EMIF1_EXT_PHY_CTRL_13 */
    +//     0x00600068,     /* EMIF1_EXT_PHY_CTRL_14 */
    +//     0x00600069,     /* EMIF1_EXT_PHY_CTRL_15 */
    +//     0x00600060,     /* EMIF1_EXT_PHY_CTRL_16 */
    +//     0x00400047,     /* EMIF1_EXT_PHY_CTRL_17 */
    +//     0x00400047,     /* EMIF1_EXT_PHY_CTRL_18 */
    +//     0x00400048,     /* EMIF1_EXT_PHY_CTRL_19 */
    +//     0x00400049,     /* EMIF1_EXT_PHY_CTRL_20 */
    +//     0x00400040,     /* EMIF1_EXT_PHY_CTRL_21 */
    +//     0x00800080,     /* EMIF1_EXT_PHY_CTRL_22 */
    +//     0x00800080,     /* EMIF1_EXT_PHY_CTRL_23 */
    +//     0x40010080,     /* EMIF1_EXT_PHY_CTRL_24 */
    +//     0x08102040,     /* EMIF1_EXT_PHY_CTRL_25 */
    +//     0x00000076,     /* EMIF1_EXT_PHY_CTRL_26 */
    +//     0x00000077,     /* EMIF1_EXT_PHY_CTRL_27 */
    +//     0x00000082,     /* EMIF1_EXT_PHY_CTRL_28 */
    +//     0x00000081,     /* EMIF1_EXT_PHY_CTRL_29 */
    +//     0x00000000,     /* EMIF1_EXT_PHY_CTRL_30 */
    +//     0x00000037,     /* EMIF1_EXT_PHY_CTRL_31 */
    +//     0x00000037,     /* EMIF1_EXT_PHY_CTRL_32 */
    +//     0x00000038,     /* EMIF1_EXT_PHY_CTRL_33 */
    +//     0x00000039,     /* EMIF1_EXT_PHY_CTRL_34 */
    +//     0x00000000,     /* EMIF1_EXT_PHY_CTRL_35 */
    +//     0x00000077      /* EMIF1_EXT_PHY_CTRL_36 */
    +};
    +/******************************************************/
     const struct omap_sysinfo sysinfo = {
            "Board: UNKNOWN(BeagleBoard X15?) REV UNKNOWN\n"
     };
    @@ -127,7 +256,7 @@ void emif_get_dmm_regs(const struct dmm_lisa_map_regs **dmm_lisa_regs)
            else if (board_is_bbai())
                    *dmm_lisa_regs = &bbai_lisa_regs;
            else
    -               *dmm_lisa_regs = &beagle_x15_lisa_regs;
    +               *dmm_lisa_regs = &AM572x_DDR3L_532MHz_TI_AM572x_IDK_dmm_regs;//&beagle_x15_lisa_regs;
     }
     
     static const struct emif_regs beagle_x15_emif1_ddr3_532mhz_emif_regs = {
    @@ -310,37 +439,74 @@ static const struct emif_regs am574x_emif1_ddr3_666mhz_emif_ecc_regs = {
            .emif_ecc_address_range_2       = 0x00000000
     };
     
    +/*
    + * Newly added
    + * */
     void emif_get_reg_dump(u32 emif_nr, const struct emif_regs **regs)
     {
    -       switch (emif_nr) {
    +switch (emif_nr) {
            case 1:
    -               if (board_is_am571x_idk())
    -                       *regs = &am571x_emif1_ddr3_666mhz_emif_regs;
    -               else if (board_is_am574x_idk())
    -                       *regs = &am574x_emif1_ddr3_666mhz_emif_ecc_regs;
    -               else
    -                       *regs = &beagle_x15_emif1_ddr3_532mhz_emif_regs;
    -               break;
    +       if (board_is_am571x_idk())
    +               *regs = &am571x_emif1_ddr3_666mhz_emif_regs;
    +
    +       else if (board_is_am574x_idk())
    +               *regs = &am574x_emif1_ddr3_666mhz_emif_ecc_regs;
    +       else
    +               *regs = &AM572x_DDR3L_532MHz_TI_AM572x_IDK_emif_regs;
    +       break;
            case 2:
    -               if (board_is_am574x_idk())
    -                       *regs = &am571x_emif1_ddr3_666mhz_emif_regs;
    -               else
    -                       *regs = &beagle_x15_emif2_ddr3_532mhz_emif_regs;
    -               break;
    +       if (board_is_am574x_idk())
    +               *regs = &am571x_emif1_ddr3_666mhz_emif_regs;
    +       else
    +               *regs = &AM572x_DDR3L_532MHz_TI_AM572x_IDK_emif_regs;
    +       break;
            }
     }
    -
    +//void emif_get_reg_dump(u32 emif_nr, const struct emif_regs **regs)
    +//{
    +//     switch (emif_nr) {
    +//     case 1:
    +//             if (board_is_am571x_idk())
    +//                     *regs = &am571x_emif1_ddr3_666mhz_emif_regs;
    +//             else if (board_is_am574x_idk())
    +//                     *regs = &am574x_emif1_ddr3_666mhz_emif_ecc_regs;
    +//             else
    +//                     *regs = &beagle_x15_emif1_ddr3_532mhz_emif_regs;
    +//             break;
    +//     case 2:
    +//             if (board_is_am574x_idk())
    +//                     *regs = &am571x_emif1_ddr3_666mhz_emif_regs;
    +//             else
    +//                     *regs = &beagle_x15_emif2_ddr3_532mhz_emif_regs;
    +//             break;
    +//     }
    +//}
    +
    +//void emif_get_ext_phy_ctrl_const_regs(u32 emif_nr, const u32 **regs, u32 *size)
    +//{
    +//     switch (emif_nr) {
    +//     case 1:
    +//             *regs = beagle_x15_emif1_ddr3_ext_phy_ctrl_const_regs;
    +//             *size = ARRAY_SIZE(beagle_x15_emif1_ddr3_ext_phy_ctrl_const_regs);
    +//             break;
    +//     case 2:
    +//             *regs = beagle_x15_emif2_ddr3_ext_phy_ctrl_const_regs;
    +//             *size = ARRAY_SIZE(beagle_x15_emif2_ddr3_ext_phy_ctrl_const_regs);
    +//             break;
    +//     }
    +//}
     void emif_get_ext_phy_ctrl_const_regs(u32 emif_nr, const u32 **regs, u32 *size)
     {
    -       switch (emif_nr) {
    +       switch (emif_nr)
    +       {
            case 1:
    -               *regs = beagle_x15_emif1_ddr3_ext_phy_ctrl_const_regs;
    -               *size = ARRAY_SIZE(beagle_x15_emif1_ddr3_ext_phy_ctrl_const_regs);
    -               break;
    +               *regs = AM572x_DDR3L_532MHz_TI_AM572x_IDK_emif1_ext_phy_regs;
    +               *size = ARRAY_SIZE(AM572x_DDR3L_532MHz_TI_AM572x_IDK_emif1_ext_phy_regs);
    +       break;
            case 2:
    -               *regs = beagle_x15_emif2_ddr3_ext_phy_ctrl_const_regs;
    -               *size = ARRAY_SIZE(beagle_x15_emif2_ddr3_ext_phy_ctrl_const_regs);
    -               break;
    +               *regs = AM572x_DDR3L_532MHz_TI_AM572x_IDK_emif1_ext_phy_regs;
    +               *size = ARRAY_SIZE(AM572x_DDR3L_532MHz_TI_AM572x_IDK_emif1_ext_phy_regs);
    +       break;
            }
     }
     
    @@ -572,10 +738,13 @@ void do_board_detect(void)
                    bname = "AM571x IDK";
            else if (board_is_bbai())
                    bname = "BeagleBone AI";
    +       printf("\r\n board name %s ::",bname);
    +       printf("Unidentified board claims %s in eeprom header\n",
    +              board_ti_get_name());
     
            if (bname)
                    snprintf(sysinfo.board_string, SYSINFO_BOARD_NAME_MAX_LEN,
    -                        "Board: %s REV %s\n", bname, board_ti_get_rev());
    +                        "BoardNameN: %s REV %s\n", bname, board_ti_get_rev());
     }
     
     static void setup_board_eeprom_env(void)
    diff --git a/board/ti/am57xx/mux_data.h b/board/ti/am57xx/mux_data.h
    index 212799c93d..a0f23dff59 100644
    --- a/board/ti/am57xx/mux_data.h
    +++ b/board/ti/am57xx/mux_data.h
    @@ -209,9 +209,11 @@ const struct pad_conf_entry core_padconf_array_essential_x15[] = {
            {UART1_RTSN, (M14 | PIN_INPUT)},        /* uart1_rtsn.gpio7_25 */
            {UART2_RXD, (M14 | PIN_INPUT_PULLDOWN)},        /* uart2_rxd.gpio7_26 */
            {UART2_TXD, (M14 | PIN_INPUT_PULLDOWN)},        /* uart2_txd.gpio7_27 */
    -       {UART2_CTSN, (M2 | PIN_INPUT_PULLUP)},  /* uart2_ctsn.uart3_rxd */
    -       {UART2_RTSN, (M1 | PIN_OUTPUT)},        /* uart2_rtsn.uart3_txd */
    +//     {UART2_CTSN, (M2 | PIN_INPUT_PULLUP)},  /* uart2_ctsn.uart3_rxd */
    +//     {UART2_RTSN, (M1 | PIN_OUTPUT)},        /* uart2_rtsn.uart3_txd */
            {I2C1_SDA, (M0 | PIN_INPUT_PULLUP)},    /* i2c1_sda.i2c1_sda */
    +       {UART3_RXD, (M0 | PIN_INPUT)},  /* uart2_ctsn.uart3_rxd */
    +       {UART3_TXD, (M0 | PIN_OUTPUT)}, /* uart2_rtsn.uart3_txd */
            {I2C1_SCL, (M0 | PIN_INPUT_PULLUP)},    /* i2c1_scl.i2c1_scl */
            {I2C2_SDA, (M1 | PIN_INPUT_PULLUP)},    /* i2c2_sda.hdmi1_ddc_scl */
            {I2C2_SCL, (M1 | PIN_INPUT_PULLUP)},    /* i2c2_scl.hdmi1_ddc_sda */
    @@ -752,8 +754,10 @@ const struct pad_conf_entry core_padconf_array_essential_am574x_idk[] = {
            {UART1_TXD, (M14 | PIN_OUTPUT | SLEWCONTROL)},  /* uart1_txd.gpio7_23 */
            {UART2_RXD, (M4 | PIN_INPUT)},  /* uart2_rxd.uart2_rxd */
            {UART2_TXD, (M0 | PIN_OUTPUT)}, /* uart2_txd.uart2_txd */
    -       {UART2_CTSN, (M2 | PIN_INPUT)}, /* uart2_ctsn.uart3_rxd */
    -       {UART2_RTSN, (M1 | PIN_OUTPUT)},        /* uart2_rtsn.uart3_txd */
    +//     {UART2_CTSN, (M2 | PIN_INPUT)}, /* uart2_ctsn.uart3_rxd */
    +//     {UART2_RTSN, (M1 | PIN_OUTPUT)},        /* uart2_rtsn.uart3_txd */
    +       {UART3_RXD, (M0 | PIN_INPUT)},  /* uart2_ctsn.uart3_rxd */
    +       {UART3_TXD, (M0 | PIN_OUTPUT)}, /* uart2_rtsn.uart3_txd */
            {I2C1_SDA, (M0 | PIN_INPUT)},   /* i2c1_sda.i2c1_sda */
            {I2C1_SCL, (M0 | PIN_INPUT)},   /* i2c1_scl.i2c1_scl */
            {I2C2_SDA, (M1 | PIN_INPUT)},   /* i2c2_sda.hdmi1_ddc_scl */
    @@ -972,8 +976,10 @@ const struct pad_conf_entry core_padconf_array_essential_am572x_idk[] = {
            {UART1_TXD, (M14 | PIN_OUTPUT | SLEWCONTROL)},  /* uart1_txd.gpio7_23 */
            {UART2_RXD, (M4 | PIN_INPUT)},  /* uart2_rxd.uart2_rxd */
            {UART2_TXD, (M0 | PIN_OUTPUT)}, /* uart2_txd.uart2_txd */
    -       {UART2_CTSN, (M2 | PIN_INPUT)}, /* uart2_ctsn.uart3_rxd */
    -       {UART2_RTSN, (M1 | PIN_OUTPUT)},        /* uart2_rtsn.uart3_txd */
    +//     {UART2_CTSN, (M2 | PIN_INPUT)}, /* uart2_ctsn.uart3_rxd */
    +//     {UART2_RTSN, (M1 | PIN_OUTPUT)},        /* uart2_rtsn.uart3_txd */
    +       {UART3_RXD, (M0 | PIN_INPUT)},  /* uart2_ctsn.uart3_rxd */
    +       {UART3_TXD, (M0 | PIN_OUTPUT)}, /* uart2_rtsn.uart3_txd */
            {I2C1_SDA, (M0 | PIN_INPUT)},   /* i2c1_sda.i2c1_sda */
            {I2C1_SCL, (M0 | PIN_INPUT)},   /* i2c1_scl.i2c1_scl */
            {I2C2_SDA, (M1 | PIN_INPUT)},   /* i2c2_sda.hdmi1_ddc_scl */
    @@ -1254,14 +1260,16 @@ const struct pad_conf_entry core_padconf_array_vout_am571x_idk[] = {
     };
     
     const struct pad_conf_entry early_padconf[] = {
    -       {UART2_CTSN, (M2 | PIN_INPUT_SLEW)},    /* uart2_ctsn.uart3_rxd */
    -       {UART2_RTSN, (M1 | PIN_INPUT_SLEW)},    /* uart2_rtsn.uart3_txd */
    +               {UART3_RXD, (M0 | PIN_INPUT_SLEW | SLEWCONTROL)},   /* uart1_rxd.uart1_rxd */
    +               {UART3_TXD, (M0 | PIN_INPUT_SLEW | SLEWCONTROL)},  /* uart1_txd.uart1_txd */
    +//     {UART2_CTSN, (M2 | PIN_INPUT_SLEW)},    /* uart2_ctsn.uart3_rxd */
    +//     {UART2_RTSN, (M1 | PIN_INPUT_SLEW)},    /* uart2_rtsn.uart3_txd */
            {I2C1_SDA, (PIN_INPUT_PULLUP | M0)},    /* I2C1_SDA */
            {I2C1_SCL, (PIN_INPUT_PULLUP | M0)},    /* I2C1_SCL */
     
            /* BeagleBone AI: Debug UART */
    -       {UART1_RXD, (M0 | PIN_INPUT_PULLDOWN | SLEWCONTROL)},   /* uart1_rxd.uart1_rxd */
    -       {UART1_TXD, (M0 | PIN_OUTPUT_PULLDOWN | SLEWCONTROL)},  /* uart1_txd.uart1_txd */
    +//     {UART1_RXD, (M0 | PIN_INPUT_PULLDOWN | SLEWCONTROL)},   /* uart1_rxd.uart1_rxd */
    +//     {UART1_TXD, (M0 | PIN_OUTPUT_PULLDOWN | SLEWCONTROL)},  /* uart1_txd.uart1_txd */
     };
     
     #ifdef CONFIG_SUPPORT_EMMC_BOOT
    (END)
    -       {UART2_CTSN, (M2 | PIN_INPUT_SLEW)},    /* uart2_ctsn.uart3_rxd */
    -       {UART2_RTSN, (M1 | PIN_INPUT_SLEW)},    /* uart2_rtsn.uart3_txd */
    +               {UART3_RXD, (M0 | PIN_INPUT_SLEW | SLEWCONTROL)},   /* uart1_rxd.uart1_rxd */
    +               {UART3_TXD, (M0 | PIN_INPUT_SLEW | SLEWCONTROL)},  /* uart1_txd.uart1_txd */
    +//     {UART2_CTSN, (M2 | PIN_INPUT_SLEW)},    /* uart2_ctsn.uart3_rxd */
    +//     {UART2_RTSN, (M1 | PIN_INPUT_SLEW)},    /* uart2_rtsn.uart3_txd */
            {I2C1_SDA, (PIN_INPUT_PULLUP | M0)},    /* I2C1_SDA */
            {I2C1_SCL, (PIN_INPUT_PULLUP | M0)},    /* I2C1_SCL */
     
            /* BeagleBone AI: Debug UART */
    -       {UART1_RXD, (M0 | PIN_INPUT_PULLDOWN | SLEWCONTROL)},   /* uart1_rxd.uart1_rxd */
    -       {UART1_TXD, (M0 | PIN_OUTPUT_PULLDOWN | SLEWCONTROL)},  /* uart1_txd.uart1_txd */
    +//     {UART1_RXD, (M0 | PIN_INPUT_PULLDOWN | SLEWCONTROL)},   /* uart1_rxd.uart1_rxd */
    +//     {UART1_TXD, (M0 | PIN_OUTPUT_PULLDOWN | SLEWCONTROL)},  /* uart1_txd.uart1_txd */
     };
     
     #ifdef CONFIG_SUPPORT_EMMC_BOOT
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    ~
    (END)
    -       {UART2_CTSN, (M2 | PIN_INPUT_SLEW)},    /* uart2_ctsn.uart3_rxd */
    -       {UART2_RTSN, (M1 | PIN_INPUT_SLEW)},    /* uart2_rtsn.uart3_txd */
    +               {UART3_RXD, (M0 | PIN_INPUT_SLEW | SLEWCONTROL)},   /* uart1_rxd.uart1_rxd */
    +               {UART3_TXD, (M0 | PIN_INPUT_SLEW | SLEWCONTROL)},  /* uart1_txd.uart1_txd */
    +//     {UART2_CTSN, (M2 | PIN_INPUT_SLEW)},    /* uart2_ctsn.uart3_rxd */
    +//     {UART2_RTSN, (M1 | PIN_INPUT_SLEW)},    /* uart2_rtsn.uart3_txd */
            {I2C1_SDA, (PIN_INPUT_PULLUP | M0)},    /* I2C1_SDA */
            {I2C1_SCL, (PIN_INPUT_PULLUP | M0)},    /* I2C1_SCL */
     
            /* BeagleBone AI: Debug UART */
    -       {UART1_RXD, (M0 | PIN_INPUT_PULLDOWN | SLEWCONTROL)},   /* uart1_rxd.uart1_rxd */
    -       {UART1_TXD, (M0 | PIN_OUTPUT_PULLDOWN | SLEWCONTROL)},  /* uart1_txd.uart1_txd */
    +//     {UART1_RXD, (M0 | PIN_INPUT_PULLDOWN | SLEWCONTROL)},   /* uart1_rxd.uart1_rxd */
    +//     {UART1_TXD, (M0 | PIN_OUTPUT_PULLDOWN | SLEWCONTROL)},  /* uart1_txd.uart1_txd */
     };
     
     #ifdef CONFIG_SUPPORT_EMMC_BOOT
    
    
      We have changed some register value which is generated by EMIF config Tool

  • Hi,

    Since these are uncommitted changes you will get the -dirty along with the top commit as your U-boot version. This is not an issue.

    If you want to avoid that dirty tag you need to commit your changes.

    git add "list of changed files"

    git commit -m "custom changes"

    Best Regards,

    Keerthy 

  • but what about this issue

    U-Boot SPL 2021.01-00003-g16d964ac27-dirty (Dec 19 2023 - 12:44:06 +0530)
    DRA752-GP ES2.0
    Trying to boot from MMC1
    Loading Environment from FAT... OK


    U-Boot 2021.01-00003-g16d964ac27-dirty (Dec 19 2023 - 12:44:06 +0530)

    CPU : DRA752-GP ES2.0
    Model: TI AM5728 IDK
    Board: UNKNOWN(BeagleBoard X15?) REV UNKNOWN
    DRAM: 2 GiB
    MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
    Loading Environment from FAT... OK
    Net: Could not get PHY for ethernet@48484000: addr 1
    eth2: ethernet@48484000
    Hit any key to stop autoboot: 0
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    Failed to load 'boot.scr'
    347 bytes read in 10 ms (33.2 KiB/s)
    Loaded env from uEnv.txt
    Importing environment from mmc0 ...
    Running uenvcmd ...
    32657816 bytes read in 1415 ms (22 MiB/s)
    5186624 bytes read in 233 ms (21.2 MiB/s)
    ## Starting application at 0x84100000 ...
    prefetch abort
    pc : [<00000140>] lr : [<841002f4>]
    reloc pc : [<8189d140>] lr : [<0599d2f4>]
    sp : 4037fd28 ip : 00000000 fp : 840ffff8
    r10: fefe4f10 r9 : fcf42ed0 r8 : 00000002
    r7 : 0003c07b r6 : 40300000 r5 : 4037f064 r4 : 00000001
    r3 : 00000004 r2 : 00000198 r1 : 80800041 r0 : 00000001
    Flags: nzcv IRQs off FIQs off Mode SVC_32 (T)
    Code: 0000 0000 0000 0000 (0000) 0000
    Resetting CPU ...

    resetting ...

  • Hi,

    That's for sharing the logs. It looks like:

    • Kernel zImage is being loaded.
    • DTB is also getting loaded.
    • While executing the kernel there is an abort.
    • Have you done custom board related changes to the kernel as well?

    Best Regards,

    Keerthy 

  • Same changes(related custom board) i did in old 2016 u-boot source code and it got working but why not with New u-boot source code .Is there any extra configuration i need to do.

  • Hi Hanmant,

    Did you have to do any changes in the Linux kernel as well?

    Also since I am not sure of the 2016 SDK U-boot. Can you also share the working logs?

    - Keerthy

  • Hi Keerthy,

    i did not changed any kernel related code.

    below is the working logs


    U-Boot SPL 2016.05-00118-gdd926c6000-dirty (Dec 18 2023 - 18:34:54)
    DRA752-GP ES2.0
    Trying to boot from MMC1
    reading args
    spl_load_image_fat_os: error reading image args, err - -1
    reading u-boot.img
    reading u-boot.img
    reading u-boot.img
    reading u-boot.img


    U-Boot 2016.05-00118-gdd926c6000-dirty (Dec 18 2023 - 18:34:54 +0530)

    CPU : DRA752-GP ES2.0
    Model: TI AM5728 IDK
    Board: AM572x IDK REV <NULL>
    DRAM: 2 GiB
    MMC: no pinctrl for sdr104
    no pinctrl for ddr50
    no pinctrl for sdr50
    no pinctrl for sdr25
    no pinctrl for sdr12
    OMAP SD/MMC: 0, OMAP SD/MMC: 1
    reading uboot.env
    *** Warning - bad CRC, using default environment

    I2C chip 50: requested alen 2 does not match chip offset_len 1
    SCSI: SATA link 0 timeout.
    AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
    flags: 64bit ncq stag pm led clo only pmp pio slum part ccc apst
    scanning bus for devices...
    Found 0 device(s).
    Net: <ethaddr> not set. Validating first E-fuse MAC
    cpsw
    Hit any key to stop autoboot: 0
    switch to partitions #0, OK
    mmc0 is current device
    SD/MMC found on device 0
    reading boot.scr
    ** Unable to read file boot.scr **
    reading uEnv.txt
    360 bytes read in 3 ms (117.2 KiB/s)
    Loaded env from uEnv.txt
    Importing environment from mmc0 ...
    Running uenvcmd ...
    reading vxWorks.bin
    32657816 bytes read in 1409 ms (22.1 MiB/s)
    reading /SonicsDSP.xe66
    5186624 bytes read in 228 ms (21.7 MiB/s)
    ## Starting application at 0x84100000 ...
    Target Name: vxTarget

  • Hi Hanmant,

    You are loading vxworks image or Linux Image? What is the HLOS?

    - Keerthy

  • Hi Hanmant,

    If you have CCS can you please connect and check where the image is failing. We do not have experience with vxworks.

    Best Regards,

    Keerthy 

  • it seems that environment variables are set for an android boot ,so How can i change for VxWorks Target in u-boot source code . 

    => printenv bootargs
    bootargs=androidboot.serialno=${serial#} console=ttyS2,115200 androidboot.console=ttyS2 androidboot.hardware=beagle_x15board

  • U-Boot SPL 2021.01-00003-g16d964ac27-dirty (Jan 09 2024 - 18:21:18 +0530)
    DRA752-GP ES2.0
    Trying to boot from MMC1
    Loading Environment from FAT... OK
    
    
    U-Boot 2021.01-00003-g16d964ac27-dirty (Jan 09 2024 - 18:21:18 +0530)
    
    CPU  : DRA752-GP ES2.0
    Model: TI AM5728 IDK
    BoardNameN: AM572x IDK REV
    DRAM:  2 GiB
    MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
    Loading Environment from FAT... OK
    am57x_idk_lcd_detect: Failed to get I2C device 0/56 (ret 1)
    Net:   eth2: ethernet@48484000
    Hit any key to stop autoboot:  0
    => printenv
    addr_fit=0x90000000
    arch=arm
    args_mmc=run finduuid;setenv bootargs console=${console} ${optargs} root=PARTUUID=${uuid} rw rootfstype=${mmcrootfstype}
    avb_verify=avb init 1; avb verify $slot_suffix;
    baudrate=115200
    board=am57xx
    board_name=beagle_x15
    board_rev=unknown
    board_serial=unknown
    boot=mmc
    boot_fdt=try
    boot_fit=0
    bootargs=androidboot.serialno=${serial#} console=ttyS2,115200 androidboot.console=ttyS2 androidboot.hardware=beagle_x15board
    bootcmd=if test ${dofastboot} -eq 1; then echo Boot fastboot requested, resetting dofastboot ...;setenv dofastboot 0; saveenv;echo Booting into fastboot ...; fastboot 1; fi;if test ${boot_fit} -eq 1; then run update_to_fit;fi;run findfdt; run envboot; run mmcboot;run emmc_linux_boot; run emmc_android_boot;
    bootdelay=2
    bootdir=/boot
    bootenvfile=uEnv.txt
    bootfile=zImage
    bootm_size=0x10000000
    bootpart=0:2
    bootscript=echo Running bootscript from mmc${mmcdev} ...; source ${loadaddr}
    console=ttyS2,115200n8
    cpu=armv7
    dfu_alt_info_emmc=rawemmc raw 0 3751936;boot part 1 1;rootfs part 1 2;MLO fat 1 1;MLO.raw raw 0x100 0x200;u-boot.img.raw raw 0x300 0x1000;u-env.raw raw 0x1300 0x200;spl-os-args.raw raw 0x1500 0x200;spl-os-image.raw raw 0x1700 0x6900;spl-os-args fat 1 1;spl-os-image fat 1 1;u-boot.img fat 1 1;uEnv.txt fat 1 1
    dfu_alt_info_mmc=boot part 0 1;rootfs part 0 2;MLO fat 0 1;MLO.raw raw 0x100 0x200;u-boot.img.raw raw 0x300 0x1000;u-env.raw raw 0x1300 0x200;spl-os-args.raw raw 0x1500 0x200;spl-os-image.raw raw 0x1700 0x6900;spl-os-args fat 0 1;spl-os-image fat 0 1;u-boot.img fat 0 1;uEnv.txt fat 0 1
    dfu_alt_info_qspi=MLO raw 0x0 0x040000;u-boot.img raw 0x040000 0x0100000;u-boot-spl-os raw 0x140000 0x080000;u-boot-env raw 0x1C0000 0x010000;u-boot-env.backup raw 0x1D0000 0x010000;kernel raw 0x1E0000 0x800000
    dfu_alt_info_ram=kernel ram 0x80200000 0x4000000;fdt ram 0x80f80000 0x80000;ramdisk ram 0x81000000 0x4000000
    dfu_bufsiz=0x10000
    dofastboot=0
    dtboaddr=0x89000000
    emmc_android_bcb_load=if bcb load 1 misc; then setenv ardaddr -; if bcb test command = bootonce-bootloader; then echo Android: Bootloader boot...; bcb clear command; bcb store; echo Booting into fastboot ...; fastboot 1; exit; elif bcb test command = boot-recovery; then echo Android: Recovery boot...; setenv ardaddr $loadaddr;setenv apart recovery; else echo Android: Normal boot...; setenv ardaddr $loadaddr; setenv apart boot${slot_suffix}; fi; else echo Warning: BCB is corrupted or does not exist; echo Android: Normal boot...; fi;
    emmc_android_boot=setenv mmcdev 1; mmc dev $mmcdev; mmc rescan; if part number mmc 1 misc control_part_number; then echo misc partition number:${control_part_number};ab_select slot_name mmc ${mmcdev}:${control_part_number};else echo misc partition not found;exit;fi;setenv slot_suffix _${slot_name};run emmc_android_bcb_load; setenv eval_bootargs setenv bootargs $bootargs; run eval_bootargs; setenv machid fe6; if run avb_verify; then echo AVB verification OK.;set bootargs $bootargs $avb_bootargs;else echo AVB verification failed.;exit; fi;setenv bootargs_ab androidboot.slot_suffix=${slot_suffix}; echo A/B cmdline addition: ${bootargs_ab};setenv bootargs ${bootargs} ${bootargs_ab};run emmc_android_bootm;
    emmc_android_bootm=if part start mmc $mmcdev $apart boot_start; then part size mmc $mmcdev $apart boot_size; mmc read $loadaddr $boot_start $boot_size; run prepare_fdt; bootm $loadaddr $ardaddr $fdtaddr; else echo $apart partition not found; exit; fi;
    emmc_linux_boot=echo Trying to boot Linux from eMMC ...; setenv mmcdev 1; setenv bootpart 1:2; setenv mmcroot /dev/mmcblk0p2 rw; run mmcboot;
    envboot=mmc dev ${mmcdev}; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadbootscript; then run bootscript;else if run loadbootenv; then echo Loaded env from ${bootenvfile};run importbootenv;fi;if test -n $uenvcmd; then echo Running uenvcmd ...;run uenvcmd;fi;fi;fi;
    eth2addr=88:01:f9:dc:26:b8
    fastboot.board_rev=unknown
    fastboot.cpu=DRA752
    fastboot.product=beagle_x15
    fastboot.secure=GP
    fdt_addr_r=0x88000000
    fdtaddr=0x88000000
    fdtcontroladdr=fcf219d0
    fdtfile=undefined
    findfdt=run findfdt_iter1; run findfdt_iter2; run findfdt_iter3; if test $fdtfile = undefined; then echo WARNING: Could not determine device tree to use; fi;
    findfdt_iter1=if test $board_name = omap5_uevm; then setenv fdtfile omap5-uevm.dtb; fi; if test $board_name = dra7xx; then setenv fdtfile dra7-evm.dtb; fi;if test $board_name = dra72x-revc; then setenv fdtfile dra72-evm-revc.dtb; fi;if test $board_name = dra72x; then setenv fdtfile dra72-evm.dtb; fi;if test $board_name = dra71x; then setenv fdtfile dra71-evm.dtb; fi;if test $board_name = dra76x_acd; then setenv fdtfile dra76-evm.dtb; fi;if test $board_name = beagle_x15; then setenv fdtfile am57xx-beagle-x15.dtb; fi;
    findfdt_iter2=if test $board_name = beagle_x15_revb1; then setenv fdtfile am57xx-beagle-x15-revb1.dtb; fi;if test $board_name = beagle_x15_revc; then setenv fdtfile am57xx-beagle-x15-revc.dtb; fi;if test $board_name = am5729_beagleboneai; then setenv fdtfile am5729-beagleboneai.dtb; fi;if test $board_name = am572x_idk && test $idk_lcd = no; then setenv fdtfile am572x-idk.dtb; fi;if test $board_name = am572x_idk && test $idk_lcd = osd101t2045; then setenv fdtfile am572x-idk-lcd-osd101t2045.dtb; fi;if test $board_name = am572x_idk && test $idk_lcd = osd101t2587; then setenv fdtfile am572x-idk-lcd-osd101t2587.dtb; fi;if test $board_name = am574x_idk && test $idk_lcd = no; then setenv fdtfile am574x-idk.dtb; fi;
    findfdt_iter3=if test $board_name = am574x_idk && test $idk_lcd = osd101t2587; then setenv fdtfile am574x-idk-lcd-osd101t2587.dtb; fi;if test $board_name = am57xx_evm; then setenv fdtfile am57xx-evm.dtb; fi;if test $board_name = am57xx_evm_reva3; then setenv fdtfile am57xx-evm-reva3.dtb; fi;if test $board_name = am571x_idk && test $idk_lcd = no; then setenv fdtfile am571x-idk.dtb; fi;if test $board_name = am571x_idk && test $idk_lcd = osd101t2045; then setenv fdtfile am571x-idk-lcd-osd101t2045.dtb; fi;if test $board_name = am571x_idk && test $idk_lcd = osd101t2587; then setenv fdtfile am571x-idk-lcd-osd101t2587.dtb; fi;
    finduuid=part uuid ${boot} ${bootpart} uuid
    get_overlaystring=for overlay in $name_overlays;do;setenv overlaystring ${overlaystring}'#'${overlay};done;
    idk_lcd=no
    importbootenv=echo Importing environment from mmc${mmcdev} ...; env import -t ${loadaddr} ${filesize}
    kernel_addr_r=0x82000000
    loadaddr=0x82000000
    loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile}
    loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr
    loadfdt=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}
    loadimage=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}
    mmcboot=mmc dev ${mmcdev}; devnum=${mmcdev}; devtype=mmc; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadimage; then run args_mmc; if test ${boot_fit} -eq 1; then run run_fit; else run mmcloados;fi;fi;fi;
    mmcdev=0
    mmcloados=if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then bootz ${loadaddr} - ${fdtaddr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi;
    mmcrootfstype=ext4 rootwait
    name_fit=fitImage
    netargs=setenv bootargs console=${console} ${optargs} root=/dev/nfs nfsroot=${serverip}:${rootpath},${nfsopts} rw ip=dhcp
    netboot=echo Booting from network ...; setenv autoload no; dhcp; run netloadimage; run netloadfdt; run netargs; bootz ${loadaddr} - ${fdtaddr}
    netloadfdt=tftp ${fdtaddr} ${fdtfile}
    netloadimage=tftp ${loadaddr} ${bootfile}
    nfsopts=nolock
    partitions=uuid_disk=${uuid_gpt_disk};name=bootloader,start=384K,size=1792K,uuid=${uuid_gpt_bootloader};name=rootfs,start=2688K,size=-,uuid=${uuid_gpt_rootfs}
    partitions_android=uuid_disk=${uuid_gpt_disk};name=xloader,start=128K,size=256K,uuid=${uuid_gpt_xloader};name=bootloader,size=2048K,uuid=${uuid_gpt_bootloader};name=uboot-env,start=2432K,size=256K,uuid=${uuid_gpt_reserved};name=misc,size=128K,uuid=${uuid_gpt_misc};name=boot_a,size=20M,uuid=${uuid_gpt_boot_a};name=boot_b,size=20M,uuid=${uuid_gpt_boot_b};name=dtbo_a,size=8M,uuid=${uuid_gpt_dtbo_a};name=dtbo_b,size=8M,uuid=${uuid_gpt_dtbo_b};name=vbmeta_a,size=64K,uuid=${uuid_gpt_vbmeta_a};name=vbmeta_b,size=64K,uuid=${uuid_gpt_vbmeta_b};name=recovery,size=64M,uuid=${uuid_gpt_recovery};name=super,size=2560M,uuid=${uuid_gpt_super};name=metadata,size=16M,uuid=${uuid_gpt_metadata};name=userdata,size=-,uuid=${uuid_gpt_userdata}
    prepare_fdt=echo Preparing FDT...; if test $board_name = am57xx_evm_reva3; then echo "  Reading DTBO..."; run prepare_fdt_am57xx_evm_reva3; elif test $board_name = beagle_x15_revc; then echo "  Reading DTB for Beagle X15 RevC..."; run prepare_fdt_beagle_x15_revc; else echo Error: Android boot is not supported for $board_name; exit; fi;
    prepare_fdt_am57xx_evm_reva3=part start mmc ${mmcdev} dtbo${slot_suffix} p_dtbo_start; part size mmc ${mmcdev} dtbo${slot_suffix} p_dtbo_size; mmc read ${dtboaddr} ${p_dtbo_start} ${p_dtbo_size}; echo "  Reading DTB for AM57x EVM RevA3..."; abootimg get dtb --index=0 dtb_start dtb_size; cp.b $dtb_start $fdtaddr $dtb_size; fdt addr $fdtaddr 0x80000; echo "  Applying DTBOs for AM57x EVM RevA3..."; adtimg addr $dtboaddr; adtimg get dt --index=0 dtbo0_addr dtbo0_size; fdt apply $dtbo0_addr; adtimg get dt --index=1 dtbo1_addr dtbo1_size; fdt apply $dtbo1_addr;
    prepare_fdt_beagle_x15_revc=abootimg get dtb --index=0 dtb_start dtb_size; cp.b $dtb_start $fdtaddr $dtb_size; fdt addr $fdtaddr 0x80000;
    pxefile_addr_r=0x80100000
    ramdisk_addr_r=0x88080000
    rdaddr=0x88080000
    rootpath=/export/rootfs
    run_fit=bootm ${addr_fit}#${fdtfile}${overlaystring}
    scriptaddr=0x80000000
    serial#=1500f0116ab60802
    soc=omap5
    static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off
    stderr=serial@48020000
    stdin=serial@48020000
    stdout=serial@48020000
    update_to_fit=setenv loadaddr ${addr_fit}; setenv bootfile ${name_fit}
    usbtty=cdc_acm
    vendor=ti
    ver=U-Boot 2021.01-00003-g16d964ac27-dirty (Jan 09 2024 - 18:21:18 +0530)
    vram=16M
    
    Environment size: 9982/131067 bytes
    =>
    

  • Hello Hanmant,

    Like printenv is for getting the env you can use: setenv command to set command line catering to vxworks.

    Regards,

    Keerthy 

  • i'm setting this way:

    setenv bootargs 'console=ttyS2, 115200 root=/dev/mmcblk0p4 rootfs=ext4 rw rootwait'

    will this work?

  • Yes. I can't comment about vxworks bootargs but you can always use printenv i check on that.

    Best Regards,

    Keerthy

  • Hello Keerthy,

    Getting same issue.

    suggest any other solution.


    ## Starting application at 0x84100000 ...
    prefetch abort
    pc : [<0000012c>] lr : [<841002f4>]
    reloc pc : [<8189212c>] lr : [<059922f4>]
    sp : 4037fd28 ip : 00000000 fp : 840ffff8
    r10: fefe4340 r9 : fcf4ded0 r8 : 00000002
    r7 : 0003c07b r6 : 40300000 r5 : 4037f064 r4 : 00000001
    r3 : 00000004 r2 : 00000198 r1 : 80800041 r0 : 00000001
    Flags: nzcv IRQs off FIQs off Mode SVC_32 (T)
    Code: 0000 0000 0000 0000 (0000) 0000
    Resetting CPU ...

    resetting ...

    Thanks

  • Hi Hanmant,

    We do Not support VXWorks. Try to double check if the bootargs are applied as per your need and Image is loaded at the right place.
    Try to step through using a debugger if the VXworks is crashing.

    - Keerthy

  • That's fine but you should suggest me way like sample examples to set bootarg.

  • Hi Hanmant,

    setenv command should be used to set the environment that works for you.

    Also if you have a debugger please connect once U-Boot is up and check what is crashing.

    - Keerthy

  • I do have xds200 debugger, where will I check on serial terminal or where? And what I have to give input?

    is there any steps or Tutorials to check as you suggested if yes then please suggest me which document I have to follow(provide me link)?