J784S4XEVM: Boot from eMMC in J784S4 custom board.

Part Number: J784S4XEVM
Other Parts Discussed in Thread: CSD

Tool/software:

Hi Team,

Board : J784S4 custom board

SDK version: www.ti.com/.../09.02.00.05

I am trying to boot from BOOT partition of eMMC particularly BOOT0 partition.

As part of that firstly I tried to Flash from U-boot with following commands and observed following behaviour.

As Flash from U-boot approach is getting failed, tried with Flash from Linux approach and observed following results

After this , powered off the board and changed the boot switches to eMMC and powered it on back.

Boot switches:

Observed following boot logs:

So, I want to know the reasons for this issue and next steps to fix the same.

Thanks & Regards,

Naradham Dharanija.

  • Hi Naradham,

    I will look into this and get back to you.

    Regards

    Gokul

  • HI Naradham,

    So, I want to know the reasons for this issue and next steps to fix the same.

    Can you elaborate more on the issue?

    Regards

    Gokul

  • Hi Gokul,

    • Partitioned and mounted the eMMC with customized scripts namely partition.sh (

      ./partition.sh --device /dev/mmcblk0 ) for partitioning eMMC into 4 partitions of UDA region.

    • By using  customized script eMMCBoot.sh script , mounted eMMC and , copied bootfs and rootfs contents into eMMC UDA partitions.

    • root@j784s4-evm:/mnt/sdboot# lsblkomi
      NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
      mmcblk0      179:0    0 237.1G  0 disk 
      |-mmcblk0p1  179:1    0    62M  0 part /run/media/boot-mmcblk0p1
      |-mmcblk0p2  179:2    0    10G  0 part /
      |-mmcblk0p3  179:3    0    10G  0 part /run/media/rootfs_2-mmcblk0p3
      `-mmcblk0p4  179:4    0   200G  0 part /run/media/User-mmcblk0p4
      mmcblk1      179:32   0  59.5G  0 disk 
      |-mmcblk1p1  179:33   0    62M  0 part /mnt/sdboot
      |                                      /run/media/boot-mmcblk1p1
      `-mmcblk1p2  179:34   0  59.4G  0 part /run/media/rootfs-mmcblk1p2
      mmcblk0boot0 179:64   0  31.5M  0 disk 
      mmcblk0boot1 179:96   0  31.5M  1 disk 

    Step-2: 
     
     (i) Checking permissions of eMMC to write into it to boot from BOOT (BOOT0/BOOT1) partitions of eMMC and mount the rootfs from UDA of eMMC.
      • eMMC info :  (From U-boot)
    Hit any key to stop autoboot:  0 
    => mmc info
    Device: mmc@4f80000
    Manufacturer ID: 13
    OEM: 4e
    Name: AAM20H
    Bus Speed: 200000000
    Mode: HS400 (200MHz)
    Rd Block Len: 512
    MMC version 5.1
    High Capacity: Yes
    Capacity: 237.1 GiB
    Bus Width: 8-bit DDR
    Erase Group Size: 512 KiB
    HC WP Group Size: 64 MiB
    User Capacity: 237.1 GiB WRREL
    Boot Capacity: 31.5 MiB ENH
    RPMB Capacity: 4 MiB ENH
    Boot area 0 is not write protected
    Boot area 1 is not write protected
    =>
    From Linux,
    root@j784s4-evm:~# mmc writeprotect boot get /dev/mmcblk0
    Boot write protection status registers [BOOT_WP_STATUS]: 0x00
    Boot Area Write protection [BOOT_WP]: 0x00
    Power ro locking: possible
    Permanent ro locking: possible
    partition 0 ro lock status: not locked
    partition 1 ro lock status: not locked

    • With the above eMMC info, we can confirm that eMMC BOOT partitions are not write protected. So tried to write into eMMC BOOT partitions from U-BOOT and observed following behaviour.

      Flash from u-boot

      (i) Tried to copy boot contents into BOOT0 partion

    => mmc partconf 0
    EXT_CSD[179], PARTITION_CONFIG:
    BOOT_ACK: 0x1
    BOOT_PARTITION_ENABLE: 0x0
    PARTITION_ACCESS: 0x0
    => mmc partconf 0 1 1 1
    => mmc dev 0 1
    switch to partitions #1, OK
    mmc0(part 1) is current device

    => fatload mmc 1:1 ${loadaddr} tiboot3.bin
    [wtx debug] fs/fs.c:do_load() line 766: argc=5; arg[0]: fatload
    [wtx debug] fs/fs.c:do_load() line 766: argc=5; arg[1]: mmc
    [wtx debug] fs/fs.c:do_load() line 766: argc=5; arg[2]: 1:1
    [wtx debug] fs/fs.c:do_load() line 766: argc=5; arg[3]: 0x82000000
    [wtx debug] fs/fs.c:do_load() line 766: argc=5; arg[4]: tiboot3.bin
    [wtx debug] fs/fs.c:do_load() line 825: wtx loaded tiboot3.bin @ 0x0000000082000000: 454937 bytes read in 49 ms
    (8.9 MiB/s)
    => mmc write $(loadaddr) 0x0 0x400

     

    MMC write: dev # 0, block # 0, count 1024 ... sdhci_transfer_data: Transfer data timeout
    mmc write failed
    0 blocks written: ERROR

    • (ii) Tried to copy boot contents into BOOT1 partion:

    => mmc dev 0 2                            
    switch to partitions #2, OK
    mmc0(part 2) is current device
    => mmc partconf 0 1 2 1                   
    => fatload mmc 1:1 ${loadaddr} tiboot3.bin
    [wtx debug] fs/fs.c:do_load() line 766: argc=5; arg[0]: fatload
    [wtx debug] fs/fs.c:do_load() line 766: argc=5; arg[1]: mmc
    [wtx debug] fs/fs.c:do_load() line 766: argc=5; arg[2]: 1:1
    [wtx debug] fs/fs.c:do_load() line 766: argc=5; arg[3]: 0x82000000
    [wtx debug] fs/fs.c:do_load() line 766: argc=5; arg[4]: tiboot3.bin
    [wtx debug] fs/fs.c:do_load() line 825: wtx loaded tiboot3.bin @ 0x0000000082000000: 454937 bytes read in 49 ms
    (8.9 MiB/s)
    => mmc write $(loadaddr) 0x0 0x400        

     

    MMC write: dev # 0, block # 0, count 1024 ... sdhci_transfer_data: Transfer data timeout
    mmc write failed
    0 blocks written: ERROR
    =>

    Step-3: 
    So, as a next step tried to next approach : Flash from Linux
    Results observed:

    root@j784s4-evm:/opt/edgeai-gst-apps# cd
    root@j784s4-evm:~# lsblk
    NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
    mmcblk0      179:0    0 237.1G  0 disk 
    |-mmcblk0p1  179:1    0    62M  0 part 
    |-mmcblk0p2  179:2    0    10G  0 part /
    |-mmcblk0p3  179:3    0    10G  0 part /run/media/rootfs_2-mmcblk0p3
    `-mmcblk0p4  179:4    0   200G  0 part /run/media/User-mmcblk0p4
    mmcblk1      179:32   0  59.5G  0 disk 
    |-mmcblk1p1  179:33   0    62M  0 part /run/media/boot-mmcblk1p1
    `-mmcblk1p2  179:34   0  59.4G  0 part /run/media/rootfs-mmcblk1p2
    mmcblk0boot0 179:64   0  31.5M  1 disk 
    mmcblk0boot1 179:96   0  31.5M  1 disk 
    root@j784s4-evm:~# cd /run/media/
    root@j784s4-evm:/run/media# ls
    User-mmcblk0p4  boot-mmcblk1p1  rootfs-mmcblk1p2  rootfs_2-mmcblk0p3
    root@j784s4-evm:/run/media# mkdir -p /run/media/boot-mmcblk0p1
    root@j784s4-evm:/run/media# mount /dev/mmcblk0p1 /run/media/boot-mmcblk0p1
    [  176.638172] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
    root@j784s4-evm:/run/media# mount /dev/mmcblk0p1 /run/media/boot-mmcblk0p1
    mount: /run/media/boot-mmcblk0p1: /dev/mmcblk0p1 already mounted on /run/media/boot-mmcblk0p1.
    root@j784s4-evm:/run/media# ls
    User-mmcblk0p4  boot-mmcblk0p1  boot-mmcblk1p1  rootfs-mmcblk1p2  rootfs_2-mmcblk0p3
    root@j784s4-evm:/run/media# cd boot-mmcblk0p1/
    root@j784s4-evm:/run/media/boot-mmcblk0p1# ls
    tiboot3.bin  tispl.bin  u-boot.img
    root@j784s4-evm:/run/media/boot-mmcblk0p1# cd
    root@j784s4-evm:~# echo 0 > /sys/block/mmcblk0boot0/force_ro
    root@j784s4-evm:~# mkdir /mnt/sdboot && mount /dev/mmcblk1p1 /mnt/sdboot && cd /mnt/sdboot
    root@j784s4-evm:/mnt/sdboot# lsblk
    NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
    mmcblk0      179:0    0 237.1G  0 disk 
    |-mmcblk0p1  179:1    0    62M  0 part /run/media/boot-mmcblk0p1
    |-mmcblk0p2  179:2    0    10G  0 part /
    |-mmcblk0p3  179:3    0    10G  0 part /run/media/rootfs_2-mmcblk0p3
    `-mmcblk0p4  179:4    0   200G  0 part /run/media/User-mmcblk0p4
    mmcblk1      179:32   0  59.5G  0 disk 
    |-mmcblk1p1  179:33   0    62M  0 part /mnt/sdboot
    |                                      /run/media/boot-mmcblk1p1
    `-mmcblk1p2  179:34   0  59.4G  0 part /run/media/rootfs-mmcblk1p2
    mmcblk0boot0 179:64   0  31.5M  0 disk 
    mmcblk0boot1 179:96   0  31.5M  1 disk 
    root@j784s4-evm:/mnt/sdboot# dd if=emmc/tiboot3.bin of=/dev/mmcblk0boot0 seek=0 bs=512
    dd: failed to open 'emmc/tiboot3.bin': No such file or directory
    root@j784s4-evm:/mnt/sdboot# mkdir /mnt/sdboot && mount /dev/mmcblk1p1 /mnt/sdboot && cd /mnt/sdboot
    mkdir: cannot create directory '/mnt/sdboot': File exists
    root@j784s4-evm:/mnt/sdboot# ls
    tiboot3.bin  tispl.bin  u-boot.img  uEnv.txt
    root@j784s4-evm:/mnt/sdboot# dd if=emmc/tiboot3.bin of=/dev/mmcblk0boot0 seek=0 bs=512
    dd: failed to open 'emmc/tiboot3.bin': No such file or directory
    root@j784s4-evm:/mnt/sdboot# dd if=tiboot3.bin of=/dev/mmcblk0boot0 seek=0 bs=512
    888+1 records in
    888+1 records out
    454937 bytes (455 kB, 444 KiB) copied, 1.25161 s, 363 kB/s
    root@j784s4-evm:/mnt/sdboot# dd if=tispl.bin of=/dev/mmcblk0boot0 seek=1024 bs=512
    2106+1 records in
    2106+1 records out
    1078415 bytes (1.1 MB, 1.0 MiB) copied, 3.60833 s, 299 kB/s
    root@j784s4-evm:/mnt/sdboot# dd if=u-boot.img of=/dev/mmcblk0boot0 seek=5120 bs=512
    2410+1 records in
    2410+1 records out
    1234419 bytes (1.2 MB, 1.2 MiB) copied, 3.66042 s, 337 kB/s
    root@j784s4-evm:/mnt/sdboot#


    As above approach was successful, performed following steps.
    Step-4: 
    • Powered off the board, Changed boot switches to eMMC mode and powered on back and observed following bootlogs which was getting stucked as follows.

    Step-5:
    • Tried to mount the rootfs from eMMC with the copied contents using eMMCBoot.sh script and observed rootfs mounting from UDA of eMMC was successful .
    root@j784s4-evm:/mnt/sdboot# lsblk
    NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
    mmcblk0      179:0    0 237.1G  0 disk 
    |-mmcblk0p1  179:1    0    62M  0 part /run/media/boot-mmcblk0p1
    |-mmcblk0p2  179:2    0    10G  0 part /
    |-mmcblk0p3  179:3    0    10G  0 part /run/media/rootfs_2-mmcblk0p3
    `-mmcblk0p4  179:4    0   200G  0 part /run/media/User-mmcblk0p4
    mmcblk1      179:32   0  59.5G  0 disk 
    |-mmcblk1p1  179:33   0    62M  0 part /mnt/sdboot
    |                                      /run/media/boot-mmcblk1p1
    `-mmcblk1p2  179:34   0  59.4G  0 part /run/media/rootfs-mmcblk1p2
    mmcblk0boot0 179:64   0  31.5M  0 disk 
    mmcblk0boot1 179:96   0  31.5M  1 disk 

  • Hi Naradham,

    Can you follow the steps in the below FAQ to flash to boot 0 from Linux:

    e2e.ti.com/.../faq-tda4vh-emmc-boot0-booting-from-linux-space

    Regards

    Gokul

  • Hi Gokul,

    I have tried to wtite boot contents into eMMC boot0 from linux space and followed by writing partconf,boot bus and observed following results.

    root@j784s4-evm:~# echo 0 > /sys/block/mmcblk0boot0/force_ro
    root@j784s4-evm:~# dd if=/dev/zero of=/dev/mmcblk0boot0
    dd: writing to '/dev/mmcblk0boot0': No space left on device
    64513+0 records in
    64512+0 records out
    33030144 bytes (33 MB, 32 MiB) copied, 81.3019 s, 406 kB/s
    root@j784s4-evm:~# lsblk -f
    NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
    mmcblk0
    |-mmcblk0p1 vfat boot 40C2-D73B 58.4M 4% /run/media/boot-mmcblk0p1
    |-mmcblk0p2 ext4 rootfs_1 cd516a6a-fc47-4dc7-8371-ee4f92731495 228M 92% /
    |-mmcblk0p3 ext4 rootfs_2 0a505948-b114-43be-9c65-294c911d2c80 9.2G 0% /run/media/rootfs_2-mmcblk0p3
    `-mmcblk0p4 vfat User 40CE-089F 200G 0% /run/media/User-mmcblk0p4
    mmcblk1
    |-mmcblk1p1 vfat boot 8E1C-A8A4 58.4M 4% /run/media/boot-mmcblk1p1
    `-mmcblk1p2 ext4 rootfs 4c912783-7185-4dba-b66d-de5291d21db4 46.9G 15% /run/media/rootfs-mmcblk1p2
    mmcblk0boot0
    mmcblk0boot1
    root@j784s4-evm:~# dd if=/dev/zero of=/dev/mmcblk0boot0
    dd: writing to '/dev/mmcblk0boot0': No space left on device
    64513+0 records in
    64512+0 records out
    33030144 bytes (33 MB, 32 MiB) copied, 81.3535 s, 406 kB/s
    root@j784s4-evm:~# dd if=/run/media/BOOT-mmcblk1p1/tiboot3.bin of=/dev/mmcblk0boot0 seek=0
    dd: failed to open '/run/media/BOOT-mmcblk1p1/tiboot3.bin': No such file or directory
    root@j784s4-evm:~# dd if=/run/media/boot-mmcblk1p1/tiboot3.bin of=/dev/mmcblk0boot0 seek=0
    888+1 records in
    888+1 records out
    454937 bytes (455 kB, 444 KiB) copied, 1.24848 s, 364 kB/s
    root@j784s4-evm:~# dd if=/run/media/boot-mmcblk1p1/tispl.bin of=/dev/mmcblk0boot0 seek=1024
    2106+1 records in
    2106+1 records out
    1078415 bytes (1.1 MB, 1.0 MiB) copied, 3.61305 s, 298 kB/s
    root@j784s4-evm:~# dd if=/run/media/boot-mmcblk1p1/u-boot.img of=/dev/mmcblk0boot0 seek=5120
    2410+1 records in
    2410+1 records out
    1234419 bytes (1.2 MB, 1.2 MiB) copied, 3.66873 s, 336 kB/s
    root@j784s4-evm:~# mmc extcsd write 179 0x48 /dev/mmcblk0
    ERROR: unknown command 'extcsd'
    Usage:
    mmc extcsd read <device>
    Print extcsd data from <device>.
    mmc writeprotect boot get <device>
    Print the boot partitions write protect status for <device>.
    mmc writeprotect boot set <device> [<number>]
    Set the boot partition write protect status for <device>.
    If <number> is passed (0 or 1), only protect that particular
    eMMC boot partition, otherwise protect both. It will be
    write-protected until the next boot.

    mmc writeprotect user set <type><start block><blocks><device>
    Set the write protect configuration for the specified region
    of the user area for <device>.
    <type> must be "none|temp|pwron".
    "none" - Clear temporary write protection.
    "temp" - Set temporary write protection.
    "pwron" - Set write protection until the next poweron.
    <start block> specifies the first block of the protected area.
    <blocks> specifies the size of the protected area in blocks.
    NOTE! The area must start and end on Write Protect Group
    boundries, Use the "writeprotect user get" command to get the
    Write Protect Group size.
    mmc writeprotect user get <device>
    Print the user areas write protect configuration for <device>.
    mmc disable 512B emulation <device>
    Set the eMMC data sector size to 4KB by disabling emulation on
    <device>.
    mmc gp create <-y|-n|-c> <length KiB> <partition> <enh_attr> <ext_attr> <device>
    Create general purpose partition for the <device>.
    Dry-run only unless -y or -c is passed.
    Use -c if more partitioning settings are still to come.
    NOTE! This is a one-time programmable (unreversible) change.
    To set enhanced attribute to general partition being created set
    <enh_attr> to 1 else set it to 0.
    To set extended attribute to general partition
    set <ext_attr> to 1,2 else set it to 0
    mmc enh_area set <-y|-n|-c> <start KiB> <length KiB> <device>
    Enable the enhanced user area for the <device>.
    Dry-run only unless -y or -c is passed.
    Use -c if more partitioning settings are still to come.
    NOTE! This is a one-time programmable (unreversible) change.
    mmc write_reliability set <-y|-n|-c> <partition> <device>
    Enable write reliability per partition for the <device>.
    Dry-run only unless -y or -c is passed.
    Use -c if more partitioning settings are still to come.
    NOTE! This is a one-time programmable (unreversible) change.
    mmc status get <device>
    Print the response to STATUS_SEND (CMD13).
    mmc bootpart enable <boot_partition> <send_ack> <device>
    Enable the boot partition for the <device>.
    Disable the boot partition for the <device> if <boot_partition> is set to 0.
    To receive acknowledgment of boot from the card set <send_ack>
    to 1, else set it to 0.
    mmc bootbus set <boot_mode> <reset_boot_bus_conditions> <boot_bus_width> <device>
    Set Boot Bus Conditions.
    <boot_mode> must be "single_backward|single_hs|dual"
    <reset_boot_bus_conditions> must be "x1|retain"
    <boot_bus_width> must be "x1|x4|x8"
    mmc bkops_en <auto|manual> <device>
    Enable the eMMC BKOPS feature on <device>.
    The auto (AUTO_EN) setting is only supported on eMMC 5.0 or newer.
    Setting auto won't have any effect if manual is set.
    NOTE! Setting manual (MANUAL_EN) is one-time programmable (unreversible) change.
    mmc hwreset enable <device>
    Permanently enable the eMMC H/W Reset feature on <device>.
    NOTE! This is a one-time programmable (unreversible) change.
    mmc hwreset disable <device>
    Permanently disable the eMMC H/W Reset feature on <device>.
    NOTE! This is a one-time programmable (unreversible) change.
    mmc sanitize <device>
    Send Sanitize command to the <device>.
    This will delete the unmapped memory region of the device.
    mmc rpmb write-key <rpmb device> <key file>
    Program authentication key which is 32 bytes length and stored
    in the specified file. Also you can specify '-' instead of
    key file path to read the key from stdin.
    NOTE! This is a one-time programmable (unreversible) change.
    Example:
    $ echo -n AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHH | \
    mmc rpmb write-key /dev/mmcblk0rpmb -
    mmc rpmb read-counter <rpmb device>
    Counter value for the <rpmb device> will be read to stdout.
    mmc rpmb read-block <rpmb device> <address> <blocks count> <output file> [key file]
    Blocks of 256 bytes will be read from <rpmb device> to output
    file or stdout if '-' is specified. If key is specified - read
    data will be verified. Instead of regular path you can specify
    '-' to read key from stdin.
    Example:
    $ echo -n AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHH | \
    mmc rpmb read-block /dev/mmcblk0rpmb 0x02 2 /tmp/block -
    or read two blocks without verification
    $ mmc rpmb read-block /dev/mmcblk0rpmb 0x02 2 /tmp/block
    mmc rpmb write-block <rpmb device> <address> <256 byte data file> <key file>
    Block of 256 bytes will be written from data file to
    <rpmb device>. Also you can specify '-' instead of key
    file path or data file to read the data from stdin.
    Example:
    $ (awk 'BEGIN {while (c++<256) printf "a"}' | \
    echo -n AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHH) | \
    mmc rpmb write-block /dev/mmcblk0rpmb 0x02 - -
    mmc cache enable <device>
    Enable the eMMC cache feature on <device>.
    NOTE! The cache is an optional feature on devices >= eMMC4.5.
    mmc cache disable <device>
    Disable the eMMC cache feature on <device>.
    NOTE! The cache is an optional feature on devices >= eMMC4.5.
    mmc csd read <device path>
    Print CSD data from <device path>.
    The device path should specify the csd file directory.
    mmc cid read <device path>
    Print CID data from <device path>.
    The device path should specify the cid file directory.
    mmc scr read <device path>
    Print SCR data from <device path>.
    The device path should specify the scr file directory.
    mmc ffu <image name> <device>
    Run Field Firmware Update with <image name> on <device>.

    mmc erase <type> <start address> <end address> <device>
    Send Erase CMD38 with specific argument to the <device>

    NOTE!: This will delete all user data in the specified region of the device
    <type> must be: legacy | discard | secure-erase | secure-trim1 | secure-trim2 | trim

    mmc gen_cmd read <device> [arg]
    Send GEN_CMD (CMD56) to read vendor-specific format/meaning data from <device>

    NOTE!: [arg] is optional and defaults to 0x1. If [arg] is specified, then [arg]
    must be a 32-bit hexadecimal number, prefixed with 0x/0X. And bit0 in [arg] must
    be 1.

    mmc help|--help|-h
    Show the help.

    mmc <cmd> --help
    Show detailed help for a command or subset of commands.

    0.1
    root@j784s4-evm:~# mmc extcsd write 179 0x48 /dev/mmcblk0

    As writing partconf value from LINUX is getting failed, Itried from u-boot and observed following results.

    Observed mmc write is getting failed from U-Boot also, so tried mmc partconf 0 1 1 1 and confirmed the same from Linux space also as follows

    After setting all these, I tried booting from eMMC by changing boot switches accordingly and onserved same behaviour as before like stucking in booting

    Could you please look into the issue and let me know your suggestions at your earliest convenience.

    Regards,

    Naradham Dharanija

  • Hi Naradham,

    I see that a lot of commands are failing like setting partconf value in linux and mmc write commands in UBOOT which should not ideally happen.

    Hence, I would highly recommend trying all of these steps once in TI J784S4 EVM board and share the results when executing the commands in U-BOOT as well as in Linux,

    Regards

    Gokul

  • Hi Gokul,

    I tried fixing mmc write failure issue by updating mmc driver with latest version (ti-processor-sdk-linux-adas-j784s4-evm-11_00_00_08) as my curren version is https://www.ti.com/tool/download/PROCESSOR-SDK-LINUX-J784S4/09.02.00.05 as I found differences/upgradation in mmc_write.c but that didn't fix the issue and I am looking into it.

    So do you have any idea/suggestions on that particular issue?

    FYI, previously I worked on booting from eMMC in J721S2 EVM and were able to successfully boot from BOOT0/BOOT1 and UDA partitions of eMMC and able to mount the rootfs from eMMC UDA without aany issues.

    And in the case of  customised J784S4, as writing booting contents from u-boot was failed ,but achieved it from linux space.After that changed boot switches to common eMMC mode( as we don't have individual UDA/BOOT boot switches) and that's getting stuck at some point as mentioned before.

    So, do I need to do any other changes from u-boot level or other parts of SDK?

    Regards,

    Naradham Dharanija

  • Hi Naradham,

    I don't think it is a software issue. I am really suspecting the custom board to be creating the issue.

    Can you try with TI J784S4EVM board using the same software and share the results as that would definitely help us in narrowing down the issue.

    Regards

    Gokul

  • Hi Gokul,
    Now I am able to boot from eMMC in my custom board, by writing boot contents from linux space and able to mount rootfs from eMMC. But the thing is I want to automate the process through writing uEnv.txt into BOOT0 from linux space.and tried through same dd command for writing uEnv.txt but that didn't work out.So what's the alternative for this?
    Or else shall I update the  default partitions that will be accessed for eMMC booting,then which file I need to update ? if yes, how can I achieve that (where my boot contents are in BOOT0 currently and where to put uEnv.txt and also my rootfs is in p2 of UDA currently?
    Please suggest me all the possiblities at your earliest covenience.

    Regards,

    Naradham Dharanija.