I wrote...

static const struct cnl_mb_cfg memcfg = {
    …
};
Having been back and verified against the schematics, I have found a couple of value that were incorrect.

spd[1] and spd[3] needed to the set to NOT_EXISTING and the designed is not interleaved so .dq_pins_interleaved needed to be set to 0 not 1.

The board is now booting to a point where the last debug messages are:

enter handle_19:
 Booting from Hard Disk...
Booting from 0000:7c00 NULL

Thanks both for your help in getting to this point!

Next challenge is to sort out the VGA initialisation so that I can get something onto the screen!

-Andy.