Changes between Version 18 and Version 19 of venice/boot


Ignore:
Timestamp:
05/01/2025 05:59:14 PM (8 weeks ago)
Author:
Tim Harvey
Comment:

improve script to determine emmc boot device

Legend:

Unmodified
Added
Removed
Modified
  • venice/boot

    v18 v19  
    7979  - from Linux:
    8080{{{#!bash
    81 root@jammy-venice:~# mmc extcsd read /dev/mmcblk2 | grep PARTITION_CONFIG
    82 Boot configuration bytes [PARTITION_CONFIG: 0x08]
    83 root@jammy-venice:~# echo $(($((0x08 >> 3)) & 0x7)) # show bits[5:3]
    84 1
    85 root@jammy-venice:~# echo $(($(( $(mmc extcsd read /dev/mmcblk2 | sed -n 's/.*PARTITION_CONFIG: \(.*\)]/\1/p') >> 3)) & 0x7)) # 1-line version
    86 1
    87 }}}
    88   - BOOT_PARTITION_ENABLE is represented by {{{bits[5:3]}}} of PARTITION_CONFIG which can be read from the EXT CSD register 179 named 'PARTITION_CONFIG' (1=boot0, 2=boot1, 7=user)
     81PARTITION_CONFIG=$(mmc extcsd read /dev/mmcblk2 | grep PARTITION_CONFIG | grep -o "0x[0-9a-fA-F]\+")
     82BOOT_PARTITION_ENABLE=$(( $(( $((PARTITION_CONFIG)) & 0x38 )) >> 3)) # convert hex to dec and mask off bits[5:3] and shift
     83case $BOOT_PARTITION_ENABLE in
     84  1) echo boot0;; # Boot partition 1
     85  2) echo boot1;; # Boot partition 2
     86  7) echo user;; # User area
     87esac
     88}}}
    8989 * IMX8MM: Program boot firmware to user:
    9090  - from U-Boot