Skip to content

OTP_DATA_PAGE1_LOCK1 set BL lock error  #2

Open
@maximus64

Description

@maximus64

Followed the instruction to lock chip but encounter error when burn lock for OTP_DATA_PAGE1_LOCK1 and OTP_DATA_PAGE2_LOCK1

ERROR: Cannot clear bits in OTP row(s): current value 040404, new value 101010

With fresh Pico 2 board, this value already programmed to 0x040404 and when run ./lock_chip.sh it refuse to burn since bit 3 is already set.

I think the script need to update to follow:

# Lock writes to PAGE1
picotool otp set --raw OTP_DATA_PAGE1_LOCK1 0x141414
picotool otp set --raw OTP_DATA_PAGE2_LOCK1 0x141414

So what is the actual OTP lock configuration of the Golden unit? is it will be 0x141414 or 0x101010?

Log:

$ ./lock_chip.sh 
Are you sure you want to fully lock down the chip?
Please type PLEASE LOCK to continue
PLEASE LOCK
ROW 0x0040  OLD_VALUE=0x000001: OTP_DATA_CRIT1
        "Page 1 critical boot flags (RBIT-8)"
    field DEBUG_DISABLE (bit 2)
ROW 0x004b  OLD_VALUE=0x000001: OTP_DATA_BOOT_FLAGS1
        "Disable/Enable boot paths/features in the RP2350 mask ROM. Disables always supersede enables. Enables are provided where there are other
        configurations in OTP that must be valid. (RBIT-3)"
    field KEY_INVALID (bits 8-11)
ROW 0x0040  OLD_VALUE=0x000005: OTP_DATA_CRIT1
        "Page 1 critical boot flags (RBIT-8)"
    field GLITCH_DETECTOR_ENABLE (bit 4)
ROW 0x0040  OLD_VALUE=0x000015: OTP_DATA_CRIT1
        "Page 1 critical boot flags (RBIT-8)"
    field GLITCH_DETECTOR_SENS (bits 5-6)
ROW 0x0f83  OLD_VALUE=0x040404: OTP_DATA_PAGE1_LOCK1
        "Lock configuration MSBs for page 1 (rows 0x40 through 0x7f). Locks are stored with 3-way majority vote encoding, so that bits can be set
        independently. This OTP location is always readable, and is write-protected by its own permissions."
ERROR: Cannot clear bits in OTP row(s): current value 040404, new value 101010

ROW 0x0f85  OLD_VALUE=0x040404: OTP_DATA_PAGE2_LOCK1
        "Lock configuration MSBs for page 2 (rows 0x80 through 0xbf). Locks are stored with 3-way majority vote encoding, so that bits can be set
        independently. This OTP location is always readable, and is write-protected by its own permissions."
ERROR: Cannot clear bits in OTP row(s): current value 040404, new value 101010

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions