there are 2 layers to the write protectI'm a little confused by the language "/WP is pulled low by default". What does it mean for a pin to be "pulled low"? Is my interpretation correct that if I ever want to set eeprom_write_protect=0 so that I can update the eeprom again in the future, I just need to connect TP14 and TP1 (eg using a jumper wire) and boot from an sdcard with an upated "bootloader" image?
the pin itself, just protects the protection register
while the protection register, controls how much of the flash is write-protected
https://www.winbond.com/resource-files/ ... 20plus.pdf
i believe out of the box, the SRL and SRP are 0, so the /WP pin has no effect4.3 Write Protect (/WP)
The Write Protect (/WP) pin can be used to prevent the Status Register from being written. Used in
conjunction with the Status Register’s Block Protect (CMP, SEC, TB, BP2, BP1 and BP0) bits and Status
Register Protect (SRP) bits, a portion as small as a 4KB sector or the entire memory array can be hardware
protected. The /WP pin is active low.
but there is a pull-down resistor on /WP, so once you do enable write-protect (booting with eeprom_write_protect=1), it gets stuck
and only if you bridge TP14 and TP1, and boot with eeprom_write_protect=0, can you un-stick it
once cleared, you can then flash an update as normal, and you can use eeprom_write_protect=1 again to re-protect it
also of note:
https://wiki.mrchromebox.tech/Firmware_ ... Protection
you can use flashrom to both enable and disable write-protect, and also flash the firmware
so you could simply boot the system, press the jumper in place, run flashrom to unprotect, update, and then re-protect
Code:
root@raspberrypi:~# flashrom -p linux_spi:dev=/dev/spidev10.0 flashrom unknown on Linux 6.1.0-rpi8-rpi-2712 (aarch64)flashrom is free software, get the source code at https://flashrom.orgUsing clock_gettime for delay loops (clk_id: 1, resolution: 1ns).Using default 2000kHz clock. Use 'spispeed' parameter to override.Found Winbond flash chip "W25Q16.V" (2048 kB, SPI) on linux_spi.
in theory, you could protect just the part the rpi firmware uses
and leave the other half r/w
and poking my pi5 a bit with a volt meter, RP14 measures 0v and RP1 measures about 3.3v
so i would assume RP14 is the raw /WP pin, with a pulldown resistor, so it defaults to 0v
and then TP1 is a 3.3v supply rail
TP14 to gnd also measures about 1k
Statistics: Posted by cleverca22 — Sat Mar 09, 2024 4:09 am