Hi all,
I was able to run flashrom under Linux on PPC (big endian) hardware with two small modifications in internal.c and processor_enable.c (see attached patch). Not sure if this is the right way to do it but it seems to work for me.
Note that for Apple hardware you have to use a special power on method to make the flash chip accessible (hold power button until beep). On some models you have to press and hold an additional button on the machine ("programmer's button") or keyboard ("Command"). http://support.apple.com/kb/HT2322 http://support.apple.com/kb/DL1284 http://support.apple.com/kb/DL1126
I have tested this on two pieces of Apple hardware: "Mac Mini" (model ID: PowerMac10,1) and "Mac mini (Late 2005)" (model ID: PowerMac10,2): http://support.apple.com/kb/ht3476
By taking the hardware apart I can confirm they have the following flash chips:
PowerMac10,1: AMD Am29LV008BB-90EC PowerMac10,2: SHARP LH28F008BJT-BTLZ1
Flash chips seem to be mapped top-aligned in the 4GB address space. Looking at the Open Firmware forth code inside Apple's own firmware updates also suggests this is the case.
I was able to probe, read, write and erase on both machines. Read files seem to contain valid data.
Added support for LH28F008BJT-BTLZ1 and marked Am29LV008B as fully tested.
Logs and patches attached.
Please tell me if I should test something else!
Thanks, -mattias