The next step would be the conversion of the probe functions in flashchips.c.
I think we may have overcomplicated the design for chips with smaller address masks. Can't we add two feature bits for address masks like #define ADDR_FULL (0x0 << 2) #define ADDR_555_AAA (0x1 << 2) #define ADDR_555_2AA (0x2 << 2) #define ADDR_whatever (0x3 << 2) with ADDR_FULL being the default value? That way, we need only one probe_jedec function which checks the feature bits and sets the mask based on the ADDR_foo defines. In case we want to handle those odd 16bit/8bit chips as well, we can add another feature bit (ADDR_LEFTSHIFT_ONE) for them.
About the register mapping bits: To be honest, I think we can't move the register mapping settings blindly from the old code, they are incorrect in more than one place. AFAICS it is not possible with current mainboard hardware to do any register mapping stuff on Parallel/SPI chips. Parallel chips don't have enough address lines, and SPI chips have a command interface anyway and the higher address bits are defined as don't care. OTOH, I think every LPC/FWH chip out there uses register mapping.
Regards, Carl-Daniel